[Webkit-unassigned] [Bug 184502] New: Safari 11.1: MessageChannel no longer works between Workers

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Apr 11 08:27:12 PDT 2018


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

            Bug ID: 184502
           Summary: Safari 11.1: MessageChannel no longer works between
                    Workers
           Product: WebKit
           Version: Safari 11
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Critical
          Priority: P2
         Component: WebKit Misc.
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: ashley at scirra.com

This is a critical issue that causes our PWA Construct 3 (editor.construct.net) to no longer work in Safari 11.1 on either iOS 11.3 or macOS 10.13.4.

Repro URL: https://www.scirra.com/labs/bugs/safarimessagechannel/
Steps to reproduce: open page, open JavaScript console, and look at log messages

Expected result: last log message should read: "[Worker2] Received forwarded message:  Hello world"
Observed result: last log message reads: "[Worker1] Received message to forward, posting to Worker 2:  Hello world"

This URL creates two Web Workers, creates a MessageChannel, and transfers port1 and port2 to the first and second web workers. This is a typical way to allow Web Workers to directly communicate without going through the main document, and is a workaround to the fact nested workers aren't widely supported. For example now if Worker 1 posts data to its message port, it will be received by port2 in Worker 2.

In Safari 11.1, a message posted down the MessageChannel is never received at the other end. This causes this setup to fail, since no messages are received by the other worker. In our PWA, this causes the UI to permanently hang, since we use this arrangement to dispatch several kinds of processing jobs to web workers. It works correctly in Chrome 65, Firefox 59 and Edge 16.

The log message "[Worker2] Received forwarded message:  Hello world" indicates that Worker 2 received a message sent down the MessageChannel from Worker 1. This log message is missing in Safari 11.1. The final log message ("[Worker1] Received message to forward, posting to Worker 2:  Hello world") indicates the message was posted, but it is never received.

-- 
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/20180411/8dc387ce/attachment-0002.html>


More information about the webkit-unassigned mailing list