For inserting and deletion of breakpoints a mechanism was added to Observation to request suspension of the Proc before taking the actual action. There are 2 flaws with this mechanism. One in the design and one in the implementation. The design is slightly wrong since it is currently checked at the Task level, but should be checked at the Proc level and passed down to the Task level when the Proc is in the right state. The implementation for PtraceTask uses SIGSTOP, but takes action when a StoppedEvent is attempted, NOT when the Task (which should be Proc, are rather all the Tasks of a Proc, see above) is actually in the stopped state. All Tasks of the Proc should be in the T (Z or X) state. Which can be achieved by actually delivering the SIGSTOP or explicitly iterating over all the Task and get them into traced (or stopped, zombie or dead) state.