Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 163780

Summary: Irregular state control
Product: z_Archived Reporter: Toshihiro Izumi <euthanasia_waltz>
Component: PDTAssignee: Shalom Gibly <shalom>
Status: CLOSED FIXED QA Contact: Yossi Luson <yossi.l>
Severity: minor    
Priority: P2 CC: gadi, spektom
Version: unspecifiedKeywords: plan
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Toshihiro Izumi CLA 2006-11-08 05:14:46 EST
*Sometimes* PHPIDE does not respond when I carried out StepInto. PHPIDE shows 'running' state so I have to select process|thread and click 'Suspend' button.

org.eclipse.php.debug.core.model.PHPDebugTarget#stepInto()
>protected void stepInto() throws DebugException {
>    Logger.debugMSG("[" + this + "] PHPDebugTarget: stepInto ");
>    fLastcmd = "stepInto";
>    fStatus = debugger.stepInto(fStepIntoResponseHandler);
>    if (!fStatus) {
>        Logger.log(Logger.ERROR_DEBUG, "PHPDebugTarget: debugger.stepInto return false");
>    }
>    int detail = DebugEvent.STEP_INTO;
>    resumed(detail);
>}

IMO, 'resumed(detail)' should be carried out before invoking 'debugger.stepInto()'.
Usually the state of the IDE flows suspended -> running(resumed) -> suspended.
If response of debugger is too quick, the state of the IDE flows suspended -> suspended -> running(resumed).

PHPDebugTarget#stepOver() is same. (or worse)
Don't omit firing event.
Comment 1 Shalom Gibly CLA 2007-02-13 08:26:08 EST
Modified the code according to your suggestion.
Since this situation occurs sometimes, testing it will take some more time 
before we can say this problem is behind us. 

Thank you Toshihiro!!! 
Appreciate your help!
Comment 2 Shalom Gibly CLA 2007-02-13 08:40:18 EST
*** Bug 169004 has been marked as a duplicate of this bug. ***
Comment 3 Gadi Goldbarg CLA 2007-02-18 04:56:02 EST
Yosi: couldn't recreate this bug
Comment 4 Michael Spector CLA 2009-05-27 11:20:00 EDT
I've re-created this bug on Fedora virtual box machine. More fixes where needed in PHPDebugTarget :)