<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>314087</bug_id>
          
          <creation_ts>2026-05-05 07:50:31 -0700</creation_ts>
          <short_desc>REGRESSION(308116@main): Crash in WebKit::AcceleratedSurface::sendFrame</short_desc>
          <delta_ts>2026-05-06 02:40:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Carlos Garcia Campos">cgarcia</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>jan.brummer</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2207660</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2026-05-05 07:50:31 -0700</bug_when>
    <thetext>We have a non-public email client application, which sometimes crashes when creating a web view. Carlos Garcia requested that I create this bug report even though I do not have a reproducer to share:

(gdb) bt
#0  WTFCrash () at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/Assertions.cpp:380
#1  0x00007ff9ce8e8aa9 in WTF::CrashOnOverflow::crash () at WTF/Headers/wtf/OverflowHandler.h:66
#2  0x00007ff9ce8e8a99 in WTF::CrashOnOverflow::overflowed () at WTF/Headers/wtf/OverflowHandler.h:59
#3  0x00007ff9cf47c3b4 in WTF::Vector&lt;std::pair&lt;WebKit::AcceleratedSurface::RenderTarget*, WTF::Vector&lt;WebCore::IntRect, 1, WTF::CrashOnOverflow, 16, WTF::FastMalloc&gt; &gt;, 1, WTF::CrashOnOverflow, 16, WTF::FastMalloc&gt;::takeLast (this=&lt;optimized out&gt;)
    at WTF/Headers/wtf/Vector.h:826
#4  0x00007ff9cf47c1e8 in WebKit::AcceleratedSurface::sendFrame (this=&lt;optimized out&gt;)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.cpp:1079
#5  0x00007ff9cf48e728 in WebKit::NonCompositedFrameRenderer::finishRenderingUpdate (this=0x7ff9a60287e0)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/NonCompositedFrameRenderer.cpp:279
#6  WebKit::NonCompositedFrameRenderer::updateRendering (this=0x7ff9a60287e0)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/NonCompositedFrameRenderer.cpp:273
#7  0x00007ff9cf48398b in WebKit::DrawingAreaCoordinatedGraphics::updateGeometry (this=this@entry=0x7ff9a6024300, size=..., 
    completionHandler=...)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphicsGLib.cpp:261
#8  0x00007ff9cea76f0c in IPC::callMemberFunction&lt;WebKit::DrawingArea, WebKit::DrawingArea, void (WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;, void ()&gt;(WebKit::DrawingArea*, void (WebKit::DrawingArea::*)(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;&amp;&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)::{lambda((auto:1&amp;&amp;)...)#1}::operator()&lt;WebCore::IntSize&gt;(WebCore::IntSize&amp;&amp;) const (args=..., this=&lt;optimized out&gt;)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Platform/IPC/HandleMessage.h:150
#9  std::__invoke_impl&lt;void, IPC::callMemberFunction&lt;WebKit::DrawingArea, WebKit::DrawingArea, void (WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;, void ()&gt;(WebKit::DrawingArea*, void (WebKit::DrawingArea::*)(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;&amp;&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)::{lambda((auto:1&amp;&amp;)...)#1}, WebCore::IntSize&gt;(std::__invoke_other, IPC::callMemberFunction&lt;WebKit::DrawingArea, WebKit::DrawingArea, void (WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;, void ()&gt;(WebKit::DrawingArea*, void (WebKit::DrawingArea::*)(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;&amp;&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)::{lambda((auto:1&amp;&amp;)...)#1}&amp;&amp;, WebCore::IntSize&amp;&amp;) (__args=..., __f=...) at /usr/bin/../lib/gcc/x86_64-redhat-linux/16/../../../../include/c++/16/bits/invoke.h:63
#10 std::__invoke&lt;IPC::callMemberFunction&lt;WebKit::DrawingArea, WebKit::DrawingArea, void (WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;, void ()&gt;(WebKit::DrawingArea*, void (WebKit::DrawingArea::*)(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;&amp;&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)::{lambda((auto:1&amp;&amp;)...)#1}, WebCore::IntSize&gt;(IPC::callMemberFunction&lt;WebKit::DrawingArea, WebKit::DrawingArea, void (WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;, void ()&gt;(WebKit::DrawingArea*, void (WebKit::DrawingArea::*)(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;&amp;&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)::{lambda((auto:1&amp;&amp;)...)#1}&amp;&amp;, WebCore::IntSize&amp;&amp;) (__args=..., 
    __fn=...) at /usr/bin/../lib/gcc/x86_64-redhat-linux/16/../../../../include/c++/16/bits/invoke.h:98
