Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 25266e4a0ac99640e7f43cb4e581a531f50edb96
      
https://github.com/WebKit/WebKit/commit/25266e4a0ac99640e7f43cb4e581a531f50edb96
  Author: Ahmad Saleem <[email protected]>
  Date:   2026-07-19 (Sun, 19 Jul 2026)

  Changed paths:
    M LayoutTests/inspector/unit-tests/heap-snapshot-expected.txt
    M LayoutTests/inspector/unit-tests/heap-snapshot.html
    M Source/WebInspectorUI/UserInterface/Proxies/HeapSnapshotWorkerProxy.js

  Log Message:
  -----------
  Web Inspector: HeapSnapshotWorkerProxy silently drops pending callback on 
worker error response, causing callers to hang forever
https://bugs.webkit.org/show_bug.cgi?id=319766
rdar://182627846

Reviewed by Devin Rousso.

HeapSnapshotWorkerProxy._handleMessage's error branch deleted the
pending callback for a callId without ever invoking it, so any caller
of callMethod()/performAction() (e.g. HeapSnapshotProxy.update,
HeapSnapshotNodeProxy.dominatedNodes/retainers/shortestGCRootPath)
would hang forever if the worker ever responded with an error, such as
HeapSnapshotWorker's "No such object." response for a stale objectId.

* UserInterface/Proxies/HeapSnapshotWorkerProxy.js:
(WI.HeapSnapshotWorkerProxy.prototype._handleMessage): Invoke the
pending callback with null instead of dropping it, using Map.take()
to combine the get/delete pair. Report the error via
WI.reportInternalError instead of console.error so it surfaces in the
Uncaught Exception Reporter UI instead of only being visible when
inspecting Web Inspector itself.

* LayoutTests/inspector/unit-tests/heap-snapshot.html:
* LayoutTests/inspector/unit-tests/heap-snapshot-expected.txt:
Add a test that triggers the worker's error response path via an
unrecognized objectId and verifies the callback is still invoked.
Rebaseline the expected console output for the switch to
WI.reportInternalError, whose details argument is only shown in the
Uncaught Exception Reporter UI, not the console text.

Canonical link: https://commits.webkit.org/317516@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to