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

Issue 762745 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Flaky DCHECK in CommandBufferProxyImpl::Send during ContextLost_WebGLContextLostFromGPUProcessExit on Mac Debug (Intel)

Project Member Reported by ynovikov@chromium.org, Sep 7 2017

Issue description

Seen in:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%20Debug%20%28Intel%29/builds/7411
https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%20Debug%20%28Intel%29/builds/7386
https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%20Debug%20%28Intel%29/builds/7357
https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%20Debug%20%28Intel%29/builds/7313
https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%20Debug%20%28Intel%29/builds/7286
https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%20Debug%20%28Intel%29/builds/7284
https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%20Debug%20%28Intel%29/builds/7256

Stack is:

[673:775:0906/152051.117620:FATAL:command_buffer_proxy_impl.cc(693)] Check failed: is_sync || result. 
0   libbase.dylib                       0x0000000119599fbe base::debug::StackTrace::StackTrace(unsigned long) + 174
1   libbase.dylib                       0x000000011959a07d base::debug::StackTrace::StackTrace(unsigned long) + 29
2   libbase.dylib                       0x000000011959832c base::debug::StackTrace::StackTrace() + 28
3   libbase.dylib                       0x000000011963816f logging::LogMessage::~LogMessage() + 479
4   libbase.dylib                       0x0000000119635ad5 logging::LogMessage::~LogMessage() + 21
5   libgpu.dylib                        0x000000012cf3c3e3 gpu::CommandBufferProxyImpl::Send(IPC::Message*) + 659
6   libgpu.dylib                        0x000000012cf3e121 gpu::CommandBufferProxyImpl::DestroyTransferBuffer(int) + 145
7   libgpu.dylib                        0x000000012cb4a2a7 gpu::TransferBuffer::Free() + 375
8   libgles2_implementation.dylib       0x0000000147a4f9c2 gpu::gles2::GLES2Implementation::FreeEverything() + 98
9   libgles2_implementation.dylib       0x0000000147a58c6a gpu::gles2::GLES2Implementation::FlushHelper() + 58
10  libgles2_implementation.dylib       0x0000000147a58b91 gpu::gles2::GLES2Implementation::Flush() + 321
11  libgles2_implementation.dylib       0x0000000147a50696 gpu::gles2::GLES2Implementation::SetAggressivelyFreeResources(bool) + 390
12  libviz_common.dylib                 0x000000012c91f529 viz::ContextCacheController::OnIdle(unsigned int) + 313
13  libviz_common.dylib                 0x000000012c920b91 void base::internal::FunctorTraits<void (viz::ContextCacheController::*)(unsigned int), void>::Invoke<base::WeakPtr<viz::ContextCacheController>, unsigned int>(void (viz::ContextCacheController::*)(unsigned int), base::WeakPtr<viz::ContextCacheController>&&, unsigned int&&) + 145
14  libviz_common.dylib                 0x000000012c920a65 void base::internal::InvokeHelper<true, void>::MakeItSo<void (viz::ContextCacheController::*)(unsigned int), base::WeakPtr<viz::ContextCacheController>, unsigned int>(void (viz::ContextCacheController::*&&)(unsigned int), base::WeakPtr<viz::ContextCacheController>&&, unsigned int&&) + 117
15  libviz_common.dylib                 0x000000012c9209dd void base::internal::Invoker<base::internal::BindState<void (viz::ContextCacheController::*)(unsigned int), base::WeakPtr<viz::ContextCacheController>, unsigned int>, void ()>::RunImpl<void (viz::ContextCacheController::*)(unsigned int), std::__1::tuple<base::WeakPtr<viz::ContextCacheController>, unsigned int>, 0ul, 1ul>(void (viz::ContextCacheController::*&&)(unsigned int), std::__1::tuple<base::WeakPtr<viz::ContextCacheController>, unsigned int>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>) + 125
16  libviz_common.dylib                 0x000000012c9208c9 base::internal::Invoker<base::internal::BindState<void (viz::ContextCacheController::*)(unsigned int), base::WeakPtr<viz::ContextCacheController>, unsigned int>, void ()>::RunOnce(base::internal::BindStateBase*) + 57
17  libbase.dylib                       0x00000001195376ef base::OnceCallback<void ()>::Run() && + 95
18  libbase.dylib                       0x000000011959c6ce base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 1102
19  libbase.dylib                       0x00000001196859cd base::internal::IncomingTaskQueue::RunTask(base::PendingTask*) + 77
20  libbase.dylib                       0x000000011968dc85 base::MessageLoop::RunTask(base::PendingTask*) + 901
21  libbase.dylib                       0x000000011968e1d7 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) + 71
22  libbase.dylib                       0x000000011968f9ba base::MessageLoop::DoDelayedWork(base::TimeTicks*) + 2186
23  libbase.dylib                       0x000000011969f3fd base::MessagePumpCFRunLoopBase::RunWork() + 157
24  libbase.dylib                       0x000000011969f34c ___ZN4base24MessagePumpCFRunLoopBase13RunWorkSourceEPv_block_invoke + 28
25  libbase.dylib                       0x000000011964089a base::mac::CallWithEHFrame(void () block_pointer) + 10
26  libbase.dylib                       0x000000011969e855 base::MessagePumpCFRunLoopBase::RunWorkSource(void*) + 101
27  CoreFoundation                      0x00007fff7b474321 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
28  CoreFoundation                      0x00007fff7b45521d __CFRunLoopDoSources0 + 557
29  CoreFoundation                      0x00007fff7b454716 __CFRunLoopRun + 934
30  CoreFoundation                      0x00007fff7b454114 CFRunLoopRunSpecific + 420
31  HIToolbox                           0x00007fff7a9b4ebc RunCurrentEventLoopInMode + 240
32  HIToolbox                           0x00007fff7a9b4cf1 ReceiveNextEventCommon + 432
33  HIToolbox                           0x00007fff7a9b4b26 _BlockUntilNextEventMatchingListInModeWithFilter + 71
34  AppKit                              0x00007fff78f4da54 _DPSNextEvent + 1120
35  AppKit                              0x00007fff796c97ee -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796
36  libchrome_dll.dylib                 0x0000000105fc1eea __71-[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:]_block_invoke + 106
37  libbase.dylib                       0x000000011964089a base::mac::CallWithEHFrame(void () block_pointer) + 10
38  libchrome_dll.dylib                 0x0000000105fc1d88 -[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 248
39  AppKit                              0x00007fff78f423db -[NSApplication run] + 926
40  libbase.dylib                       0x00000001196a0092 base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*) + 306
41  libbase.dylib                       0x000000011969e03e base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 110
42  libbase.dylib                       0x000000011968d40b base::MessageLoop::Run() + 299
43  libbase.dylib                       0x00000001197881be base::RunLoop::Run() + 286
44  libchrome_dll.dylib                 0x0000000105fcffb8 ChromeBrowserMainParts::MainMessageLoopRun(int*) + 376
45  libcontent.dylib                    0x00000001201c0167 content::BrowserMainLoop::RunMainMessageLoopParts() + 455
46  libcontent.dylib                    0x00000001201ca4cc content::BrowserMainRunnerImpl::Run() + 396
47  libcontent.dylib                    0x00000001201b327d content::BrowserMain(content::MainFunctionParams const&) + 397
48  libcontent.dylib                    0x00000001229d1dd9 content::RunNamedProcessTypeMain(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, content::MainFunctionParams const&, content::ContentMainDelegate*) + 585
49  libcontent.dylib                    0x00000001229d3640 content::ContentMainRunnerImpl::Run() + 1280
50  libcontent.dylib                    0x00000001229d00bd content::ContentServiceManagerMainDelegate::RunEmbedderProcess() + 61
51  libembedder.dylib                   0x00000001190af307 service_manager::Main(service_manager::MainParams const&) + 1911
52  libcontent.dylib                    0x00000001229d1b49 content::ContentMain(content::ContentMainParams const&) + 89
53  libchrome_dll.dylib                 0x00000001041740de ChromeMain + 270
54  Chromium                            0x0000000102658de6 main + 630
55  libdyld.dylib                       0x00007fff90c03235 start + 1
56  ???                                 0x0000000000000017 0x0 + 23

