Closed Bug 788578 Opened 12 years ago Closed 11 years ago

ThreadClient.prototype.interrupt probably doesn't work

Categories

(DevTools :: Debugger, defect, P3)

defect

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: jimb, Unassigned)

References

Details

ThreadClient#interrupt uses DebuggerClient#request to send the interrupt. However, DebuggerClient#request queues up packets to actors it believes are still processing prior requests, which means that the interrupt packet will never be sent until the debuggee pauses anyway.

This is just from inspecting the code; I'll verify that it does indeed work the way it looks like it does.
Do you have any specific examples in mind where the sequence of packets may lead to this state? Since interrupt packets are sent when the thread client is not paused, I can't think of any valid such cases, besides things like sending an interrupt packet after a detach packet to the thread. If this is about having multiple simultaneous interrupt packets, this is indeed an issue, and Nick has a patch for that in bug 755661 (Part 2: Interrupt and resume).
Depends on: 755661
Priority: -- → P2
Jim, any luck verifying this?

Filter on BLACKEAGLE.
Priority: P2 → P3
(In reply to Jim Blandy :jimb from comment #0)
> However, DebuggerClient#request queues up packets to actors it believes are
> still processing prior requests, which means that the interrupt packet will
> never be sent until the debuggee pauses anyway.

The second point doesn't follow from the first.

The queuing just means that the client will wait until other requests to the thread actor are fulfilled. What other requests can you send a non-paused thread actor? You can get a list of sources or detach and that's about it.

Reopen if I am off my rocker.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → INVALID
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.