Issue metadata
Sign in to add a comment
|
Chrome_Mac: Crash Report - [ThreadWatcher UI hang] history::HistoryService::InMemoryDatabase |
||||||||||||||||||||||
Issue descriptionreporter:pbommana@google.com Magic Signature: [ThreadWatcher UI hang] history::HistoryService::InMemoryDatabase Crash link: https://crash.corp.google.com//browse?q=expanded_custom_data.ChromeCrashProto.ptype%3D'browser'%20AND%20expanded_custom_data.ChromeCrashProto.magic_signature_1.name%3D'%5BThreadWatcher%20UI%20hang%5D%20history%3A%3AHistoryService%3A%3AInMemoryDatabase'%20AND%20ReportID%3D'4f7a429a121e6315'&sql_dialect=googlesql&ignore_case=false&enable_rewrite=true&omit_field_name=&omit_field_value=&omit_field_opt=%3D#3 ------------------------------------------------------------------------------- Sample Report ------------------------------------------------------------------------------- Product name: Chrome_Mac Magic Signature : [ThreadWatcher UI hang] history::HistoryService::InMemoryDatabase Product Version: 66.0.3332.0 Process type: browser Report ID: 4f7a429a121e6315 Report Url: https://crash.corp.google.com/4f7a429a121e6315 Report Time: 2018-01-26T04:30:42-08:00 Upload Time: 2018-01-26T04:35:32.764-08:00 Uptime: 768000 ms CumulativeProductUptime: 0 ms OS Name: Mac OS X OS Version: 10.13.1 17B1003 CPU Architecture: amd64 CPU Info: family 6 model 23 stepping 10 ------------------------------------------------------------------------------- Crashing thread: Thread index: 0. Stack Quality: 77%. Thread id: 3464. ------------------------------------------------------------------------------- 0x00000001177e5dd0 (Google Chrome Framework - history_service.cc: 233) history::HistoryService::InMemoryDatabase() 0x0000000115b3aed1 (Google Chrome Framework - autocomplete_action_predictor_factory.cc: 47) predictors::AutocompleteActionPredictorFactory::BuildServiceInstanceFor(content::BrowserContext*) const 0x0000000117e32a24 (Google Chrome Framework - browser_context_keyed_service_factory.cc: 98) BrowserContextKeyedServiceFactory::BuildServiceInstanceFor(base::SupportsUserData*) const 0x00000001176151e6 (Google Chrome Framework - keyed_service_factory.cc: 89) KeyedServiceFactory::GetServiceForContext(base::SupportsUserData*, bool) 0x000000011848597e (Google Chrome Framework - chrome_omnibox_client.cc: 381) ChromeOmniboxClient::OnRevert() 0x000000011835f7af (Google Chrome Framework - omnibox_edit_model.cc: 396) OmniboxEditModel::Revert() 0x0000000118368bdc (Google Chrome Framework - omnibox_view.cc: 127) OmniboxView::RevertAll() 0x00000001186303fd (Google Chrome Framework - omnibox_view_mac.mm: 395) OmniboxViewMac::RevertAll() 0x000000011862fc08 (Google Chrome Framework - omnibox_view_mac.mm: 243) OmniboxViewMac::Update() 0x00000001186187fe (Google Chrome Framework - autocomplete_text_field.mm: 435) -[AutocompleteTextField viewDidMoveToWindow] 0x00007fff2737a2dd (AppKit + 0x000242dd) -[NSView _setWindow:] 0x00007fff27385522 (AppKit + 0x0002f522) -[NSControl _setWindow:] 0x00007fff29d8c04e (CoreFoundation + 0x0008804e) -[__NSArrayM enumerateObjectsWithOptions:usingBlock:] 0x00007fff27c3f0c0 (AppKit + 0x008e90c0) __21-[NSView _setWindow:]_block_invoke.604 0x00007fff2737a22e (AppKit + 0x0002422e) -[NSView _setWindow:] 0x00007fff27377300 (AppKit + 0x00021300) -[NSView addSubview:] 0x00007fff273afff1 (AppKit + 0x00059ff1) -[NSView addSubview:positioned:relativeTo:] 0x00000001185bcae0 (Google Chrome Framework - browser_window_controller_private.mm: 1076) -[BrowserWindowController(Private) setContentViewSubviews:] 0x00000001185bc4dc (Google Chrome Framework - browser_window_controller_private.mm: 1004) -[BrowserWindowController(Private) updateSubviewZOrderNormal] 0x00000001185b97d6 (Google Chrome Framework - browser_window_controller_private.mm: 239) -[BrowserWindowController(Private) layoutSubviews] 0x00000001185b3356 (Google Chrome Framework - browser_window_controller.mm: 395) -[BrowserWindowController initWithBrowser:takeOwnership:] 0x00000001185bd131 (Google Chrome Framework - browser_window_factory_cocoa.mm: 15) BrowserWindow::CreateBrowserWindow(Browser*, bool) 0x000000011845d562 (Google Chrome Framework - browser.cc: 259) Browser::Browser(Browser::CreateParams const&) 0x00000001184996d1 (Google Chrome Framework - startup_browser_creator_impl.cc: 418) StartupBrowserCreatorImpl::OpenTabsInBrowser(Browser*, bool, std::__1::vector<StartupTab, std::__1::allocator<StartupTab> > const&) 0x000000011849a484 (Google Chrome Framework - startup_browser_creator_impl.cc: 754) StartupBrowserCreatorImpl::RestoreOrCreateBrowser(std::__1::vector<StartupTab, std::__1::allocator<StartupTab> > const&, StartupBrowserCreatorImpl::BrowserOpenBehavior, unsigned int, bool, bool) 0x00000001184992fc (Google Chrome Framework - startup_browser_creator_impl.cc: 639) StartupBrowserCreatorImpl::DetermineURLsAndLaunch(bool, std::__1::vector<GURL, std::__1::allocator<GURL> > const&) 0x0000000118498c54 (Google Chrome Framework - startup_browser_creator_impl.cc: 348) StartupBrowserCreatorImpl::Launch(Profile*, std::__1::vector<GURL, std::__1::allocator<GURL> > const&, bool) 0x00000001184960cf (Google Chrome Framework - startup_browser_creator.cc: 351) StartupBrowserCreator::LaunchBrowser(base::CommandLine const&, Profile*, base::FilePath const&, chrome::startup::IsProcessStartup, chrome::startup::IsFirstRun) 0x0000000118495bab (Google Chrome Framework - startup_browser_creator.cc: 720) StartupBrowserCreator::ProcessCmdLineImpl(base::CommandLine const&, base::FilePath const&, bool, Profile*, std::__1::vector<Profile*, std::__1::allocator<Profile*> > const&) 0x0000000118495606 (Google Chrome Framework - startup_browser_creator.cc: 306) StartupBrowserCreator::Start(base::CommandLine const&, base::FilePath const&, Profile*, std::__1::vector<Profile*, std::__1::allocator<Profile*> > const&) 0x0000000115a25343 (Google Chrome Framework - chrome_browser_main.cc: 1883) ChromeBrowserMainParts::PreMainMessageLoopRunImpl() 0x0000000115a2412d (Google Chrome Framework - chrome_browser_main.cc: 1258) ChromeBrowserMainParts::PreMainMessageLoopRun() 0x0000000114799852 (Google Chrome Framework - browser_main_loop.cc: 1240) content::BrowserMainLoop::PreMainMessageLoopRun() 0x0000000114b455f6 (Google Chrome Framework - callback.h: 94) content::StartupTaskRunner::RunAllTasksNow() 0x0000000114797ce4 (Google Chrome Framework - browser_main_loop.cc: 1015) content::BrowserMainLoop::CreateStartupTasks() 0x000000011479c03f (Google Chrome Framework - browser_main_runner.cc: 124) content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&) 0x0000000114795e33 (Google Chrome Framework - browser_main.cc: 42) content::BrowserMain(content::MainFunctionParams const&) 0x00000001159d8acf (Google Chrome Framework - content_main_runner.cc: 713) content::ContentMainRunnerImpl::Run() 0x000000011734bc1a (Google Chrome Framework - main.cc: 456) service_manager::Main(service_manager::MainParams const&) 0x00000001159d8013 (Google Chrome Framework - content_main.cc: 19) content::ContentMain(content::ContentMainParams const&) 0x0000000113f94b69 (Google Chrome Framework - chrome_main.cc: 129) ChromeMain 0x000000010d76fdd3 (Google Chrome Canary + 0x00000dd3) 0x00007fff51406144 (libdyld.dylib + 0x00001144) start 0x00007fff51406144 (libdyld.dylib + 0x00001144) start
,
Jan 26 2018
Looking into this it seems unlikely to have been caused by the stack profiling. The profiler thread is not active during the hang, so barring some major bug the UI thread could not have been suspended by it at the time of this hang. The code on the UI thread is just executing an accessor, so the executing code seems unlikely to be directly responsible. There is a ton of file I/O happening in the other threads, however. Possibly the system was thrashing sufficiently badly that paging in the code took long enough to trigger the thread watcher? This client has two other hangs as well, one of which also involves a bunch of file I/O. +lgrey@ for any additional thoughts.
,
Jan 26 2018
Nothing to add here. Not seeing anything interesting (or sampler related) in the threads or crash keys beyond what wittman@ noted.
,
Jan 30 2018
gab recently fixed a bug where we weren't reporting UI thread hangs [can't seem to find a link right now]. So this is probably an old problem that is now being reported. Seems like a standard too much disk-IO contention issue. Not sure there's anything for us to do about this.
,
Jan 30 2018
Re. #4: resurrecting hang reports was done in issue 804345 Unfortunately had to disable UI thread hang reports because of issue 806174 (but this report does look real and interesting..!). It almost certainly isn't new and was just brought up by fixing issue 804345 . @wittman: these are exactly the kind of cases I was mentioning the other day where it would be awesome to be able to say with sampling profiler that history::HistoryService::InMemoryDatabase() is much slower when contending with sessions::SessionBackend::MoveCurrentSessionToLastSession(). And it sounds like MoveCurrentSessionToLastSession() could be done as a BACKGROUND task in this case :)?! Looks like there are some component_updater DeleteFile() calls running as well. Those appear to be scheduled as BACKGROUND [1] though -- but I think we shouldn't run BACKGROUND tasks during startup. @fdoray who's already conveniently looking into: 1) Spotting work that would be better off in the background 2) Enabling UI threads hangs which may well be a good signal for this until sampling profiler gets there 3) Aggressively removing BACKGROUND work from the startup path (and any other critical path for that matter). [1] https://cs.chromium.org/chromium/src/components/component_updater/component_installer.cc?type=cs&q=file:component_installer.cc+base::TaskPriority::BACKGROUND PS @QA: please mark hangs as Stability-Hang (not Stability-Crash) and do not put Restrict-View-* on them (they have no security risk nor private data).
,
Jul 4
Crash analysis has not encountered any reports for this bug for the past 90 days. We have added the label 'crash-BugNoRepro' Crash analysis will be automatically closing the bug in 10 days. If you do not want Crash analysis to automatically close the bug, please remove the label 'crash-BugNoRepro'. If you have any feedback on this feature, please contact pranavk@
,
Jul 5
No repro for the past 90 days. Assuming it was fixed. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by pbomm...@chromium.org
, Jan 26 2018Components: Internals
Labels: -Type-Bug -Pri-2 TE-CrashTriage M-66 FoundIn-66 Pri-3 Type-Bug-Regression