New issue
Advanced search Search tips

Issue 648723 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Sep 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Shutdown crash in ~ScreenDimmer > SupervisedUserURLFilter::RemoveObserver

Project Member Reported by steve...@chromium.org, Sep 20 2016

Issue description

This is likely causing at least some amount of CQ and PFQ flakiness.

 0  chrome!SupervisedUserURLFilter::RemoveObserver [supervised_user_url_filter.cc : 478 + 0x14]
 1  chrome!ash::ScreenDimmer::~ScreenDimmer [screen_dimmer.cc : 35 + 0xb]
 2  chrome!ash::ScreenDimmer::~ScreenDimmer [screen_dimmer.cc : 36 + 0x5]
 3  chrome!chromeos::ChromeDisplayPowerServiceProviderDelegate::~ChromeDisplayPowerServiceProviderDelegate [unique_ptr.h : 76 + 0x9]
 4  chrome!chromeos::DisplayPowerServiceProvider::~DisplayPowerServiceProvider [unique_ptr.h : 76 + 0x6]
 5  chrome!chromeos::DisplayPowerServiceProvider::~DisplayPowerServiceProvider [display_power_service_provider.cc : 29 + 0x5]
 6  chrome!std::_Destroy_aux<false>::__destroy<std::unique_ptr<ManagePasswordItemsView::PasswordFormRow>*> [unique_ptr.h : 76 + 0x6]
 7  chrome!chromeos::CrosDBusServiceImpl::~CrosDBusServiceImpl [stl_construct.h : 126 + 0xd]
 8  chrome!chromeos::CrosDBusServiceImpl::~CrosDBusServiceImpl [cros_dbus_service.cc : 37 + 0x5]
 9  chrome!chromeos::CrosDBusService::Shutdown [cros_dbus_service.cc : 137 + 0x6]
10  chrome!std::default_delete<chromeos::internal::DBusServices>::operator() [chrome_browser_main_chromeos.cc : 277 + 0x5]
11  chrome!chromeos::ChromeBrowserMainPartsChromeos::PostDestroyThreads [unique_ptr.h : 344 + 0x5]
12  chrome!content::BrowserMainLoop::ShutdownThreadsAndCleanUp [browser_main_loop.cc : 1160 + 0x3]
13  chrome!content::BrowserMainRunnerImpl::Shutdown [browser_main_runner.cc : 211 + 0x5]
14  chrome!content::BrowserMain [browser_main.cc : 48 + 0x3]
15  chrome!content::ContentMainRunnerImpl::Run [content_main_runner.cc : 786 + 0xa]
16  chrome!content::ContentMain [content_main.cc : 20 + 0x8]
17  chrome!ChromeMain [chrome_main.cc : 85 + 0x8]
 
Cc: derat@chromium.org
+derat@

It seems a little dangerous that DisplayPowerServiceProvider owns its delegate, since the delegate contains ash code. We destroy dbus services pretty late in the shutdown process.


Comment 3 by sky@chromium.org, Sep 20 2016

Cc: -sky@chromium.org osh...@chromium.org
Owner: sky@chromium.org
Status: Started (was: Assigned)
This crash is from a refactoring I did. I'll fix it.
Project Member

Comment 4 by bugdroid1@chromium.org, Sep 21 2016

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

commit 2ce4166d48b553822dda8ab5cafa0042c36729c5
Author: sky <sky@chromium.org>
Date: Wed Sep 21 00:08:45 2016

Makes ScreenDimmer deal with the shell going away

Chrome may end up using ScreenDimmer in such a way that the ScreenDimmer is destroyed after the shell. This change makes ~ScreenDimmer deal with the shell having been destroyed so that it doesn't crash.

BUG= 648723 
TEST=covered by test
R=jamescook@chromium.org

Review-Url: https://codereview.chromium.org/2359633003
Cr-Commit-Position: refs/heads/master@{#419909}

[modify] https://crrev.com/2ce4166d48b553822dda8ab5cafa0042c36729c5/ash/common/wm/screen_dimmer.cc
[modify] https://crrev.com/2ce4166d48b553822dda8ab5cafa0042c36729c5/ash/wm/screen_dimmer_unittest.cc

Comment 5 by sky@chromium.org, Sep 21 2016

Status: Fixed (was: Started)

Comment 6 by dchan@chromium.org, Oct 7 2016

Labels: VerifyIn-55

Comment 7 by dchan@google.com, Nov 19 2016

Labels: VerifyIn-56

Comment 8 by dchan@google.com, Jan 21 2017

Labels: VerifyIn-57
Status: Verified (was: Fixed)

Sign in to add a comment