WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
242593
[WPE] assertion when screen refresh rate is enabled
https://bugs.webkit.org/show_bug.cgi?id=242593
Summary
[WPE] assertion when screen refresh rate is enabled
Víctor M. Jáquez L.
Reported
2022-07-11 08:55:26 PDT
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@entry=0x1, dispatch=dispatch@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.
Attachments
Add attachment
proposed patch, testcase, etc.
Philippe Normand
Comment 1
2022-09-18 09:59:23 PDT
I think this was fixed in
https://commits.webkit.org/254427@main
Víctor M. Jáquez L.
Comment 2
2022-09-19 02:30:50 PDT
(In reply to Philippe Normand from
comment #1
)
> I think this was fixed in
https://commits.webkit.org/254427@main
Yes, it should be fixed now. I cannot verify it right now, but still I'll close it now, and reopen later if needed.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug