<html>
    <head>
      <base href="https://bugs.webkit.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Web app fails only when dev tools is open"
   href="https://bugs.webkit.org/show_bug.cgi?id=235017">235017</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Web app fails only when dev tools is open
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>WebKit
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>Safari Technology Preview
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Mac (Intel)
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>macOS 11
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P2
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Web Inspector
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>webkit-unassigned@lists.webkit.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>apple-rth@hashimoto.us
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>inspector-bugzilla-changes@group.apple.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=448705" name="attach_448705" title="Simple web app + screen capture of error">attachment 448705</a> <a href="attachment.cgi?id=448705&action=edit" title="Simple web app + screen capture of error">[details]</a></span>
Simple web app + screen capture of error

The attached simple web app works when developer tools is closed but fails when developer tools is open, showing "This webpage was reloaded because a problem occurred." (see screencap in attached archive).

The web app displays no user interface. It creates two workers and sends messages for 10 seconds between the page and workers using both Worker and MessagePort postMessage. The workers log status to the console.

If you open MessagePort.html with dev tools *closed*, wait ten seconds, and then open the console, the console should show this expected output (random worker ids will differ on each load):

[Log] worker – "0.8ea61cc652bf18" (MessagePort.js, line 3)
[Log] 0.8ea61cc652bf18 – "received port" (MessagePort.js, line 7)
[Log] 0.8ea61cc652bf18 – "received message" – "1" (MessagePort.js, line 13)
[Log] 0.8ea61cc652bf18 – "received port" (MessagePort.js, line 7)
[Log] 0.8ea61cc652bf18 – "received message" – "3" (MessagePort.js, line 13)
[Log] 0.8ea61cc652bf18 – "received port" (MessagePort.js, line 7)
[Log] 0.8ea61cc652bf18 – "received message" – "5" (MessagePort.js, line 13)
[Log] 0.8ea61cc652bf18 – "received port" (MessagePort.js, line 7)
[Log] 0.8ea61cc652bf18 – "received message" – "7" (MessagePort.js, line 13)
[Log] 0.8ea61cc652bf18 – "received port" (MessagePort.js, line 7)
[Log] 0.8ea61cc652bf18 – "received message" – "9" (MessagePort.js, line 13)
[Log] worker – "0.5ccb01cc4dd668" (MessagePort.js, line 3)
[Log] 0.5ccb01cc4dd668 – "received port" (MessagePort.js, line 7)
[Log] 0.5ccb01cc4dd668 – "received message" – "0" (MessagePort.js, line 13)
[Log] 0.5ccb01cc4dd668 – "received port" (MessagePort.js, line 7)
[Log] 0.5ccb01cc4dd668 – "received message" – "2" (MessagePort.js, line 13)
[Log] 0.5ccb01cc4dd668 – "received port" (MessagePort.js, line 7)
[Log] 0.5ccb01cc4dd668 – "received message" – "4" (MessagePort.js, line 13)
[Log] 0.5ccb01cc4dd668 – "received port" (MessagePort.js, line 7)
[Log] 0.5ccb01cc4dd668 – "received message" – "6" (MessagePort.js, line 13)
[Log] 0.5ccb01cc4dd668 – "received port" (MessagePort.js, line 7)
[Log] 0.5ccb01cc4dd668 – "received message" – "8" (MessagePort.js, line 13)
[Log] 0.5ccb01cc4dd668 – "received port" (MessagePort.js, line 7)

If you load the page when dev tools is *open*, you will only see:

[Log] worker – "0.b17e186a48b3d" (MessagePort.js, line 3)
[Log] worker – "0.701a3cedb2def8" (MessagePort.js, line 3)
[Log] 0.701a3cedb2def8 – "received port" (MessagePort.js, line 7)
[Log] 0.701a3cedb2def8 – "received message" – "0" (MessagePort.js, line 13)
[Log] 0.b17e186a48b3d – "received port" (MessagePort.js, line 7)

with no error displayed in dev tools, only the "This webpage was reloaded because a problem occurred." notice on the page itself.

I see this both on production Safari (Version 15.2 (16612.3.6.1.8, 16612)) and Technology Preview 137 on macOS 11.6.2. It works properly on Chrome 96 and Firefox 95.


This test page transfers a MessagePort back and forth between the workers (via the main page). It is possible that the failure when dev tools is open has something to do with that.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>