Around the time of crash there is this log, not sure if relevant:
Sep  6 15:20:51 build188-m4 com.apple.xpc.launchd[1] (com.apple.imfoundation.IMRemoteURLConnectionAgent): Unknown key for integer: _DirtyJetsamMemoryLimit
Sep  6 15:20:51 build188-m4 com.apple.PerformanceAnalysis.animationperfd[225]: BUG in libdispatch client: kevent[EVFILT_MACHPORT] monitored resource vanished before the source cancel handler was invoked

Not sure if this is Viz or Command Buffer, or something else.
 

Comment 1 by kbr@chromium.org, Sep 7 2017

Is this a recent regression or does it look like it's been around for a while?

Not that surprising that the renderer process might get into unexpected states, since this test deliberately crashes the GPU process. However it should be robust to this case.

Labels: -Type-Bug Type-Bug-Regression
I've looked at the last 500 builds and found also
https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%20Debug%20%28Intel%29/builds/7134
https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%20Debug%20%28Intel%29/builds/7063
And nothing before that.
Stack in 7063 is the same.

Going to see if marking the test Flaky helps.
Actually, last 1000 builds.
Project Member

Comment 4 by bugdroid1@chromium.org, Sep 7 2017

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

commit 7a933043a238e4c89d1e1aaeec6f575008769205
Author: Yuly Novikov <ynovikov@chromium.org>
Date: Thu Sep 07 02:37:45 2017

