Bug 224651

Summary: Web Inspector: Uncaught Exception: null is not an object (evaluating 'this._listeners.get')
Product: WebKit Reporter: Devin Rousso <drousso>
Component: Web InspectorAssignee: Devin Rousso <drousso>
Severity: Normal CC: bburg, drousso, inspector-bugzilla-changes, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
URL: http://acko.net/
See Also: https://bugs.webkit.org/show_bug.cgi?id=224652
Description Flags
Patch none

Description Devin Rousso 2021-04-15 23:41:19 PDT
1. inspect <http://acko.net>
2. take a single-frame canvas recording

Uncaught Exceptions:
 - null is not an object (evaluating 'this._listeners.get') (at Object.js:83:52)
    removeEventListener @ Object.js:83:52
    ondetach @ ShaderProgramTreeElement.js:66:55
    _detach @ TreeElement.js:294:26
    removeChildren @ TreeOutline.js:382:26
    removeChildren @ FolderizedTreeElement.js:74:29
    onpopulate @ CanvasTreeElement.js:75:28
    expand @ TreeElement.js:412:28
    reveal @ TreeElement.js:488:39
    revealAndSelect @ TreeElement.js:551:20
    _revealAndSelectRepresentedObject @ ContentBrowserTabContentView.js:307:40
    _contentBrowserCurrentContentViewDidChange @ ContentBrowserTabContentView.js:289:47
    dispatch @ Object.js:129:35
    dispatchEventToListeners @ Object.js:137:17
    _currentContentViewDidChange @ ContentBrowser.js:540:38
    dispatch @ Object.js:129:35
    dispatchEventToListeners @ Object.js:137:17
    showBackForwardEntryForIndex @ ContentViewContainer.js:164:38
    showContentView @ ContentViewContainer.js:141:42
    showRepresentedObject @ ContentBrowserTabContentView.js:218:64
    showRepresentedObject @ GraphicsTabContentView.js:108:36
    _addRecording @ GraphicsTabContentView.js:262:39
    _handleRecordingSavedOrStopped @ GraphicsTabContentView.js:309:27
    dispatch @ Object.js:129:35
    dispatchEventToListeners @ Object.js:145:21
    recordingFinished @ Canvas.js:427:38
    recordingFinished @ CanvasManager.js:232:33
    recordingFinished @ CanvasObserver.js:62:43
    _dispatchEvent @ Connection.js:210:26
    dispatch @ Connection.js:79:32
    dispatchMessageFromTarget @ TargetManager.js:176:39
    dispatchMessageFromTarget @ TargetObserver.js:47:51
    _dispatchEvent @ Connection.js:210:26
    dispatch @ Connection.js:79:32
    dispatch @ InspectorBackend.js:232:52
    ? @ MessageDispatcher.js:42:34

Additional Details:
    cause --> An uncaught exception was thrown while handling event: Canvas.recordingFinished

Inspected URL:        http://acko.net/
Loading completed:    true
Frontend User Agent:  Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)
Dispatch Source:      Protocol Event

Protocol Event:
Comment 1 Devin Rousso 2021-04-15 23:52:42 PDT
Created attachment 426189 [details]
Comment 2 BJ Burg 2021-04-16 09:37:03 PDT
Comment on attachment 426189 [details]


Sad to be covering up this problem. We need to prioritize fixing the followup, since we now know what the design issue is.
Comment 3 Devin Rousso 2021-04-16 10:23:08 PDT
Comment on attachment 426189 [details]

(In reply to BJ Burg from comment #2)
> Sad to be covering up this problem. We need to prioritize fixing the followup, since we now know what the design issue is.

Yeah I agree :(

I remember making a decision not to add these early-return in r269359 because my thought was "this should never happen as we'd consider it an error", but since then I've seen it be an issue a handful of times, so I'd rather not have that happen to actual developers.
Comment 4 EWS 2021-04-16 11:07:30 PDT
Committed r276146 (236639@main): <https://commits.webkit.org/236639@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426189 [details].
Comment 5 Radar WebKit Bug Importer 2021-04-24 15:09:22 PDT