#11 std::__apply_impl&lt;IPC::callMemberFunction&lt;WebKit::DrawingArea, WebKit::DrawingArea, void (WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;, void ()&gt;(WebKit::DrawingArea*, void (WebKit::DrawingArea::*)(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;&amp;&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)::{lambda((auto:1&amp;&amp;)...)#1}, std::tuple&lt;WebCore::IntSize&gt;, 0ul&gt;(IPC::callMemberFunction&lt;WebKit::DrawingArea, WebKit::DrawingArea, void (WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;, void ()&gt;(WebKit::DrawingArea*, void (WebKit::DrawingArea::*)(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;&amp;&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)::{lambda((auto:1&amp;&amp;)...)#1}&amp;&amp;, std::tuple&lt;WebCore::IntSize&gt;&amp;&amp;, std::integer_sequence&lt;unsigned long, 0ul&gt;) (__t=..., __f=...)
    at /usr/bin/../lib/gcc/x86_64-redhat-linux/16/../../../../include/c++/16/tuple:2976
#12 apply&lt;(lambda at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Platform/IPC/HandleMessage.h:148:9), std::tuple&lt;WebCore::IntSize&gt; &gt; (
    __t=..., __f=...) at /usr/bin/../lib/gcc/x86_64-redhat-linux/16/../../../../include/c++/16/tuple:2991
#13 IPC::callMemberFunction&lt;WebKit::DrawingArea, WebKit::DrawingArea, void(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;, void()&gt; (object=&lt;optimized out&gt;, function=&lt;optimized out&gt;, tuple=..., completionHandler=...)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Platform/IPC/HandleMessage.h:147
#14 IPC::handleMessageAsync&lt;Messages::DrawingArea::UpdateGeometry, IPC::Connection, WebKit::DrawingArea, WebKit::DrawingArea, void(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void()&gt;&amp;&amp;)&gt; (connection=..., decoder=..., object=object@entry=0x7ff9a6024300, 
    function=&lt;optimized out&gt;) at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Platform/IPC/HandleMessage.h:553
#15 0x00007ff9cea76c71 in WebKit::DrawingArea::didReceiveMessage (this=0x7ff9a6024300, connection=..., decoder=...)
    at /home/mcatanzaro/Projects/WebKit/WebKitBuild/gtk4/DerivedSources/WebKit/DrawingAreaMessageReceiver.cpp:71
#16 0x00007ff9ceea755c in IPC::MessageReceiverMap::dispatchMessage (this=&lt;optimized out&gt;, connection=..., decoder=...)
    at WTF/Headers/wtf/Ref.h:54
#17 0x00007ff9ceeb0d1c in WebKit::AuxiliaryProcess::dispatchMessage (this=this@entry=0x7ff9a6018460, connection=..., decoder=...)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Shared/AuxiliaryProcess.cpp:154
#18 0x00007ff9ce9ecb96 in WebKit::AuxiliaryProcess::didReceiveMessage (this=0x7ff9a6018460, connection=..., decoder=...)
    at /home/mcatanzaro/Projects/WebKit/WebKitBuild/gtk4/DerivedSources/WebKit/AuxiliaryProcessMessageReceiver.cpp:74
#19 0x00007ff9cee9e7bb in IPC::Connection::dispatchMessage (this=this@entry=0x7ff9a6054100, decoder=...)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Platform/IPC/Connection.cpp:1421
#20 0x00007ff9cee9ea22 in IPC::Connection::dispatchMessage (this=0x7ff9a6054100, message=...)
--Type &lt;RET&gt; for more, q to quit, c to continue without paging--c
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Platform/IPC/Connection.cpp:1481
#21 0x00007ff9cee9eb31 in IPC::Connection::dispatchOneIncomingMessage (this=&lt;optimized out&gt;)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Platform/IPC/Connection.cpp:1555
#22 0x00007ff9ca9f2925 in WTF::Function&lt;void()&gt;::operator() (this=0x7ffda93ae090)
    at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/Function.h:103
