[Webkit-unassigned] [Bug 242593] New: [WPE] assertion when screen refresh rate is enabled

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jul 11 08:55:26 PDT 2022


https://bugs.webkit.org/show_bug.cgi?id=242593

            Bug ID: 242593
           Summary: [WPE] assertion when screen refresh rate is enabled
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WPE WebKit
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: vjaquez at igalia.com
                CC: bugs-noreply at webkitgtk.org

While using Cog master (1650b89), this changeset https://commits.webkit.org/250642@main is part of the initial code path. But, if compiled in debug configuration, an assert is raised:

#0  0x00007ffff2c8f26e in WTFCrash () at /app/webkit/Source/WTF/wtf/Assertions.cpp:328
#1  0x00007fffef54574b in WTFCrashWithInfo () at WTF/Headers/wtf/Assertions.h:754
#2  0x00007ffff0309b2f in WebKit::ThreadedCompositor::targetRefreshRateDidChange (this=0x7fffe2c9d980, rate=0xea60) at /app/webkit/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:315                                                                                                                                                                                                             #3  0x00007ffff0c5bb47 in WebKit::LayerTreeHost::targetRefreshRateDidChange (this=0x7fffe2c33b10, rate=0xea60) at /app/webkit/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:254
#4  0x00007ffff0c5bb0b in WebKit::DrawingAreaCoordinatedGraphics::targetRefreshRateDidChange (this=0x7fffe2c6a000, rate=0xea60) at /app/webkit/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:469
#5  0x00007fffefbbbff9 in IPC::callMemberFunctionImpl<WebKit::DrawingArea, void (WebKit::DrawingArea::*)(unsigned int), std::tuple<unsigned int>, 0ul> (object=0x7fffe2c6a000, function=&virtual table offset 288, args=...) at /app/webkit/Source/WebKit/Platform/IPC/HandleMessage.h:131
#6  0x00007fffefbbbf4d in IPC::callMemberFunction<WebKit::DrawingArea, void (WebKit::DrawingArea::*)(unsigned int), std::tuple<unsigned int>, std::integer_sequence<unsigned long, 0ul> > (args=..., object=0x7fffe2c6a000, function=&virtual table offset 288) at /app/webkit/Source/WebKit/Platform/IPC/HandleMessage.h:137
#7  0x00007fffefbb8bdc in IPC::handleMessage<Messages::DrawingArea::TargetRefreshRateDidChange, WebKit::DrawingArea, void (WebKit::DrawingArea::*)(unsigned int)> (connection=..., decoder=..., object=0x7fffe2c6a000, function=&virtual table offset 288) at /app/webkit/Source/WebKit/Platform/IPC/HandleMessage.h:259                                                                                                              
#8  0x00007fffefbb8947 in WebKit::DrawingArea::didReceiveMessage (this=0x7fffe2c6a000, connection=..., decoder=...) at DerivedSources/WebKit/DrawingAreaMessageReceiver.cpp:79 
#9  0x00007ffff01d9313 in IPC::MessageReceiverMap::dispatchMessage (this=0x7fffe2cf1338, connection=..., decoder=...) at /app/webkit/Source/WebKit/Platform/IPC/MessageReceiverMap.cpp:129
#10 0x00007ffff08ee0c1 in WebKit::WebProcess::didReceiveMessage (this=0x7fffe2cf1300, connection=..., decoder=...) at /app/webkit/Source/WebKit/WebProcess/WebProcess.cpp:912
#11 0x00007ffff01afdd2 in IPC::Connection::dispatchMessage (this=0x7fffe2cdf000, decoder=...) at /app/webkit/Source/WebKit/Platform/IPC/Connection.cpp:1108
#12 0x00007ffff01b01b5 in IPC::Connection::dispatchMessage (this=0x7fffe2cdf000, message=...) at /app/webkit/Source/WebKit/Platform/IPC/Connection.cpp:1153
#13 0x00007ffff01b06ad in IPC::Connection::dispatchOneIncomingMessage (this=0x7fffe2cdf000) at /app/webkit/Source/WebKit/Platform/IPC/Connection.cpp:1222
#14 0x00007ffff01b5f25 in IPC::Connection::enqueueIncomingMessage(std::unique_ptr<IPC::Decoder, std::default_delete<IPC::Decoder> >)::$_13::operator()() (this=0x7fffe2cde108) at /app/webkit/Source/WebKit/Platform/IPC/Connection.cpp:1072
#15 0x00007ffff01b5ea9 in WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::unique_ptr<IPC::Decoder, std::default_delete<IPC::Decoder> >)::$_13, void>::call() (this=0x7fffe2cde100) at WTF/Headers/wtf/Function.h:53
#16 0x00007fffef5c8ba2 in WTF::Function<void ()>::operator()() const (this=0x7fffffff5250) at WTF/Headers/wtf/Function.h:82
#17 0x00007ffff2ce72ce in WTF::RunLoop::performWork (this=0x7fffe2cf8000) at /app/webkit/Source/WTF/wtf/RunLoop.cpp:133
#18 0x00007ffff2d929c9 in WTF::RunLoop::RunLoop()::$_1::operator()(void*) const (this=0x7fffe2cf8000, userData=0x7fffe2cf8000) at /app/webkit/Source/WTF/wtf/glib/RunLoopGLib.cpp:80
#19 0x00007ffff2d929a5 in WTF::RunLoop::RunLoop()::$_1::__invoke(void*) (userData=0x7fffe2cf8000) at /app/webkit/Source/WTF/wtf/glib/RunLoopGLib.cpp:79
#20 0x00007ffff2d92959 in WTF::RunLoop::$_0::operator() (this=0x2470c0, source=0x2470c0, callback=0x7ffff2d92990 <WTF::RunLoop::RunLoop()::$_1::__invoke(void*)>, userData=0x7fffe2cf8000) at /app/webkit/Source/WTF/wtf/glib/RunLoopGLib.cpp:53
#21 0x00007ffff2d91b55 in WTF::RunLoop::$_0::__invoke (source=0x2470c0, callback=0x7ffff2d92990 <WTF::RunLoop::RunLoop()::$_1::__invoke(void*)>, userData=0x7fffe2cf8000) at /app/webkit/Source/WTF/wtf/glib/RunLoopGLib.cpp:45
#22 0x00007fffe88ca294 in g_main_dispatch (context=0x245f10) at ../glib/gmain.c:3381
#23 g_main_context_dispatch (context=0x245f10) at ../glib/gmain.c:4099
#24 0x00007fffe88ca638 in g_main_context_iterate (context=0x245f10, block=block at entry=0x1, dispatch=dispatch at entry=0x1, self=<optimized out>) at ../glib/gmain.c:4175
#25 0x00007fffe88ca943 in g_main_loop_run (loop=0x226610) at ../glib/gmain.c:4373
#26 0x00007ffff2d920d8 in WTF::RunLoop::run () at /app/webkit/Source/WTF/wtf/glib/RunLoopGLib.cpp:108
#27 0x00007ffff0c8ee34 in WebKit::AuxiliaryProcessMainBase<WebKit::WebProcess, true>::run (this=0x7fffffff5528, argc=0x3, argv=0x7fffffff56d8) at /app/webkit/Source/WebKit/Shared/AuxiliaryProcessMain.h:70
#28 0x00007ffff0c81b30 in WebKit::AuxiliaryProcessMain<WebKit::WebProcessMainWPE> (argc=0x3, argv=0x7fffffff56d8) at /app/webkit/Source/WebKit/Shared/AuxiliaryProcessMain.h:96
#29 0x00007ffff0c7ee4b in WebKit::WebProcessMain (argc=0x3, argv=0x7fffffff56d8) at /app/webkit/Source/WebKit/WebProcess/wpe/WebProcessMainWPE.cpp:75
#30 0x0000000000201872 in main (argc=0x3, argv=0x7fffffff56d8) at /app/webkit/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp:31

AFAIK https://commits.webkit.org/250642@main is not complete, since, even that targetRefreshRateDidChange is called in the WebProcess through IPC, it is not called in the expected thread, but in the main one, and the assert is raised.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20220711/b89322f5/attachment-0001.htm>


More information about the webkit-unassigned mailing list