New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 598361 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

CrOS beta crashes every time when connecting/disconnecting external monitor(s)

Project Member Reported by ankurrathi@google.com, Mar 28 2016

Issue description

Chrome Version       : 50.0.2661.50
OS Version: 7978.29.0
URLs (if applicable) :
Crash IDs:
f661707800000000
bbbad0e400000000
a20d63f400000000
74236ab800000000
a1d863f400000000
4dd86ab800000000


What steps will reproduce the problem?
1. Connect/disconnect external monitor(s)
2.
3.

What is the expected result?
No crash - external monitor connects and displays successfully

What happens instead of that?
CrOS crashes, after restarting, external monitor displays successfully


Please provide any additional information below. Attach a screenshot if
possible.

UserAgentString: Mozilla/5.0 (X11; CrOS x86_64 7978.29.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.50 Safari/537.36



 

Comment 1 by olofj@chromium.org, Mar 28 2016

Cc: josa...@chromium.org
Components: Internals>Graphics
Labels: -Pri-3 Pri-1
Owner: abodenha@chromium.org
Example stack from one crash (a20d63f400000000):

Thread 0 CRASHED [SIGABRT @ 0x000003e800002752 ] MAGIC SIGNATURE THREAD
0x00007f03256abb82	(libc-2.19.so -raise.c:56 )	raise
0x00007f03256ad89f	(libc-2.19.so -abort.c:89 )	abort
0x00007f03261c8624	(libstdc++.so.6.0.20 -vterminate.cc:95 )	__gnu_cxx::__verbose_terminate_handler
0x00007f03261c6365	(libstdc++.so.6.0.20 -eh_terminate.cc:47 )	__cxxabiv1::__terminate
0x00007f03261c63b0	(libstdc++.so.6.0.20 -eh_terminate.cc:57 )	std::terminate
0x00007f03261c6620	(libstdc++.so.6.0.20 -eh_throw.cc:87 )	__cxxabiv1::__cxa_throw
0x00007f03262235d0	(libstdc++.so.6.0.20 -functexcept.cc:101 )	std::__throw_out_of_range_fmt
0x00007f0328236d51	(chrome -stl_vector.h:898 )	std::vector<DesktopMediaList::Source, std::allocator<DesktopMediaList::Source> >::_M_range_check
0x00007f032a438bc6	(chrome -stl_vector.h:864 )	ash::DisplayManager::UpdateDisplaysWith
0x00007f032a439c96	(chrome -display_manager.cc:630 )	ash::DisplayManager::OnNativeDisplaysChanged
0x00007f032a4ac91c	(chrome -display_change_observer_chromeos.cc:272 )	ash::DisplayChangeObserver::OnDisplayModeChanged
0x00007f032ac9d9db	(chrome -display_configurator.cc:1095 )	ui::DisplayConfigurator::NotifyObservers
0x00007f032ac9db9f	(chrome -display_configurator.cc:1038 )	ui::DisplayConfigurator::OnConfigured
0x00007f032ac9c163	(chrome -bind_internal.h:181 )	base::internal::Invoker<base::IndexSequence<0ul>, base::internal::BindState<base::internal::RunnableAdapter<void (ui::DisplayConfigurator::*)(bool, const std::vector<ui::DisplaySnapshot*, std::allocator<ui::DisplaySnapshot*> >&, const gfx::Size&, ui::MultipleDisplayState, chromeos::DisplayPowerState)>, void(ui::DisplayConfigurator*, bool, const std::vector<ui::DisplaySnapshot*, std::allocator<ui::DisplaySnapshot*> >&, const gfx::Size&, ui::MultipleDisplayState, chromeos::DisplayPowerState), base::WeakPtr<ui::DisplayConfigurator> >, base::internal::InvokeHelper<true, void, base::internal::RunnableAdapter<void (ui::DisplayConfigurator::*)(bool, const std::vector<ui::DisplaySnapshot*, std::allocator<ui::DisplaySnapshot*> >&, const gfx::Size&, ui::MultipleDisplayState, chromeos::DisplayPowerState)> >, void(bool const&, const std::vector<ui::DisplaySnapshot*, std::allocator<ui::DisplaySnapshot*> >&, const gfx::Size&, const ui::MultipleDisplayState&, const chromeos::DisplayPowerState&)>::Run
0x00007f032aca1cc7	(chrome -callback.h:394 )	ui::UpdateDisplayConfigurationTask::FinishConfiguration
0x00007f032aca1f28	(chrome -update_display_configuration_task.cc:139 )	ui::UpdateDisplayConfigurationTask::OnStateEntered
0x00007f0327c6e866	(chrome -bind_internal.h:181 )	base::internal::Invoker<base::IndexSequence<0ul>, base::internal::BindState<base::internal::RunnableAdapter<void (ChromeDownloadManagerDelegate::*)(unsigned int)>, void(ChromeDownloadManagerDelegate*, unsigned int), base::WeakPtr<ChromeDownloadManagerDelegate> >, base::internal::InvokeHelper<true, void, base::internal::RunnableAdapter<void (ChromeDownloadManagerDelegate::*)(unsigned int)> >, void(unsigned int const&)>::Run
0x00007f032aca3835	(chrome -callback.h:394 )	ui::ConfigureDisplaysTask::Run
0x00007f032aca349b	(chrome -configure_displays_task.cc:109 )	ui::ConfigureDisplaysTask::OnConfigured
0x00007f032822ca5b	(chrome -bind_internal.h:181 )	base::internal::Invoker<base::IndexSequence<0ul, 1ul>, base::internal::BindState<base::internal::RunnableAdapter<void (chromeos::EasyUnlockCreateKeysOperation::*)(long unsigned int, bool)>, void(chromeos::EasyUnlockCreateKeysOperation*, long unsigned int, bool), base::WeakPtr<chromeos::EasyUnlockCreateKeysOperation>, long unsigned int&>, base::internal::InvokeHelper<true, void, base::internal::RunnableAdapter<void (chromeos::EasyUnlockCreateKeysOperation::*)(long unsigned int, bool)> >, void(bool const&)>::Run
0x00007f03282174c5	(chrome -callback.h:394 )	base::internal::Invoker<base::IndexSequence<0ul>, base::internal::BindState<base::Callback<void(ExtensionInstallPrompt::Result)>, void(ExtensionInstallPrompt::Result), ExtensionInstallPrompt::Result>, base::internal::InvokeHelper<false, void, base::Callback<void(ExtensionInstallPrompt::Result)> >, void()>::Run
0x00007f0327c8ac98	(chrome -callback.h:394 )	base::debug::TaskAnnotator::RunTask
0x00007f0327c79439	(chrome -message_loop.cc:476 )	base::MessageLoop::DoWork
0x00007f0327c70032	(chrome -message_pump_libevent.cc:229 )	base::MessagePumpLibevent::Run
0x00007f0328555da8	(chrome -run_loop.cc:35 )	base::RunLoop::Run
0x00007f032b890364	(chrome -chrome_browser_main.cc:1809 )	ChromeBrowserMainParts::MainMessageLoopRun
0x00007f032a6bba7a	(chrome -browser_main_loop.cc:950 )	content::BrowserMainLoop::RunMainMessageLoopParts
0x00007f032a50f254	(chrome -browser_main_runner.cc:152 )	content::BrowserMainRunnerImpl::Run
0x00007f032a50f132	(chrome -browser_main.cc:44 )	content::BrowserMain
0x00007f03285074f9	(chrome -content_main_runner.cc:764 )	content::ContentMainRunnerImpl::Run
0x00007f03285061ca	(chrome -content_main.cc:19 )	content::ContentMain
0x00007f032819fcbe	(chrome -chrome_main.cc:84 )	ChromeMain
0x00007f0325696fb5	(libc-2.19.so -libc-start.c:292 )	__libc_start_main
0x00007f032819fb16	(chrome + 0x0115ab16 )	
0x00007ffece26c1b7	

#CBC-RS/TC-watchlist
Cc: kerrnel@chromium.org
Labels: ReleaseBlock-Stable M-50
Looks similar to bug 461246. +kerrnel@ in case something obvious stands out.
Odd. The call stack points to a networking issue, but the symptoms are display related.
Owner: jdufault@chromium.org
2 different crashes.

The display crash is 5d6b447800000000 which points to a CL landed by jdufault@ recently.
Status: Assigned (was: Unconfirmed)
Cc: jdufault@chromium.org
Owner: osh...@chromium.org
Passing to oshima@. My change there was renaming a method
oshima@ Can you please update on whether this is something networking or display related? This is currently stable blcoking.
Bug 461246 was an upstream bug in OS X, so it wouldn't be manifesting on Chrome OS.
Update on reproduction steps.  Crash _only_ occurs in the following cases:
1. If no monitors are connected, connecting an external monitor to the left-side USB C port.
2. If two external monitors are already connected, first disconnecting the external monitor from the right-side USB C port.

In other words, if I have a single external monitor that I only connect to the left-side USB C port, no crashes occur.  If I have two external monitors that I connect, and always connect;disconnect in this order: right, left; left, right - no crashes occur.

I know it sounds weird, and maybe it's a hardware issue (though it only started happening on the latest beta update).  I'm happy to reproduce in person or over video chat if needed.
Cc: keta...@chromium.org
Labels: Merge-Request-50
ketakid@, I need an approval for CL dedicated for m50 because it's already changed on 51.

https://codereview.chromium.org/1849683003/
Labels: -Merge-Request-50 Merge-Approved-50
Approving merge to M50.
Project Member

Comment 13 by bugdroid1@chromium.org, Apr 1 2016

Labels: -merge-approved-50 merge-merged-2661
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1c7d95a04623a06254e0563fbd9e65e779a10eec

commit 1c7d95a04623a06254e0563fbd9e65e779a10eec
Author: Mitsuru Oshima <oshima@chromium.org>
Date: Fri Apr 01 21:30:20 2016

Do not register invalid layout

This has been fixed on 51, but we need slightly different CL for 50.

BUG= 598361 
R=stevenjb@chromium.org

Review URL: https://codereview.chromium.org/1849683003 .

Cr-Commit-Position: refs/branch-heads/2661@{#462}
Cr-Branched-From: ef6f6ae5e4c96622286b563658d5cd62a6cf1197-refs/heads/master@{#378081}

[modify] https://crrev.com/1c7d95a04623a06254e0563fbd9e65e779a10eec/ash/display/display_layout.cc
[modify] https://crrev.com/1c7d95a04623a06254e0563fbd9e65e779a10eec/ash/display/display_layout_store.cc
[modify] https://crrev.com/1c7d95a04623a06254e0563fbd9e65e779a10eec/ash/display/display_manager_unittest.cc

oshima@ if this issue is validated should we close this issue?
Let's wait for ankurrathi@ to confirm.
Just FYI in case this is blocking a stable release - I haven't received the update yet and I'm OOO for the next 3 weeks.  I won't be able to verify personally until April 25.
Status: Fixed (was: Assigned)
Ok, I'll close this. Please reopen if you still have this issue after update.
Labels: VerifyIn-53
Labels: VerifyIn-54

Comment 20 by ka...@chromium.org, Aug 31 2016

Labels: Bulk-Verified
Status: Verified (was: Fixed)
Components: -Internals>Graphics Internals>GPU
Moving old issues out of Internal>Graphics to delete this obsolete component ( crbug.com/685425  for details)

Sign in to add a comment