#23 WTF::RunLoop::performWork (this=this@entry=0x7ff9a6018110) at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/RunLoop.cpp:145
#24 0x00007ff9caab71e9 in WTF::RunLoop::RunLoop()::$_0::operator()(void*) const (userData=0x7ffda93ad8c8, userData@entry=0x7ff9a6018110, 
    this=&lt;optimized out&gt;) at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:153
#25 __invoke (userData=0x7ffda93ad8c8, userData@entry=0x7ff9a6018110)
    at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:152
#26 0x00007ff9caab5d29 in WTF::RunLoop::$_3::operator() (source=0x2322f640, callback=0x7ff9caab71e0 &lt;__invoke()&gt;, userData=0x7ff9a6018110, 
    this=&lt;optimized out&gt;) at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:116
#27 __invoke (source=0x2322f640, callback=0x7ff9caab71e0 &lt;__invoke()&gt;, userData=0x7ff9a6018110)
    at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:89
#28 0x00007ff9cad7362c in g_main_dispatch (context=0x2322f6e0) at ../../../../Projects/glib/glib/gmain.c:3591
#29 0x00007ff9cad74a77 in g_main_context_dispatch_unlocked (context=0x2322f6e0) at ../../../../Projects/glib/glib/gmain.c:4451
#30 0x00007ff9cad74a41 in g_main_context_dispatch (context=0x2322f6e0) at ../../../../Projects/glib/glib/gmain.c:4439
#31 0x00007ff9caab63c3 in WTF::RunLoop::runGLibMainLoopIteration (this=this@entry=0x7ff9a6018110, 
    mayBlock=mayBlock@entry=WTF::RunLoop::MayBlock::Yes) at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:191
#32 0x00007ff9caab66ca in WTF::RunLoop::runGLibMainLoop (this=0x7ff9a6018110)
    at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:200
#33 WTF::RunLoop::run () at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:213
#34 0x00007ff9cf499913 in WebKit::AuxiliaryProcessMainBase&lt;WebKit::WebProcess, true&gt;::run (this=0x7ffda93ae2a0, argc=&lt;optimized out&gt;, 
    argv=&lt;optimized out&gt;) at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Shared/AuxiliaryProcessMain.h:77
#35 WebKit::AuxiliaryProcessMain&lt;WebKit::WebProcessMainGtk&gt; (argc=3, argv=&lt;optimized out&gt;)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Shared/AuxiliaryProcessMain.h:103
#36 0x00007ff9c5e08681 in __libc_start_call_main (main=main@entry=0x201890 &lt;main(int, char**)&gt;, argc=argc@entry=3, 
    argv=argv@entry=0x7ffda93ae448) at ../sysdeps/nptl/libc_start_call_main.h:59
#37 0x00007ff9c5e08798 in __libc_start_main_impl (main=0x201890 &lt;main(int, char**)&gt;, argc=3, argv=0x7ffda93ae448, init=&lt;optimized out&gt;, 
    fini=&lt;optimized out&gt;, rtld_fini=&lt;optimized out&gt;, stack_end=0x7ffda93ae438) at ../csu/libc-start.c:360
#38 0x00000000002017c5 in _start ()
(gdb) bt full
#0  WTFCrash () at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/Assertions.cpp:380
No locals.
#1  0x00007ff9ce8e8aa9 in WTF::CrashOnOverflow::crash () at WTF/Headers/wtf/OverflowHandler.h:66
No locals.
#2  0x00007ff9ce8e8a99 in WTF::CrashOnOverflow::overflowed () at WTF/Headers/wtf/OverflowHandler.h:59
No locals.
#3  0x00007ff9cf47c3b4 in WTF::Vector&lt;std::pair&lt;WebKit::AcceleratedSurface::RenderTarget*, WTF::Vector&lt;WebCore::IntRect, 1, WTF::CrashOnOverflow, 16, WTF::FastMalloc&gt; &gt;, 1, WTF::CrashOnOverflow, 16, WTF::FastMalloc&gt;::takeLast (this=&lt;optimized out&gt;)
    at WTF/Headers/wtf/Vector.h:826
        result = &lt;optimized out&gt;
