Bug 171336

Summary: [Threaded Compositor] SHOULD NEVER BE REACHED in WebKit::CompositingRunLoop::updateCompleted
Product: WebKit Reporter: Michael Catanzaro <mcatanzaro>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: bugs-noreply, cgarcia, mcatanzaro, olivier.blin, zan
Priority: P2    
Version: WebKit Nightly Build   
Hardware: PC   
OS: Linux   
See Also: https://bugs.webkit.org/show_bug.cgi?id=172167
Attachments:
Description Flags
Patch mcatanzaro: review+

Description Michael Catanzaro 2017-04-26 12:56:02 PDT
This seems to be happening frequently when starting Epiphany, but I think I've seen it when closing Epiphany as well:

SHOULD NEVER BE REACHED
../../Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp(181) : void WebKit::CompositingRunLoop::updateCompleted()

Due to a gtk-doc bug (really!) my stacktrace is not as good as I prefer, sorry:

#0  0x00007fca7393ae36 in WTFCrash ()
    at ../../Source/WTF/wtf/Assertions.cpp:323
#1  0x00007fca7bf1d0e0 in WebKit::CompositingRunLoop::updateCompleted() ()
    at ../../Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:181
#2  0x00007fca7bf220f9 in WebKit::ThreadedCompositor::sceneUpdateFinished() ()
    at ../../Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:226
#3  0x00007fca7bf22040 in WebKit::ThreadedCompositor::renderLayerTree() ()
    at ../../Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:214
#4  0x00007fca7bf21cb1 in WebKit::ThreadedCompositor::forceRepaint()::{lambda()#1}::operator()() const ()
    at ../../Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:183
#5  0x00007fca7bf2622e in WTF::Function<void ()>::CallableWrapper<WebKit::ThreadedCompositor::forceRepaint()::{lambda()#1}>::call() ()
    at ../../Source/WTF/wtf/Function.h:89
#6  0x0000000002d60121 in WTF::Function<void ()>::operator()() const ()
    at ../../Source/WTF/wtf/Function.h:50
#7  0x00007fca7bf1ce32 in WebKit::CompositingRunLoop::performTaskSync(WTF::Function<void ()>&&)::{lambda()#1}::operator()() const ()
    at ../../Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:142
#8  0x00007fca7bf1ddb0 in WTF::Function<void ()>::CallableWrapper<WebKit::CompositingRunLoop::performTaskSync(WTF::Function<void ()>&&)::{lambda()#1}>::call()
    () at ../../Source/WTF/wtf/Function.h:89
#9  0x0000000002d60121 in WTF::Function<void ()>::operator()() const ()
    at ../../Source/WTF/wtf/Function.h:50
#10 0x00007fca7399a0f4 in WTF::WorkQueue::dispatch(WTF::Function<void ()>&&)::{lambda()#1}::operator()() const ()
    at ../../Source/WTF/wtf/generic/WorkQueueGeneric.cpp:63
#11 0x00007fca7399b2cc in WTF::Function<void ()>::CallableWrapper<WTF::WorkQueue::dispatch(WTF::Function<void ()>&&)::{lambda()#1}>::call() ()
    at ../../Source/WTF/wtf/Function.h:89
#12 0x0000000002d60121 in WTF::Function<void ()>::operator()() const ()
    at ../../Source/WTF/wtf/Function.h:50
#13 0x00007fca73959bdc in WTF::RunLoop::performWork() ()
    at ../../Source/WTF/wtf/RunLoop.cpp:106
#14 0x00007fca7399b810 in WTF::RunLoop::RunLoop()::{lambda(void*)#1}::operator()(void*) const () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:68
#15 0x00007fca7399b834 in WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:70
#16 0x00007fca7399b7b0 in WTF::{lambda(_GSource*, int (*)(void*), void*)#1}::operator()(_GSource*, int (*)(void*), void*) const ()
    at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:45
#17 0x00007fca7399b7df in WTF::{lambda(_GSource*, int (*)(void*), void*)#1}::_FUN(_GSource*, int (*)(void*), void*) ()
    at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:46
#18 0x00007fca6d9fb49a in g_main_dispatch (context=0xae03a50)
    at /home/mcatanzaro/Projects/GNOME/glib/glib/gmain.c:3230
#19 g_main_context_dispatch (context=context@entry=0xae03a50)
    at /home/mcatanzaro/Projects/GNOME/glib/glib/gmain.c:3895
#20 0x00007fca6d9fb818 in g_main_context_iterate (context=0xae03a50, 
    block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /home/mcatanzaro/Projects/GNOME/glib/glib/gmain.c:3968
#21 0x00007fca6d9fbb32 in g_main_loop_run (loop=0xa9c1970)
    at /home/mcatanzaro/Projects/GNOME/glib/glib/gmain.c:4164
#22 0x00007fca7399bcfd in WTF::RunLoop::run() ()
    at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:96
#23 0x00007fca73999fab in WTF::WorkQueue::platformInitialize(char const*, WTF::WorkQueue::Type, WTF::WorkQueue::QOS)::{lambda()#1}::operator()() const ()
    at ../../Source/WTF/wtf/generic/WorkQueueGeneric.cpp:44
#24 0x00007fca7399a4fa in std::_Function_handler<void (), WTF::WorkQueue::platformInitialize(char const*, WTF::WorkQueue::Type, WTF::WorkQueue::QOS)::{lambda()#1}>::_M_invoke(std::_Any_data const&) ()
    at /usr/include/c++/6.3.1/functional:1731
#25 0x0000000002ccf4f2 in std::function<void ()>::operator()() const ()
    at /usr/include/c++/6.3.1/functional:2127
#26 0x00007fca7395b9ea in WTF::threadEntryPoint(void*) ()
    at ../../Source/WTF/wtf/Threading.cpp:98
#27 0x00007fca73998a86 in WTF::wtfThreadEntryPoint(void*) ()
    at ../../Source/WTF/wtf/ThreadingPthreads.cpp:174
#28 0x00007fca699ce6ca in start_thread (arg=0x7fca0f38a700)
    at pthread_create.c:333
#29 0x00007fca68626f7f in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105
Comment 1 Olivier Blin 2017-05-03 14:22:42 PDT
Similar to this one?
https://github.com/WebPlatformForEmbedded/WPEWebKit/issues/180
Comment 2 Michael Catanzaro 2017-05-04 04:04:43 PDT
Yes but something changed, it happens very very frequently now.
Comment 3 Carlos Garcia Campos 2017-05-04 04:47:03 PDT
Created attachment 309031 [details]
Patch
Comment 4 Carlos Garcia Campos 2017-05-04 05:42:24 PDT
Committed r216182: <http://trac.webkit.org/changeset/216182>