New issue
Advanced search Search tips

Issue 841548 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

Failure depth_capture_tests on NVIDIA GPU on Mac Retina on Mac-10.12.6

Project Member Reported by rjkroege@chromium.org, May 9 2018

Issue description

Browser crash in NVIDIA GPU bot. https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac%20FYI%20Retina%20Debug%20%28NVIDIA%29/1514

This is the browser crashing in response to an attempt to register a Service to pid mapping. The debug output is suggestive of a video service issue.

https://chromium-review.googlesource.com/c/chromium/src/+/1049931/2/chrome/browser/chrome_content_browser_client.cc?

[2196:775:0509/110929.758187:INFO:CONSOLE(213)] "Harness injected.", source:  (213)
[2196:775:0509/110929.900718:INFO:CONSOLE(170)] "Calling depthStreamToRGBAUint8Texture", source: http://127.0.0.1:49544/getusermedia-depth-capture.html?query=RGBAUint8 (170)
[2196:26883:0509/110930.586380:FATAL:process_map.cc(60)] Check failed: it_and_inserted.second. 
0   libbase.dylib                       0x0000000107a2cbee base::debug::StackTrace::StackTrace(unsigned long) + 174
1   libbase.dylib                       0x0000000107a2ccad base::debug::StackTrace::StackTrace(unsigned long) + 29
2   libbase.dylib                       0x000000010762835c base::debug::StackTrace::StackTrace() + 28
3   libbase.dylib                       0x00000001076aac8c logging::LogMessage::~LogMessage() + 460
4   libbase.dylib                       0x00000001076a89f5 logging::LogMessage::~LogMessage() + 21
5   libcontent.dylib                    0x000000012b8e240c memory_instrumentation::ProcessMap::OnServicePIDReceived(service_manager::Identity const&, unsigned int) + 604
6   libservice_manager_mojom.dylib      0x000000010fa5b340 service_manager::mojom::ServiceManagerListenerStubDispatch::Accept(service_manager::mojom::ServiceManagerListener*, mojo::Message*) + 3232
7   libcontent.dylib                    0x000000012b8e2be3 service_manager::mojom::ServiceManagerListenerStub<mojo::RawPtrImplRefTraits<service_manager::mojom::ServiceManagerListener> >::Accept(mojo::Message*) + 83
8   libbindings.dylib                   0x000000010a305dfc mojo::InterfaceEndpointClient::HandleValidatedMessage(mojo::Message*) + 6172
9   libbindings.dylib                   0x000000010a3045d1 mojo::InterfaceEndpointClient::HandleIncomingMessageThunk::Accept(mojo::Message*) + 33
10  libbindings.dylib                   0x000000010a30290b mojo::FilterChain::Accept(mojo::Message*) + 795
11  libbindings.dylib                   0x000000010a309796 mojo::InterfaceEndpointClient::HandleIncomingMessage(mojo::Message*) + 230
12  libbindings.dylib                   0x000000010a31b2ec mojo::internal::MultiplexRouter::ProcessIncomingMessage(mojo::internal::MultiplexRouter::MessageWrapper*, mojo::internal::MultiplexRouter::ClientCallBehavior, base::SequencedTaskRunner*) + 1564
13  libbindings.dylib                   0x000000010a31a786 mojo::internal::MultiplexRouter::Accept(mojo::Message*) + 646
14  libbindings.dylib                   0x000000010a30290b mojo::FilterChain::Accept(mojo::Message*) + 795
15  libbindings.dylib                   0x000000010a2ee7c0 mojo::Connector::ReadSingleMessage(unsigned int*) + 944
16  libbindings.dylib                   0x000000010a2efb5b mojo::Connector::ReadAllAvailableMessages() + 123
17  libbindings.dylib                   0x000000010a2ef8c6 mojo::Connector::OnHandleReadyInternal(unsigned int) + 262
18  libbindings.dylib                   0x000000010a2ef7ab mojo::Connector::OnWatcherHandleReady(unsigned int) + 27
19  libbindings.dylib                   0x000000010a2f3a9f void base::internal::FunctorTraits<void (mojo::Connector::*)(unsigned int), void>::Invoke<void (mojo::Connector::*)(unsigned int), mojo::Connector*, unsigned int>(void (mojo::Connector::*)(unsigned int), mojo::Connector*&&, unsigned int&&) + 143
20  libbindings.dylib                   0x000000010a2f39cf void base::internal::InvokeHelper<false, void>::MakeItSo<void (mojo::Connector::* const&)(unsigned int), mojo::Connector*, unsigned int>(void (mojo::Connector::* const&&&)(unsigned int), mojo::Connector*&&, unsigned int&&) + 95
21  libbindings.dylib                   0x000000010a2f3943 void base::internal::Invoker<base::internal::BindState<void (mojo::Connector::*)(unsigned int), base::internal::UnretainedWrapper<mojo::Connector> >, void (unsigned int)>::RunImpl<void (mojo::Connector::* const&)(unsigned int), std::__1::tuple<base::internal::UnretainedWrapper<mojo::Connector> > const&, 0ul>(void (mojo::Connector::* const&&&)(unsigned int), std::__1::tuple<base::internal::UnretainedWrapper<mojo::Connector> > const&&&, std::__1::integer_sequence<unsigned long, 0ul>, unsigned int&&) + 115
22  libbindings.dylib                   0x000000010a2f3851 base::internal::Invoker<base::internal::BindState<void (mojo::Connector::*)(unsigned int), base::internal::UnretainedWrapper<mojo::Connector> >, void (unsigned int)>::Run(base::internal::BindStateBase*, unsigned int) + 81
23  libbindings.dylib                   0x000000010a2e7a99 base::RepeatingCallback<void (unsigned int)>::Run(unsigned int) const & + 89
24  libbindings.dylib                   0x000000010a2f23ff mojo::SimpleWatcher::DiscardReadyState(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&) + 31
25  libbindings.dylib                   0x000000010a2f26ff void base::internal::FunctorTraits<void (*)(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&), void>::Invoke<void (* const&)(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&), base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&>(void (* const&&&)(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&), base::RepeatingCallback<void (unsigned int)> const&&&, unsigned int&&, mojo::HandleSignalsState const&&&) + 79
26  libbindings.dylib                   0x000000010a2f269d void base::internal::InvokeHelper<false, void>::MakeItSo<void (* const&)(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&), base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&>(void (* const&&&)(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&), base::RepeatingCallback<void (unsigned int)> const&&&, unsigned int&&, mojo::HandleSignalsState const&&&) + 77
27  libbindings.dylib                   0x000000010a2f2640 void base::internal::Invoker<base::internal::BindState<void (*)(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&), base::RepeatingCallback<void (unsigned int)> >, void (unsigned int, mojo::HandleSignalsState const&)>::RunImpl<void (* const&)(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&), std::__1::tuple<base::RepeatingCallback<void (unsigned int)> > const&, 0ul>(void (* const&&&)(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&), std::__1::tuple<base::RepeatingCallback<void (unsigned int)> > const&&&, std::__1::integer_sequence<unsigned long, 0ul>, unsigned int&&, mojo::HandleSignalsState const&) + 112
28  libbindings.dylib                   0x000000010a2f2524 base::internal::Invoker<base::internal::BindState<void (*)(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&), base::RepeatingCallback<void (unsigned int)> >, void (unsigned int, mojo::HandleSignalsState const&)>::Run(base::internal::BindStateBase*, unsigned int, mojo::HandleSignalsState const&) + 100
29  libmojo_public_system_cpp.dylib     0x000000010a483c0f base::RepeatingCallback<void (unsigned int, mojo::HandleSignalsState const&)>::Run(unsigned int, mojo::HandleSignalsState const&) const + 111
30  libmojo_public_system_cpp.dylib     0x000000010a48396f mojo::SimpleWatcher::OnHandleReady(int, unsigned int, mojo::HandleSignalsState const&) + 447
31  libmojo_public_system_cpp.dylib     0x000000010a484603 void base::internal::FunctorTraits<void (mojo::SimpleWatcher::*)(int, unsigned int, mojo::HandleSignalsState const&), void>::Invoke<void (mojo::SimpleWatcher::*)(int, unsigned int, mojo::HandleSignalsState const&), base::WeakPtr<mojo::SimpleWatcher> const&, int const&, unsigned int const&, mojo::HandleSignalsState const&>(void (mojo::SimpleWatcher::*)(int, unsigned int, mojo::HandleSignalsState const&), base::WeakPtr<mojo::SimpleWatcher> const&&&, int const&&&, unsigned int const&&&, mojo::HandleSignalsState const&&&) + 179
32  libmojo_public_system_cpp.dylib     0x000000010a484485 void base::internal::InvokeHelper<true, void>::MakeItSo<void (mojo::SimpleWatcher::* const&)(int, unsigned int, mojo::HandleSignalsState const&), base::WeakPtr<mojo::SimpleWatcher> const&, int const&, unsigned int const&, mojo::HandleSignalsState const&>(void (mojo::SimpleWatcher::* const&&&)(int, unsigned int, mojo::HandleSignalsState const&), base::WeakPtr<mojo::SimpleWatcher> const&&&, int const&&&, unsigned int const&&&, mojo::HandleSignalsState const&&&) + 149
33  libmojo_public_system_cpp.dylib     0x000000010a4843e2 void base::internal::Invoker<base::internal::BindState<void (mojo::SimpleWatcher::*)(int, unsigned int, mojo::HandleSignalsState const&), base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState>, void ()>::RunImpl<void (mojo::SimpleWatcher::* const&)(int, unsigned int, mojo::HandleSignalsState const&), std::__1::tuple<base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState> const&, 0ul, 1ul, 2ul, 3ul>(void (mojo::SimpleWatcher::* const&&&)(int, unsigned int, mojo::HandleSignalsState const&), std::__1::tuple<base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState> const&&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) + 242
34  libmojo_public_system_cpp.dylib     0x000000010a48422c base::internal::Invoker<base::internal::BindState<void (mojo::SimpleWatcher::*)(int, unsigned int, mojo::HandleSignalsState const&), base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState>, void ()>::Run(base::internal::BindStateBase*) + 44
35  libbase.dylib                       0x00000001075ca87c base::OnceCallback<void ()>::Run() && + 92
36  libbase.dylib                       0x0000000107629f19 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 1033
37  libbase.dylib                       0x00000001076f711a base::internal::IncomingTaskQueue::RunTask(base::PendingTask*) + 234
38  libbase.dylib                       0x0000000107702dc8 base::MessageLoop::RunTask(base::PendingTask*) + 872
39  libbase.dylib                       0x0000000107703399 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) + 89
40  libbase.dylib                       0x00000001077036ca base::MessageLoop::DoWork() + 570
41  libbase.dylib                       0x0000000107a63154 base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) + 308
42  libbase.dylib                       0x000000010770257c base::MessageLoop::Run(bool) + 556
43  libbase.dylib                       0x00000001077f939e base::RunLoop::Run() + 606
44  libbase.dylib                       0x00000001078f9b19 base::Thread::Run(base::RunLoop*) + 393
45  libcontent.dylib                    0x0000000129879c55 content::BrowserProcessSubThread::IOThreadRun(base::RunLoop*) + 53
46  libcontent.dylib                    0x0000000129879b2b content::BrowserProcessSubThread::Run(base::RunLoop*) + 331
47  libbase.dylib                       0x00000001078fa7b9 base::Thread::ThreadMain() + 2361
48  libbase.dylib                       0x0000000107a5d53a base::(anonymous namespace)::ThreadFunc(void*) + 682
49  libsystem_pthread.dylib             0x00007fff95e8793b _pthread_body + 180
50  libsystem_pthread.dylib             0x00007fff95e87887 _pthread_body + 0
51  libsystem_pthread.dylib             0x00007fff95e8708d thread_start + 13
 