#4  0x00007ff9cf47c1e8 in WebKit::AcceleratedSurface::sendFrame (this=&lt;optimized out&gt;)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.cpp:1079
        target = &lt;optimized out&gt;
        damageRects = &lt;optimized out&gt;
#5  0x00007ff9cf48e728 in WebKit::NonCompositedFrameRenderer::finishRenderingUpdate (this=0x7ff9a60287e0)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/NonCompositedFrameRenderer.cpp:279
No locals.
#6  WebKit::NonCompositedFrameRenderer::updateRendering (this=0x7ff9a60287e0)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/NonCompositedFrameRenderer.cpp:273
        scaledSize = {m_width = 815, m_height = 0}
        reentrancyProtector = {m_scopedVariable = @0x7ff9a60287f2, m_valueToRestore = false}
        webPage = {static isRef = &lt;optimized out&gt;, m_ptr = 0x7ff9a60c8680}
        drawingArea = &lt;optimized out&gt;
#7  0x00007ff9cf48398b in WebKit::DrawingAreaCoordinatedGraphics::updateGeometry (this=this@entry=0x7ff9a6024300, size=..., 
    completionHandler=...)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphicsGLib.cpp:261
        inUpdateGeometry = {m_scopedVariable = @0x7ff9a6024343, m_valueToRestore = false}
        webPage = {static isRef = &lt;optimized out&gt;, m_ptr = 0x7ff9a60c8680}
#8  0x00007ff9cea76f0c in IPC::callMemberFunction&lt;WebKit::DrawingArea, WebKit::DrawingArea, void (WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;, void ()&gt;(WebKit::DrawingArea*, void (WebKit::DrawingArea::*)(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;&amp;&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)::{lambda((auto:1&amp;&amp;)...)#1}::operator()&lt;WebCore::IntSize&gt;(WebCore::IntSize&amp;&amp;) const (args=..., this=&lt;optimized out&gt;)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Platform/IPC/HandleMessage.h:150
No locals.
#9  std::__invoke_impl&lt;void, IPC::callMemberFunction&lt;WebKit::DrawingArea, WebKit::DrawingArea, void (WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;, void ()&gt;(WebKit::DrawingArea*, void (WebKit::DrawingArea::*)(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;&amp;&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)::{lambda((auto:1&amp;&amp;)...)#1}, WebCore::IntSize&gt;(std::__invoke_other, IPC::callMemberFunction&lt;WebKit::DrawingArea, WebKit::DrawingArea, void (WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;, void ()&gt;(WebKit::DrawingArea*, void (WebKit::DrawingArea::*)(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;&amp;&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)::{lambda((auto:1&amp;&amp;)...)#1}&amp;&amp;, WebCore::IntSize&amp;&amp;) (__args=..., __f=...) at /usr/bin/../lib/gcc/x86_64-redhat-linux/16/../../../../include/c++/16/bits/invoke.h:63
No locals.
#10 std::__invoke&lt;IPC::callMemberFunction&lt;WebKit::DrawingArea, WebKit::DrawingArea, void (WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;, void ()&gt;(WebKit::DrawingArea*, void (WebKit::DrawingArea::*)(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;&amp;&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)::{lambda((auto:1&amp;&amp;)...)#1}, WebCore::IntSize&gt;(IPC::callMemberFunction&lt;WebKit::DrawingArea, WebKit::DrawingArea, void (WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;, void ()&gt;(WebKit::DrawingArea*, void (WebKit::DrawingArea::*)(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;&amp;&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)::{lambda((auto:1&amp;&amp;)...)#1}&amp;&amp;, WebCore::IntSize&amp;&amp;) (__args=..., 
    __fn=...) at /usr/bin/../lib/gcc/x86_64-redhat-linux/16/../../../../include/c++/16/bits/invoke.h:98
