DCHECK failure in ThemeServiceWin::GetDefaultColor() |
|||
Issue descriptionThis is causing interactive_ui_tests failures for me on trybots, as mentioned in https://bugs.chromium.org/p/chromium/issues/detail?id=640996#c14 - Please try to fix this soon, as it is likely an easy fix and will help with the ongoing high amount of trybot flakiness. Since bug 640996 seems to predate the code in question from r441254, I'm splitting it off into a separate bug: UserDataDowngradeBrowserNoMSITest.Test failed for my CL try jobs too: https://logs.chromium.org/v/?s=chromium%2Fbb%2Ftryserver.chromium.win%2Fwin10_chromium_x64_rel_ng%2F30746%2F%2B%2Frecipes%2Fsteps%2Finteractive_ui_tests__with_patch__on_Windows-10-14393%2F0%2Flogs%2FUserDataDowngradeBrowserNoMSITest.Test%2F0 [7160:2116:1120/110458.018:FATAL:optional.h(204)] Check failed: !storage_.is_null_. Backtrace: base::debug::StackTrace::StackTrace [0x00007FF766106144+36] logging::LogMessage::~LogMessage [0x00007FF76604C76E+94] base::Optional<int>::value [0x00007FF768338789+89] ThemeServiceWin::GetDefaultColor [0x00007FF769468632+162] ThemeService::GetColor [0x00007FF7677B5C66+198] In ThemeServiceWin, |dwm_frame_color_| and |dwm_inactive_frame_color_| are the only base::Optional members. The only use of |dwm_frame_color_| in ThemeServiceWin::GetDefaultColor() is guarded with a check, so that leaves the use of |dwm_inactive_frame_color_| as the culprit for this failure.
,
Nov 20 2017
Maybe https://chromium-review.googlesource.com/780044 will do the trick.
,
Nov 20 2017
#2: Yeah, that's probably it. I don't see another way for inactive_frame_color_from_registry_ to be true and dwm_inactive_frame_color_ to be null.
,
Nov 20 2017
CL out for review. Not sure how that uninitialized variable survived for so long without anyone noticing.
,
Nov 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c6b55fc32b3b0ee699a0e451f12fcc0c2278eff1 commit c6b55fc32b3b0ee699a0e451f12fcc0c2278eff1 Author: Lei Zhang <thestig@chromium.org> Date: Tue Nov 21 01:39:58 2017 Initialize ThemeServiceWin::inactive_frame_color_from_registry_ BUG= 787073 Change-Id: I92233b5471ec36b73db004ec01eb6feb17401769 Reviewed-on: https://chromium-review.googlesource.com/780044 Reviewed-by: Bret Sepulveda <bsep@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org> Cr-Commit-Position: refs/heads/master@{#518044} [modify] https://crrev.com/c6b55fc32b3b0ee699a0e451f12fcc0c2278eff1/chrome/browser/themes/theme_service_win.h
,
Nov 21 2017
Thanks for the quick fix. I'm guessing it wasn't caught because the machine has to be in a state where the registry key SOFTWARE\Microsoft\Windows\DWM is invalid (so it doesn't immediately call OnDwmKeyUpdated). That's quite a bizarre state to be in... I wonder if it's some kind of physical disk failure?
,
Nov 21 2017
bsep: Can you file a separate infra bug, if you suspect there are Windows machines in an odd state? |
|||
►
Sign in to add a comment |
|||
Comment 1 by est...@chromium.org
, Nov 20 2017