New issue
Advanced search Search tips

Issue 868536 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 27
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

DCHECK failure: g_cache.Get().config

Project Member Reported by mcnee@chromium.org, Jul 27

Issue description

Chrome Version: 70.0.3505.0
OS: Linux

I hit this DCHECK after chrome is open for about a minute or so. I tried running with a clean profile and it still happens.

[10761:10793:0727/171716.315680:FATAL:os_crypt_linux.cc(72)] Check failed: g_cache.Get().config. 
#0 0x7f6b60df1c9c base::debug::StackTrace::StackTrace()
#1 0x7f6b60d1f2eb logging::LogMessage::~LogMessage()
#2 0x7f6b5c495dca (anonymous namespace)::CreateKeyStorage()
#3 0x7f6b5c495f33 (anonymous namespace)::GetPasswordV11()
#4 0x7f6b5c495ad0 (anonymous namespace)::GetEncryptionKey()
#5 0x7f6b5c495605 OSCrypt::EncryptString()
#6 0x7f6b5c4a2319 net::SQLitePersistentCookieStore::Backend::Commit()
#7 0x7f6b5c49f93b _ZN4base8internal7InvokerINS0_9BindStateIMN3net20SQLiteChannelIDStore7BackendEFvvEJ13scoped_refptrIS5_EEEEFvvEE3RunEPNS0_13BindStateBaseE
#8 0x7f6b60cffe8d base::debug::TaskAnnotator::RunTask()
#9 0x7f6b60dab3c9 base::internal::TaskTracker::RunOrSkipTask()
#10 0x7f6b60e0652b base::internal::TaskTrackerPosix::RunOrSkipTask()
#11 0x7f6b60daa54c base::internal::TaskTracker::RunAndPopNextTask()
#12 0x7f6b60da00fd base::internal::SchedulerWorker::RunWorker()
#13 0x7f6b60d9fe94 base::internal::SchedulerWorker::RunPooledWorker()
#14 0x7f6b60e06e4f base::(anonymous namespace)::ThreadFunc()
#15 0x7f6b5565c494 start_thread
#16 0x7f6b535afa8f clone
 
Owner: mmenke@chromium.org
Status: Assigned (was: Untriaged)
From examining git log, https://chromium.googlesource.com/chromium/src/+/41e3c57070c2 seems like a possible culprit.
Going to go ahead and revert, but would you mind checking if https://cs.chromium.org/chromium/src/chrome/browser/chrome_browser_main_linux.cc?type=cs&q=OSCrypt::SetConfig&sq=package:chromium&g=0&l=82 is being hit locally for you on startup?
Status: Fixed (was: Assigned)
And reverted:  https://chromium-review.googlesource.com/c/chromium/src/+/1153232 (Added a link to this bug, but forgot to also include it in the bug line)
Re c#2: Yes, that line is reached during startup.

Also, I can get this to DCHECK instantly by clearing cookies from the settings page.
Weird...that should be setting the value that the DCHECK is claiming was null.  Anyhow, I'll dig into it next week.  Thanks for filing the bug!
I notice that &(g_cache.Get()) is different between OSCrypt::SetConfig and CreateKeyStorage.
Hrm...So maybe an issue with how two different targets are linking issue the component.
I can confirm that after updating past the revert, the DCHECK is no longer failing.

Also note that &(g_cache.Get()) is now consistent between the two functions.
Re c#7: Could be. I was indeed building with is_component_build = true

Project Member

Comment 10 by bugdroid1@chromium.org, Jul 31

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ef8aab106496a6b738170e26be9603be1fa15fa4

commit ef8aab106496a6b738170e26be9603be1fa15fa4
Author: Matt Menke <mmenke@chromium.org>
Date: Tue Jul 31 14:42:17 2018

Convert os_crypt from a source_set to a component

services/network and chrome/ both depend on os_crypt, which creates
problems with the component build when the NetworkService is
instantiated in-process, and caused
https://chromium.googlesource.com/chromium/src/+/41e3c57070c2 to be
reverted.

It also makes the component build to link os_crypt at least twice,
which seems not great.

Bug:  789644 ,  868536 
Change-Id: Ie964c51ea2b85a7ace63f76bb39524537fe69e2f
Cq-Include-Trybots: luci.chromium.try:linux_mojo
Reviewed-on: https://chromium-review.googlesource.com/1155309
Reviewed-by: Christos Froussios <cfroussios@chromium.org>
Commit-Queue: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579403}
[modify] https://crrev.com/ef8aab106496a6b738170e26be9603be1fa15fa4/components/os_crypt/BUILD.gn
[modify] https://crrev.com/ef8aab106496a6b738170e26be9603be1fa15fa4/components/os_crypt/ie7_password_win.h
[modify] https://crrev.com/ef8aab106496a6b738170e26be9603be1fa15fa4/components/os_crypt/key_storage_config_linux.h
[modify] https://crrev.com/ef8aab106496a6b738170e26be9603be1fa15fa4/components/os_crypt/key_storage_keyring.h
[modify] https://crrev.com/ef8aab106496a6b738170e26be9603be1fa15fa4/components/os_crypt/key_storage_kwallet.h
[modify] https://crrev.com/ef8aab106496a6b738170e26be9603be1fa15fa4/components/os_crypt/key_storage_libsecret.h
[modify] https://crrev.com/ef8aab106496a6b738170e26be9603be1fa15fa4/components/os_crypt/key_storage_linux.h
[modify] https://crrev.com/ef8aab106496a6b738170e26be9603be1fa15fa4/components/os_crypt/key_storage_util_linux.h
[modify] https://crrev.com/ef8aab106496a6b738170e26be9603be1fa15fa4/components/os_crypt/keychain_password_mac.h
[modify] https://crrev.com/ef8aab106496a6b738170e26be9603be1fa15fa4/components/os_crypt/keyring_util_linux.h
[modify] https://crrev.com/ef8aab106496a6b738170e26be9603be1fa15fa4/components/os_crypt/kwallet_dbus.h
[modify] https://crrev.com/ef8aab106496a6b738170e26be9603be1fa15fa4/components/os_crypt/libsecret_util_linux.h
[modify] https://crrev.com/ef8aab106496a6b738170e26be9603be1fa15fa4/components/os_crypt/os_crypt.h
[modify] https://crrev.com/ef8aab106496a6b738170e26be9603be1fa15fa4/components/os_crypt/os_crypt_switches.h

Sign in to add a comment