No locals.
#11 std::__apply_impl&lt;IPC::callMemberFunction&lt;WebKit::DrawingArea, WebKit::DrawingArea, void (WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;, void ()&gt;(WebKit::DrawingArea*, void (WebKit::DrawingArea::*)(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;&amp;&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)::{lambda((auto:1&amp;&amp;)...)#1}, std::tuple&lt;WebCore::IntSize&gt;, 0ul&gt;(IPC::callMemberFunction&lt;WebKit::DrawingArea, WebKit::DrawingArea, void (WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;, void ()&gt;(WebKit::DrawingArea*, void (WebKit::DrawingArea::*)(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;&amp;&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)::{lambda((auto:1&amp;&amp;)...)#1}&amp;&amp;, std::tuple&lt;WebCore::IntSize&gt;&amp;&amp;, std::integer_sequence&lt;unsigned long, 0ul&gt;) (__t=..., __f=...)
    at /usr/bin/../lib/gcc/x86_64-redhat-linux/16/../../../../include/c++/16/tuple:2976
No locals.
#12 apply&lt;(lambda at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Platform/IPC/HandleMessage.h:148:9), std::tuple&lt;WebCore::IntSize&gt; &gt; (
    __t=..., __f=...) at /usr/bin/../lib/gcc/x86_64-redhat-linux/16/../../../../include/c++/16/tuple:2991
--Type &lt;RET&gt; for more, q to quit, c to continue without paging--c
No locals.
#13 IPC::callMemberFunction&lt;WebKit::DrawingArea, WebKit::DrawingArea, void(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void()&gt;&amp;&amp;), std::tuple&lt;WebCore::IntSize&gt;, void()&gt; (object=&lt;optimized out&gt;, function=&lt;optimized out&gt;, tuple=..., completionHandler=...)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Platform/IPC/HandleMessage.h:147
No locals.
#14 IPC::handleMessageAsync&lt;Messages::DrawingArea::UpdateGeometry, IPC::Connection, WebKit::DrawingArea, WebKit::DrawingArea, void(WebCore::IntSize const&amp;, WTF::CompletionHandler&lt;void()&gt;&amp;&amp;)&gt; (connection=..., decoder=..., object=object@entry=0x7ff9a6024300, 
    function=&lt;optimized out&gt;) at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Platform/IPC/HandleMessage.h:553
        arguments = std::optional containing std::tuple containing = {[0] = {m_width = 815, m_height = 0}}
        completionHandler = {m_function = {m_callableWrapper = std::unique_ptr&lt;WTF::Detail::CallableWrapperBase&lt;UNKNOWN_TYPE&gt;&gt; = {
              get() = 0x7ff9a61f5fe0}}, m_callThread = {&lt;No data fields&gt;}}
        replyID = Python Exception &lt;class &apos;gdb.error&apos;&gt;: value has been optimized out
{&lt;std::_Optional_base&lt;WTF::ObjectIdentifierGeneric&lt;IPC::AsyncReplyIDType, WTF::ObjectIdentifierThreadSafeAccessTraits&lt;unsigned long&gt;, unsigned long&gt;, 1, 1&gt;&gt; = {
            _M_payload = {&lt;std::_Optional_payload_base&lt;WTF::ObjectIdentifierGeneric&lt;IPC::AsyncReplyIDType, WTF::ObjectIdentifierThreadSafeAccessTraits&lt;unsigned long&gt;, unsigned long&gt; &gt;&gt; = {_M_payload = {_M_empty = {&lt;No data fields&gt;}, 
                  _M_value = {&lt;WTF::ObjectIdentifierGenericBase&lt;unsigned long&gt;&gt; = {
                      static safeToCompareToHashTableEmptyOrDeletedValue = true, m_identifier = 106}, 
                    static m_generationProtected = false}}, 
                _M_engaged = &lt;optimized out&gt;}, &lt;No data fields&gt;}}, &lt;std::_Enable_copy_move&lt;1, 1, 1, 1, std::optional&lt;WTF::ObjectIdentifierGeneric&lt;IPC::AsyncReplyIDType, WTF::ObjectIdentifierThreadSafeAccessTraits&lt;unsigned long&gt;, unsigned long&gt; &gt; &gt;&gt; = {&lt;No data fields&gt;}, &lt;No data fields&gt;}
