Summary: | Web Inspector: CRASH when debugger closes while paused and remote inspecting a JSContext | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Joseph Pecoraro <joepeck> | ||||
Component: | Web Inspector | Assignee: | Joseph Pecoraro <joepeck> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | ggaren, joepeck, mark.lam, timothy, webkit-bug-importer | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | All | ||||||
OS: | All | ||||||
Attachments: |
|
Description
Joseph Pecoraro
2014-01-27 19:50:25 PST
(In reply to comment #0) > It seems like we need to handle some special kind of connection closing when we are inside a nested runloop. This is very ugly unless we can just say "continue now, and cleanup on the next runloop". Or we could decide to lazily keep the JSGlobalObjectInspectorController object and some agents around. That could be somewhat useful. E.g. what if you wanted to store console messages, or $1..$9 inspector objects variables. That would mean storing those objects on the JSGlobalObject instead of JSGlobalObjectRemoteDebuggable. Created attachment 224109 [details]
[PATCH] Proposed Fix
This addresses 2 known crashes:
1. Crash when RWI paused and closing RWI
2. Crash when RWI connected and JSGlobalObject is destroyed
This does mean that each JSGlobalObject allocated an InspectorController / Inspector{,Runtime,Debugger,Console} agent. But they do nothing unless you open an RWI connection to the inspector. Soon I will take advantage of the agents being available outside of a remote debug session and stash exception info.
|