[Webkit-unassigned] [Bug 205357] REGRESSION: [ Mac wk1 Debug ] fast/workers/worker-cloneport.html is timing out constantly

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Dec 18 13:11:00 PST 2019


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

--- Comment #10 from Chris Dumez <cdumez at apple.com> ---
(In reply to Chris Dumez from comment #9)
> (In reply to Alexey Proskuryakov from comment #8)
> > This test was taking 20-60 seconds on debug bots before 2019-09-30 (already
> > marked as slow). So it became much slower on that day.
> 
> Could be https://bugs.webkit.org/show_bug.cgi?id=202296 which started using
> the HTML event loop for dispatching MessageEvents.

Although, if I try to dispatch the messages synchronously again (instead of using the event loop), then the test takes even more time to run on my machine (30 seconds):
cdumezs-iMac-Pro:OpenSource cdumez$ git diff
diff --git a/Source/WebCore/dom/MessagePort.cpp b/Source/WebCore/dom/MessagePort.cpp
index 7f604f4e088..8df6080c1bd 100644
--- a/Source/WebCore/dom/MessagePort.cpp
+++ b/Source/WebCore/dom/MessagePort.cpp
@@ -276,7 +276,8 @@ void MessagePort::dispatchMessages()
                 return;
             auto ports = MessagePort::entanglePorts(*m_scriptExecutionContext, WTFMove(message.transferredPorts));
             // Per specification, each MessagePort object has a task source called the port message queue.
-            queueTaskToDispatchEvent(*this, TaskSource::PostedMessageQueue, MessageEvent::create(WTFMove(ports), message.message.releaseNonNull()));
+            //queueTaskToDispatchEvent(*this, TaskSource::PostedMessageQueue, MessageEvent::create(WTFMove(ports), message.message.releaseNonNull()));
+            dispatchEvent(MessageEvent::create(WTFMove(ports), message.message.releaseNonNull()));
         }
     };

diff --git a/Source/WebCore/workers/WorkerMessagingProxy.cpp b/Source/WebCore/workers/WorkerMessagingProxy.cpp
index 46037fa1805..4e1a1235710 100644
--- a/Source/WebCore/workers/WorkerMessagingProxy.cpp
+++ b/Source/WebCore/workers/WorkerMessagingProxy.cpp
@@ -104,7 +104,8 @@ void WorkerMessagingProxy::postMessageToWorkerObject(MessageWithMessagePorts&& m
             return;

         auto ports = MessagePort::entanglePorts(context, WTFMove(message.transferredPorts));
-        ActiveDOMObject::queueTaskToDispatchEvent(*workerObject, TaskSource::PostedMessageQueue, MessageEvent::create(WTFMove(ports), message.message.releaseNonNull()));
+        //ActiveDOMObject::queueTaskToDispatchEvent(*workerObject, TaskSource::PostedMessageQueue, MessageEvent::create(WTFMove(ports), message.message.releaseNonNull()));
+        workerObject->dispatchEvent(MessageEvent::create(WTFMove(ports), message.message.releaseNonNull()));
     });
 }

-- 
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/20191218/58b706a0/attachment-0001.htm>


More information about the webkit-unassigned mailing list