#15 0x00007ff9cea76c71 in WebKit::DrawingArea::didReceiveMessage (this=0x7ff9a6024300, connection=..., decoder=...)
    at /home/mcatanzaro/Projects/WebKit/WebKitBuild/gtk4/DerivedSources/WebKit/DrawingAreaMessageReceiver.cpp:71
        protectedThis = {static isRef = &lt;optimized out&gt;, m_ptr = 0x7ff9a6024300}
#16 0x00007ff9ceea755c in IPC::MessageReceiverMap::dispatchMessage (this=&lt;optimized out&gt;, connection=..., decoder=...)
    at WTF/Headers/wtf/Ref.h:54
No locals.
#17 0x00007ff9ceeb0d1c in WebKit::AuxiliaryProcess::dispatchMessage (this=this@entry=0x7ff9a6018460, connection=..., decoder=...)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Shared/AuxiliaryProcess.cpp:154
No locals.
#18 0x00007ff9ce9ecb96 in WebKit::AuxiliaryProcess::didReceiveMessage (this=0x7ff9a6018460, connection=..., decoder=...)
    at /home/mcatanzaro/Projects/WebKit/WebKitBuild/gtk4/DerivedSources/WebKit/AuxiliaryProcessMessageReceiver.cpp:74
        protectedThis = {static isRef = &lt;optimized out&gt;, m_ptr = 0x7ff9a6018460}
#19 0x00007ff9cee9e7bb in IPC::Connection::dispatchMessage (this=this@entry=0x7ff9a6054100, decoder=...)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Platform/IPC/Connection.cpp:1421
        client = {static isRefPtr = &lt;optimized out&gt;, m_ptr = 0x7ff9a6018460}
#20 0x00007ff9cee9ea22 in IPC::Connection::dispatchMessage (this=0x7ff9a6054100, message=...)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Platform/IPC/Connection.cpp:1481
        oldDidReceiveInvalidMessage = false
        isDispatchingMessageWhileWaitingForSyncReply = &lt;optimized out&gt;
        didReceiveInvalidMessage = &lt;optimized out&gt;
#21 0x00007ff9cee9eb31 in IPC::Connection::dispatchOneIncomingMessage (this=&lt;optimized out&gt;)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Platform/IPC/Connection.cpp:1555
        message = std::unique_ptr&lt;IPC::Decoder&gt; = {get() = 0x0}
#22 0x00007ff9ca9f2925 in WTF::Function&lt;void()&gt;::operator() (this=0x7ffda93ae090)
    at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/Function.h:103
No locals.
#23 WTF::RunLoop::performWork (this=this@entry=0x7ff9a6018110) at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/RunLoop.cpp:145
        function = &lt;optimized out&gt;
        didSuspendFunctions = false
#24 0x00007ff9caab71e9 in WTF::RunLoop::RunLoop()::$_0::operator()(void*) const (userData=0x7ffda93ad8c8, userData@entry=0x7ff9a6018110, 
    this=&lt;optimized out&gt;) at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:153
No locals.
#25 __invoke (userData=0x7ffda93ad8c8, userData@entry=0x7ff9a6018110)
    at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:152
No locals.
#26 0x00007ff9caab5d29 in WTF::RunLoop::$_3::operator() (source=0x2322f640, callback=0x7ff9caab71e0 &lt;__invoke()&gt;, userData=0x7ff9a6018110, 
    this=&lt;optimized out&gt;) at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:116
        readyTime = &lt;optimized out&gt;
        name = 0x23205f10 &quot;[WebKit] RunLoop work&quot;
        runLoopSource = @0x2322f640: {source = {callback_data = 0x2322f900, callback_funcs = 0x7ff9caeb4ba0 &lt;g_source_callback_funcs&gt;, 
            source_funcs = 0x7ff9cab9cb30 &lt;WTF::RunLoop::s_runLoopSourceFunctions&gt;, ref_count = 3, context = 0x2322f6e0, priority = 100, 
            flags = 35, source_id = 1, poll_fds = 0x0, prev = 0x0, next = 0x23233e30, name = 0x23205f10 &quot;[WebKit] RunLoop work&quot;, 
            priv = 0x2322f880}, runLoop = 0x7ff9a6018110, timerFd = -1, timerFdSpec = {it_interval = {tv_sec = 0, tv_nsec = 0}, 
            it_value = {tv_sec = 0, tv_nsec = 0}}}
        returnValue = &lt;optimized out&gt;
        shouldEnableSourceDispatchSignposts = false
