Open Bug 1536666 Opened 1 year ago Updated 4 months ago

Implement assertions that dbg objects we are handling are owned by the thread actor's debugger

Categories

(DevTools :: Debugger, task, P2)

task

Tracking

(Not tracked)

People

(Reporter: loganfsmyth, Assigned: bhackett1024)

References

(Blocks 1 open bug)

Details

https://bugzilla.mozilla.org/show_bug.cgi?id=1536618 could easily have been caught before it landed if we could assert that a given object is owned by the thread actor's debugger up front when the source actor is created, instead of waiting for things to throw when we call findScripts.

Blocks: dbg-69
No longer blocks: dbg-68
Type: enhancement → task
Blocks: dbg-api
Whiteboard: [debugger-mvp]
Assignee: nobody → bhackett1024

I guess at a more basic level, what is the rationale behind allowing multiple Debuggers to exist for a thread? The Debugger for the thread actor is easy to access, and having other debuggers hanging around which can't interoperate seems like something of a footgun.

I believe the rationale was that you might want to have multiple connections (i.e. the devtools panel and an editor connecting remotely). I believe that this was a feature that was added early on and has not been well tested/supported. I could be totally off the mark as well. CC Jim

Flags: needinfo?(jimb)
No longer blocks: dbg-69
Whiteboard: [debugger-mvp]

The rationale for supporting multiple Debuggers at the SpiderMonkey level was that people might want to build multiple tools that interoperate. But the devtools server ideally would have only one Debugger per debuggee per connection, since we would like share Debugger.Foo objects freely between them.

Flags: needinfo?(jimb)

Multiple Debugger support is thoroughly tested at the SpiderMonkey level. The server, I don't know.

Jason, I'm not sure what information you're looking for, but if this doesn't help, please clarify and flag me again.

You need to log in before you can comment on or make changes to this bug.