<?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>222104</bug_id>
          
          <creation_ts>2021-02-18 05:53:18 -0800</creation_ts>
          <short_desc>RemoteRenderingBackend::wakeUpAndApplyDisplayList called with pending display list</short_desc>
          <delta_ts>2021-02-25 05:54:11 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Canvas</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dino</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1730827</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-02-18 05:53:18 -0800</bug_when>
    <thetext>RemoteRenderingBackend::wakeUpAndApplyDisplayList called with pending display list

This should not happen, as it means the pending list is lost.


@@ -272,11 +274,13 @@ void RemoteRenderingBackend::wakeUpAndApplyDisplayList(const GPUProcessWakeupMes
 
     auto initialHandle = m_sharedDisplayListHandles.get(arguments.itemBufferIdentifier);
     MESSAGE_CHECK(initialHandle, &quot;Missing initial shared display list handle&quot;);
 
     destinationImageBuffer = nextDestinationImageBufferAfterApplyingDisplayLists(*destinationImageBuffer, arguments.offset, *initialHandle, arguments.reason);
     if (!destinationImageBuffer)
         return;
-
+    ASSERT(!m_pendingWakeupInfo);

[1/8] fast/canvas/canvas-composite-text-alpha.html failed unexpectedly (GPUProcess crashed [pid=66757])
[2/8] fast/canvas/canvas-composite-alpha.html failed unexpectedly (GPUProcess crashed [pid=66765])
[3/8] fast/canvas/canvas-context-save-limit.html failed unexpectedly (GPUProcess crashed [pid=66785])
[4/8] fast/canvas/canvas-putImageData.html failed unexpectedly (GPUProcess crashed [pid=66789])
[5/8] fast/canvas/canvas-composite-stroke-alpha.html failed unexpectedly (GPUProcess crashed [pid=66806])
[6/8] fast/canvas/canvas-composite-image.html failed unexpectedly (GPUProcess crashed [pid=66814])
[8/8] fast/canvas/canvas-composite-canvas.html failed unexpectedly (GPUProcess crashed [pid=66832])




Thread 3 Crashed:: Dispatch queue: RemoteRenderingBackend work queue
0   com.apple.JavaScriptCore      	0x000000013fa4f04e WTFCrash + 14 (Assertions.cpp:295)
1   com.apple.WebKit              	0x000000010e5df46b WTFCrashWithInfo(int, char const*, char const*, int) + 27 (Assertions.h:671)
2   com.apple.WebKit              	0x000000010f0478c3 WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayList(WebKit::GPUProcessWakeupMessageArguments const&amp;) + 1123 (RemoteRenderingBackend.cpp:282)
3   com.apple.WebKit              	0x000000010f00cfa0 void IPC::callMemberFunctionImpl&lt;WebKit::RemoteRenderingBackend, void (WebKit::RemoteRenderingBackend::*)(WebKit::GPUProcessWakeupMessageArguments const&amp;), std::__1::tuple&lt;WebKit::GPUProcessWakeupMessageArguments&gt;, 0ul&gt;(WebKit::RemoteRenderingBackend*, void (WebKit::RemoteRenderingBackend::*)(WebKit::GPUProcessWakeupMessageArguments const&amp;), std::__1::tuple&lt;WebKit::GPUProcessWakeupMessageArguments&gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt;) + 160 (HandleMessage.h:42)
4   com.apple.WebKit              	0x000000010f00c5b0 void IPC::callMemberFunction&lt;WebKit::RemoteRenderingBackend, void (WebKit::RemoteRenderingBackend::*)(WebKit::GPUProcessWakeupMessageArguments const&amp;), std::__1::tuple&lt;WebKit::GPUProcessWakeupMessageArguments&gt;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt; &gt;(std::__1::tuple&lt;WebKit::GPUProcessWakeupMessageArguments&gt;&amp;&amp;, WebKit::RemoteRenderingBackend*, void (WebKit::RemoteRenderingBackend::*)(WebKit::GPUProcessWakeupMessageArguments const&amp;)) + 112 (HandleMessage.h:48)
5   com.apple.WebKit              	0x000000010eff05a6 void IPC::handleMessage&lt;Messages::RemoteRenderingBackend::WakeUpAndApplyDisplayList, WebKit::RemoteRenderingBackend, void (WebKit::RemoteRenderingBackend::*)(WebKit::GPUProcessWakeupMessageArguments const&amp;)&gt;(IPC::Decoder&amp;, WebKit::RemoteRenderingBackend*, void (WebKit::RemoteRenderingBackend::*)(WebKit::GPUProcessWakeupMessageArguments const&amp;)) + 150 (HandleMessage.h:120)
6   com.apple.WebKit              	0x000000010eff01da WebKit::RemoteRenderingBackend::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 218 (RemoteRenderingBackendMessageReceiver.cpp:94)
7   com.apple.WebKit              	0x000000010e658892 IPC::Connection::dispatchMessageReceiverMessage(IPC::MessageReceiver&amp;, std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;&amp;&amp;) + 98 (Connection.cpp:362)
8   com.apple.WebKit              	0x000000010e6613ba IPC::WorkQueueMessageReceiverQueue::enqueueMessage(IPC::Connection&amp;, std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;&amp;&amp;)::&apos;lambda&apos;()::operator()() + 90 (MessageReceiveQueues.h:86)
9   com.apple.WebKit              	0x000000010e6610ae WTF::Detail::CallableWrapper&lt;IPC::WorkQueueMessageReceiverQueue::enqueueMessage(IPC::Connection&amp;, std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;&amp;&amp;)::&apos;lambda&apos;(), void&gt;::call() + 30 (Function.h:52)
10  com.apple.JavaScriptCore      	0x000000013fa77732 WTF::Function&lt;void ()&gt;::operator()() const + 130 (Function.h:83)
11  com.apple.JavaScriptCore      	0x000000013fb809de WTF::WorkQueue::dispatch(WTF::Function&lt;void ()&gt;&amp;&amp;)::$_0::operator()() const + 30 (WorkQueueCocoa.cpp:37)
12  com.apple.JavaScriptCore      	0x000000013fb80be2 WTF::BlockPtr&lt;void ()&gt; WTF::BlockPtr&lt;void ()&gt;::fromCallable&lt;WTF::WorkQueue::dispatch(WTF::Function&lt;void ()&gt;&amp;&amp;)::$_0&gt;(WTF::WorkQueue::dispatch(WTF::Function&lt;void ()&gt;&amp;&amp;)::$_0)::&apos;lambda&apos;(void*)::operator()(void*) const + 34 (BlockPtr.h:111)
13  com.apple.JavaScriptCore      	0x000000013fb80bb5 WTF::BlockPtr&lt;void ()&gt; WTF::BlockPtr&lt;void ()&gt;::fromCallable&lt;WTF::WorkQueue::dispatch(WTF::Function&lt;void ()&gt;&amp;&amp;)::$_0&gt;(WTF::WorkQueue::dispatch(WTF::Function&lt;void ()&gt;&amp;&amp;)::$_0)::&apos;lambda&apos;(void*)::__invoke(void*) + 21 (BlockPtr.h:110)
14  libdispatch.dylib             	0x00007fff2026d5dd _dispatch_call_block_and_release + 12
15  libdispatch.dylib             	0x00007fff2026e7c7 _dispatch_client_callout + 8
16  libdispatch.dylib             	0x00007fff202745fe _dispatch_lane_serial_drain + 606
17  libdispatch.dylib             	0x00007fff202750cb _dispatch_lane_invoke + 375
18  libdispatch.dylib             	0x00007fff2027ec5d _dispatch_workloop_worker_thread + 819
19  libsystem_pthread.dylib       	0x00007fff20416499 _pthread_wqthread + 314
20  libsystem_pthread.dylib       	0x00007fff20415467 start_wqthread + 15</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730978</commentid>
    <comment_count>1</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-02-18 12:38:16 -0800</bug_when>
    <thetext>I&apos;m a bit confused about this bug. Is there a reason we would expect m_pendingWakeupInfo to always be missing after the initial `nextDestinationImageBufferAfterApplyingDisplayLists`?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733300</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-25 05:54:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/74741555&gt;</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>