#27 __invoke (source=0x2322f640, callback=0x7ff9caab71e0 &lt;__invoke()&gt;, userData=0x7ff9a6018110)
    at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:89
No locals.
#28 0x00007ff9cad7362c in g_main_dispatch (context=0x2322f6e0) at ../../../../Projects/glib/glib/gmain.c:3591
        dispatch = 0x7ff9caab5c70 &lt;__invoke()&gt;
        prev_source = 0x0
        begin_time_nsec = 30214578368426
        was_in_call = 0
        user_data = 0x7ff9a6018110
        callback = 0x7ff9caab71e0 &lt;__invoke()&gt;
        cb_funcs = 0x7ff9caeb4ba0 &lt;g_source_callback_funcs&gt;
        cb_data = 0x2322f900
        need_destroy = 0
        source = 0x2322f640
        current = 0x23201bf0
        i = 0
        __func__ = &quot;g_main_dispatch&quot;
#29 0x00007ff9cad74a77 in g_main_context_dispatch_unlocked (context=0x2322f6e0) at ../../../../Projects/glib/glib/gmain.c:4451
No locals.
#30 0x00007ff9cad74a41 in g_main_context_dispatch (context=0x2322f6e0) at ../../../../Projects/glib/glib/gmain.c:4439
No locals.
#31 0x00007ff9caab63c3 in WTF::RunLoop::runGLibMainLoopIteration (this=this@entry=0x7ff9a6018110, 
    mayBlock=mayBlock@entry=WTF::RunLoop::MayBlock::Yes) at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:191
        maxPriority = 100
        timeoutInMilliseconds = 0
        numFDs = &lt;optimized out&gt;
#32 0x00007ff9caab66ca in WTF::RunLoop::runGLibMainLoop (this=0x7ff9a6018110)
    at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:200
No locals.
#33 WTF::RunLoop::run () at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:213
        runLoop = {static isRef = &lt;optimized out&gt;, m_ptr = 0x7ff9a6018110}
#34 0x00007ff9cf499913 in WebKit::AuxiliaryProcessMainBase&lt;WebKit::WebProcess, true&gt;::run (this=0x7ffda93ae2a0, argc=&lt;optimized out&gt;, 
    argv=&lt;optimized out&gt;) at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Shared/AuxiliaryProcessMain.h:77
No locals.
#35 WebKit::AuxiliaryProcessMain&lt;WebKit::WebProcessMainGtk&gt; (argc=3, argv=&lt;optimized out&gt;)
    at /home/mcatanzaro/Projects/WebKit/Source/WebKit/Shared/AuxiliaryProcessMain.h:103
        auxiliaryMain = {m_storage = {m_storage = {data = {224, 38, 43, 210, 249, 127, 0 &lt;repeats 26 times&gt;, 10, 0, 0, 0, 0, 0, 0, 0, 1, 
                0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0 &lt;repeats 19 times&gt;}}}}
#36 0x00007ff9c5e08681 in __libc_start_call_main (main=main@entry=0x201890 &lt;main(int, char**)&gt;, argc=argc@entry=3, 
    argv=argv@entry=0x7ffda93ae448) at ../sysdeps/nptl/libc_start_call_main.h:59
        self = &lt;optimized out&gt;
        result = &lt;optimized out&gt;
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -3814188971436946901, 140727442662472, 3, 140710954594304, 2107648, 
                -3814188971449529813, -3811840915947664853}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x7ffda93ae448}, data = {
              prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = &lt;optimized out&gt;
#37 0x00007ff9c5e08798 in __libc_start_main_impl (main=0x201890 &lt;main(int, char**)&gt;, argc=3, argv=0x7ffda93ae448, init=&lt;optimized out&gt;, 
    fini=&lt;optimized out&gt;, rtld_fini=&lt;optimized out&gt;, stack_end=0x7ffda93ae438) at ../csu/libc-start.c:360
