If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

Devtools encounter objects in invisibleToDebugger compartments too often

NEW
Unassigned

Status

()

Firefox
Developer Tools
P3
normal
a month ago
4 days ago

People

(Reporter: jimb, Unassigned)

Tracking

unspecified
Points:
---

Firefox Tracking Flags

(firefox57 fix-optional)

Details

(Reporter)

Description

a month ago
Ordinary JavaScript debugging should never encounter objects in invisibleToDebugger compartments, but it seems that it does.

In bug 1389787, Oriol observed that calling Debugger.Object.prototype.unwrap from ObjectActor.prototype.grip caused test failures because it throws an error. D.O.p.unwrap only throws an exception if the referent of the wrapper the D.O refers to is in an invisibleToDebugger compartment. Such objects should be very rare, and there's certainly no reason the ordinary devtools tests should encounter them. However, comments 14-16 in bug 1389787 suggest that they do.

We need to figure out where these objects are coming from, whether their reachability is normal and expected, and adapt the devtools accordingly.

Looking over the cases where invisibleToDebugger compartments are created, I suspect that these objects are from SimpleGlobalObject globals, used by WebIDL to parse JSON strings being converted to WebIDL dictionaries.
Priority: -- → P3
status-firefox57: --- → fix-optional
You need to log in before you can comment on or make changes to this bug.