Cc: guidou@chromium.org
Owner: guidou@chromium.org
Status: Assigned (was: Untriaged)
if it happens again before EOD, I'll probably try reverting the threading CL mentioned above.

Comment 4 by kbr@chromium.org, May 10 2018

Blocking: 834581

Comment 5 by guidou@chromium.org, May 10 2018

rjkroege@: Do NOT revert r557202. Reverting it would basically break video capture.

Comment 6 by guidou@chromium.org, May 10 2018

Labels: -Pri-1 Pri-2
Owner: chfremer@chromium.org
The test has passed 14 times since the flake, so I won't do anything about it.
It's highly unlikely that r557202 caused this.
Lowering priority and passing to chfremer@ to take a look from the video-capture service side.
Again, please do not revert r557202, even if this test flakes again.

Comment 7 by guidou@chromium.org, May 10 2018

Components: Tests>Flaky

Comment 8 by guidou@chromium.org, May 10 2018

Blocking: -834581

Comment 9 by guidou@chromium.org, May 10 2018

While doing some unrelated experiments, I was able to produce a similar crash on Linux by killing the video-capture service and then trying to use it from the browser (e.g., by enumerating video devices).
This suggests that in the test, the video-service process died for some reason before the test concluded. Unlikely to be caused by r557202, which just changes the message loop type from default to UI.
Status: WontFix (was: Assigned)
I''ll go ahead and close this as WontFix since the test hasn't flaked for 45+ runs. Please reopen if still a problem.

Sign in to add a comment