No locals.
#38 0x00000000002017c5 in _start ()
No symbol table info available.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2207787</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2026-05-05 14:01:48 -0700</bug_when>
    <thetext>Good news! It was easy to bisect.

603ace503c08e9f648f95eb6dde1d3a638f21616 is the first bad commit
commit 603ace503c08e9f648f95eb6dde1d3a638f21616
Author: Carlos Garcia Campos &lt;cgarcia@igalia.com&gt;
Date:   Tue Feb 24 03:27:12 2026 -0800

    [GTK][WPE] Non-composited renderer should not wait for UI process frame done notification to start rendering the next frame
    https://bugs.webkit.org/show_bug.cgi?id=308464
    
    Reviewed by Nikolas Zimmermann.
    
    We need to wait until frame done notification from UI process to send the next
    frame message, but it can be rendered already. This patch splits didRenderFrame()
    moving the Frame message notification to sendFrame() method. This
    allows the non-composited renderer to render the next frame and notify
    later when waiting for previous frame done.
    
    * Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.cpp:
    (WebKit::AcceleratedSurface::RenderTargetShareableBuffer::sendFrame):
    (WebKit::AcceleratedSurface::RenderTargetSHMImage::didRenderFrame):
    (WebKit::AcceleratedSurface::RenderTargetSHMImageWithoutGL::sendFrame):
    (WebKit::AcceleratedSurface::RenderTargetWPEBackend::didRenderFrame):
    (WebKit::AcceleratedSurface::SwapChain::handleBufferFormatChangeIfNeeded):
    (WebKit::AcceleratedSurface::SwapChain::nextTarget):
    (WebKit::AcceleratedSurface::willDestroyGLContext):
    (WebKit::AcceleratedSurface::willRenderFrame):
    (WebKit::AcceleratedSurface::didRenderFrame):
    (WebKit::AcceleratedSurface::sendFrame):
    (WebKit::AcceleratedSurface::frameDone):
    (WebKit::AcceleratedSurface::RenderTargetShareableBuffer::didRenderFrame): Deleted.
    (WebKit::AcceleratedSurface::RenderTargetSHMImageWithoutGL::didRenderFrame): Deleted.
    * Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.h:
    * Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/NonCompositedFrameRenderer.cpp:
    (WebKit::NonCompositedFrameRenderer::sizeDidChange):
    (WebKit::NonCompositedFrameRenderer::scheduleRenderingUpdate):
    (WebKit::NonCompositedFrameRenderer::canUpdateRendering const):
    (WebKit::NonCompositedFrameRenderer::updateRendering):
    (WebKit::NonCompositedFrameRenderer::finishRenderingUpdate):
    (WebKit::NonCompositedFrameRenderer::frameComplete):
    (WebKit::NonCompositedFrameRenderer::updateRenderingWithForcedRepaint):
    * Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/NonCompositedFrameRenderer.h:
    * Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.cpp:
    (WebKit::ThreadedCompositor::renderLayerTree):
    
    Canonical link: https://commits.webkit.org/308116@main

 Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.cpp         | 57 ++++++++++++++++++++++++++++++++++---------------
 Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.h           | 14 +++++++-----
 Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/NonCompositedFrameRenderer.cpp | 39 +++++++++++++++++++++++----------
 Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/NonCompositedFrameRenderer.h   |  4 +++-
 Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.cpp         |  1 +
 5 files changed, 81 insertions(+), 34 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2207997</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2026-05-05 22:34:25 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/64341</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2208051</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-05-06 02:40:21 -0700</bug_when>
    <thetext>Committed 312680@main (cf5c74d947a1): &lt;https://commits.webkit.org/312680@main&gt;

Reviewed commits have been landed. Closing PR #64341 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>