DCHECK fails on boot |
|||||||
Issue descriptionChrome Version: ToT (6c24932cd7b611cee16d664cb9de62c327c162d0) with dcheck_always_on OS: ChromeOS What steps will reproduce the problem? Boot What is the expected result? Login screen What happens instead? Nothing I have veyron_minnie which cannon symbolize stacks. So here's all I have: [1:1:1128/153603.247632:VERBOSE1:zygote_main_linux.cc(601)] ZygoteMain: initializing 2 fork delegates [1547:1547:1128/153603.352466:VERBOSE1:drm_display_host_manager.cc(89)] Failed to get DRM resources for '/dev/dri/card0': Invalid argument (22) [1547:1547:1128/153603.356242:VERBOSE1:drm_device_handle.cc(83)] Succeeded authenticating /dev/dri/card1 in 1 ms with 1 attempt(s) [1547:1547:1128/153603.359642:VERBOSE1:drm_util.cc(372)] Failed to get EDID blob for connector 32 [1791:1791:1128/153603.625280:ERROR:gpu_info.cc(103)] No active GPU found, returning primary GPU. [1547:1547:1128/153603.632799:VERBOSE1:update_display_configuration_task.cc(69)] OnDisplaysUpdated: new_display_state=SINGLE new_power_state=ALL_ON flags=1 force_configure=1 display_count=1 [1547:1547:1128/153603.633757:VERBOSE1:display_configurator.cc(212)] EnterState: display=SINGLE power=ALL_ON [1547:1547:1128/153603.633863:VERBOSE1:display_configurator.cc(1054)] OnConfigured: success=1 new_display_state=SINGLE new_power_state=ALL_ON [1547:1774:1128/153603.651627:WARNING:name_value_pairs_parser.cc(55)] Key block_devmode already has value (error), ignoring new value: 0 [1547:1774:1128/153603.651843:WARNING:name_value_pairs_parser.cc(55)] Key ActivateDate already has value 2015-24, ignoring new value: 2015-24 [1547:1774:1128/153603.651878:WARNING:name_value_pairs_parser.cc(55)] Key block_devmode already has value (error), ignoring new value: 0 [1547:1774:1128/153603.651906:WARNING:name_value_pairs_parser.cc(55)] Key check_enrollment already has value 0, ignoring new value: 0 [1547:1547:1128/153603.656351:WARNING:statistics_provider.cc(285)] Statistics loaded after waiting 22ms. [1547:1547:1128/153603.656423:ERROR:display_manager.cc(1735)] Could not find display:0 [1547:1547:1128/153603.933484:ERROR:input_method_manager_impl.cc(1031)] IMEEngine for "jkghodnilhceideoidjikpgommlajknk" is not registered [1547:1547:1128/153603.937561:VERBOSE1:chrome_session_manager.cc(196)] Starting Chrome with login/oobe screen. [1547:1547:1128/153603.937629:VERBOSE1:login_display_host_webui.cc(1342)] Showing OOBE screen: unknown [1547:1547:1128/153603.949537:VERBOSE1:login_display_host_webui.cc(1415)] Current locale: en-US [1547:1547:1128/153603.949854:VERBOSE1:input_events_blocker.cc(19)] InputEventsBlocker 0x129e4428 created. [1547:1547:1128/153603.950787:VERBOSE1:login_display_host_webui.cc(525)] Login WebUI >> zero_delay: 0 wait_for_wp_load_: 1 wait_for_pods_: 0 init_webui_hidden_: 1 [1547:1547:1128/153603.982085:VERBOSE1:login_display_host_webui.cc(764)] Login WebUI >> sign in [1547:1547:1128/153604.014481:VERBOSE1:login_display_host_webui.cc(1250)] Login WebUI >> login wnd is hidden on create [1547:1783:1128/153604.023292:WARNING:child_process_launcher_helper_posix.cc(118)] Ignoring invalid file v8_context_snapshot.bin [1547:1547:1128/153604.068438:VERBOSE1:login_display_host_webui.cc(774)] Starting sign in screen [1547:1547:1128/153604.070009:VERBOSE1:input_events_blocker.cc(28)] InputEventsBlocker 0x129e4428 destroyed. [1547:1547:1128/153604.104838:VERBOSE1:display_configurator.cc(902)] SetDisplayPower: power_state=ALL_ON flags=0, configure timer=Stopped [1547:1547:1128/153604.121878:FATAL:weak_ptr.cc(26)] Check failed: sequence_checker_.CalledOnValidSequence(). WeakPtrs must be checked on the same sequenced thread. [1871:1871:1128/153604.162277:ERROR:gpu_info.cc(103)] No active GPU found, returning primary GPU.
,
Nov 29 2017
Seems I did something wrong. Here's trace: #0 0x00000ab81200 base::debug::StackTrace::StackTrace() #1 0x00000ab80760 base::debug::StackTrace::StackTrace() #2 0x00000abba7b4 logging::LogMessage::~LogMessage() #3 0x00000abca6e2 base::internal::WeakReference::Flag::IsValid() #4 0x00000abca808 base::internal::WeakReference::is_valid() #5 0x000005eec988 base::WeakPtr<>::get() #6 0x000005eec90a base::WeakPtr<>::operator bool() #7 0x000006348fda base::ObserverList<>::Iter::Iter() #8 0x000006347560 base::ObserverList<>::begin() #9 0x0000063457b8 ui::DrmGpuPlatformSupportHost::OnChannelEstablished() #10 0x00000634967a _ZN4base8internal13FunctorTraitsIMN2ui25DrmGpuPlatformSupportHostEFvvEvE6InvokeIRKNS_7WeakPtrIS3_EEJEEEvS5_OT_DpOT0_ #11 0x000006349618 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN2ui25DrmGpuPlatformSupportHostEFvvERKNS_7WeakPtrIS5_EEJEEEvOT_OT0_DpOT1_ #12 0x0000063495d8 _ZN4base8internal7InvokerINS0_9BindStateIMN2ui25DrmGpuPlatformSupportHostEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLj0EEEEvOT_OT0_NSF_16integer_sequenceIjJXspT1_EEEE #13 0x00000634955c _ZN4base8internal7InvokerINS0_9BindStateIMN2ui25DrmGpuPlatformSupportHostEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE #14 0x000005e60e70 _ZNO4base12OnceCallbackIFvvEE3RunEv #15 0x00000ab830b0 base::debug::TaskAnnotator::RunTask() #16 0x00000acf8c24 base::internal::IncomingTaskQueue::RunTask() #17 0x00000abcd06a base::MessageLoop::RunTask() #18 0x00000abcd266 base::MessageLoop::DeferOrRunPendingTask() #19 0x00000abcd434 base::MessageLoop::DoWork() #20 0x00000abd0fc4 base::MessagePumpLibevent::Run() #21 0x00000abccb86 base::MessageLoop::Run() #22 0x00000ac242b0 base::RunLoop::Run() #23 0x00000a357cbc ChromeBrowserMainParts::MainMessageLoopRun() #24 0x0000071e15bc content::BrowserMainLoop::RunMainMessageLoopParts() #25 0x0000071e8e52 content::BrowserMainRunnerImpl::Run() #26 0x0000071d9c6a content::BrowserMain() #27 0x00000a327fa4 content::RunNamedProcessTypeMain() #28 0x00000a329fd8 content::ContentMainRunnerImpl::Run() #29 0x00000a3247a8 content::ContentServiceManagerMainDelegate::RunEmbedderProcess() #30 0x00000a340e74 service_manager::Main() #31 0x00000a32770a content::ContentMain() #32 0x000005d45260 ChromeMain #33 0x000005d4517a main #34 0x0000a6a978a0 __libc_start_main
,
Nov 29 2017
Reassigning to rjkroege@ that knows DrmGpuPlatformSupportHost better than I do. @#1: you say you don't hit this DCHECK in a debug build. Does it mean you hit it in a release build with dchekcs on?
,
Nov 29 2017
Yes, I couldn't get a stack trace in release at first but here it is: [3697:3697:1129/203827.738248:FATAL:weak_ptr.cc(26)] Check failed: sequence_checker_.CalledOnValidSequence(). WeakPtrs must be checked on the same sequenced thread. #0 0x00000d939e2c base::debug::StackTrace::StackTrace() #1 0x00000d94f4c8 logging::LogMessage::~LogMessage() #2 0x00000d95579a base::internal::WeakReference::is_valid() #3 0x00000bc9b34a base::ObserverList<>::Iter::Iter() #4 0x00000bc998ec ui::DrmGpuPlatformSupportHost::OnChannelEstablished() #5 0x00000bc9b722 _ZN4base8internal7InvokerINS0_9BindStateIMN2ui25DrmGpuPlatformSupportHostEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE #6 0x00000d93a420 base::debug::TaskAnnotator::RunTask() #7 0x00000d9cbc82 base::internal::IncomingTaskQueue::RunTask() #8 0x00000d957114 base::MessageLoop::RunTask() #9 0x00000d9573ee base::MessageLoop::DeferOrRunPendingTask() #10 0x00000d957594 base::MessageLoop::DoWork() #11 0x00000d959238 base::MessagePumpLibevent::Run() #12 0x00000d956bd6 base::MessageLoop::Run() #13 0x00000d977cb8 base::RunLoop::Run() #14 0x00000d667c9e ChromeBrowserMainParts::MainMessageLoopRun() #15 0x00000c10ffee content::BrowserMainLoop::RunMainMessageLoopParts() #16 0x00000c112594 content::BrowserMainRunnerImpl::Run() #17 0x00000c10cf0e content::BrowserMain() #18 0x00000d656578 content::ContentMainRunnerImpl::Run() #19 0x00000d65e822 service_manager::Main() #20 0x00000d6554d0 content::ContentMain() #21 0x00000ba58624 ChromeMain #22 0x0000afa6f8a0 __libc_start_main
,
Nov 30 2017
FYI: https://cs.chromium.org/chromium/src/ui/ozone/platform/drm/host/drm_gpu_platform_support_host.cc?l=123 Looks like thread-safeness issue. This method runs on non-UI method according to the DCHECK at L112, but it binds weakptr and PostTask()s to UI thread. WeakPtr is signle-threaded object, and so it could be race.
,
Nov 30 2017
ObserverList gpu_thread_observers_ is not thread safe, and after crrev.com/c/2820463002 it is accessed from two different task runners. Assigning to sadrul@ that was the original author of that CL.
,
Nov 30 2017
That has been the case before that CL. See issue 711333
,
Dec 4 2017
BTW, I couldn't find a single bot that would fail this seemingly simple test. Is that a concern at all?
,
Feb 2 2018
,
Aug 1
,
Nov 22
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by vkuzkokov@chromium.org
, Nov 29 2017