Mark a context_lost test Flaky

ContextLost_WebGLContextLostFromGPUProcessExit on Mac Intel Debug

BUG= 762745 
TBR=kbr@chromium.org

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I1674fcdd3d300ae3f7f0d3942c2fb08f984fd2ef
Reviewed-on: https://chromium-review.googlesource.com/653812
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500193}
[modify] https://crrev.com/7a933043a238e4c89d1e1aaeec6f575008769205/content/test/gpu/gpu_tests/context_lost_expectations.py

Comment 5 by ericrk@chromium.org, Sep 15 2017

Status: Available (was: Untriaged)

Comment 6 by zmo@chromium.org, Sep 22 2017

Cc: piman@chromium.org

Comment 7 by piman@chromium.org, Sep 22 2017

Owner: rsesek@chromium.org
rsesek: could it be https://chromium.googlesource.com/chromium/src/+/5cd8eef498e28e1aacb9109645c001bbbfe1bc26? (see libdispatch error)

My patch at https://chromium.googlesource.com/chromium/src/+/b5edb4f2db00acedc8726ba4fbdcbf03a9ae7d49 removed the DCHECK and goes through a different path now so we can probably re-enable.

Comment 8 by rsesek@chromium.org, Sep 22 2017

Owner: ----
No, that log message is coming from a different process (com.apple.PerformanceAnalysis.animationperfd), not Chrome.

Sep  6 15:20:51 build188-m4 com.apple.PerformanceAnalysis.animationperfd[225]: BUG in libdispatch client: kevent[EVFILT_MACHPORT] monitored resource vanished before the source cancel handler was invoked

Comment 9 by piman@chromium.org, Sep 25 2017

Owner: piman@chromium.org
Status: Assigned (was: Available)
I'm sending a revert to the trybots, per #7 - https://chromium-review.googlesource.com/c/chromium/src/+/683244
Project Member

Comment 10 by bugdroid1@chromium.org, Sep 26 2017

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

commit b48894367b37d68751b04c7d444affeb23797d70
Author: Antoine Labour <piman@chromium.org>
Date: Tue Sep 26 00:47:36 2017

Revert "Mark a context_lost test Flaky"

The underlying issue has been fixed.

Bug:  762745 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I9899e66b3ed149aeec086ee0ce41ad4f07f1cadc
Reviewed-on: https://chromium-review.googlesource.com/683244
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#504239}
[modify] https://crrev.com/b48894367b37d68751b04c7d444affeb23797d70/content/test/gpu/gpu_tests/context_lost_expectations.py

Comment 11 by piman@chromium.org, Sep 26 2017

Status: Fixed (was: Assigned)
Components: -Internals>Viz Internals>Services>Viz
Migrating from Internals>Viz to Internals>Services>Viz.

Sign in to add a comment