#226 pydev debugger often freezing

1.0.1
closed-works-for-me
debugger (210)
5
2006-02-16
2006-02-09
No

Hi Fabio,

Eclipse: 3.1
PyDev: 1.0.1
OS: Windows XP
Java: Sun JRE 1.5.0_05

I've been facing this gentle freeze very often while
debugging. It doesn't have a definite time when it
freezes. Sometimes it also freezes withing 5 minutes
while the debugger is running.

I suspect the number of steps aren't being handled
properly by the debugger properly. If I "step in"
with some time gap, say one step a second or two, it
works.

The freeze is soft and isn't crashing anything. It
just doesn't proceed. The only way to recover is to
restart the debugging process.

rrs

Discussion

1 2 3 > >> (Page 1 of 3)
  • Fabio Zadrozny
    Fabio Zadrozny
    2006-02-10

    • status: open --> pending
     
  • Fabio Zadrozny
    Fabio Zadrozny
    2006-02-10

    Logged In: YES
    user_id=617340

    So, that happens only while stepping in?

     
    • status: pending --> open
     
  • Logged In: YES
    user_id=382018

    Yes,
    I can't exactly tell you about *when* it happens.
    Sometimes it can be just a minute and sometimes after a
    lot of recursions in a loop.
    It isn't definite.
    If you tell me some steps, I can do it for you.

    Regards,
    rrs

     
  • Fabio Zadrozny
    Fabio Zadrozny
    2006-02-10

    Logged In: YES
    user_id=617340

    Seems like some threading issue... Make a test for me: there
    is a 'big if clause in the pydevd.py' file
    (org.python.pydev.debug_xxx/pyrsr/pydevd.py)

    Try just changing the order of the assigns:
    t.additionalInfo.pydev_state
    t.additionalInfo.pydev_step_cmd

    to
    t.additionalInfo.pydev_step_cmd
    t.additionalInfo.pydev_state

    (that's around line 237).

    The result would be something as:

    elif id == CMD_THREAD_RUN:
    t = pydevd_findThreadById(text)
    if t:
    t.additionalInfo.pydev_step_cmd = None
    t.additionalInfo.pydev_state =
    PyDB.STATE_RUN

    elif id == CMD_STEP_INTO or id == CMD_STEP_OVER
    or id == CMD_STEP_RETURN:
    #we received some command to make a single step
    t = pydevd_findThreadById(text)
    if t:
    t.additionalInfo.pydev_step_cmd = id
    t.additionalInfo.pydev_state =
    PyDB.STATE_RUN

     
  • Fabio Zadrozny
    Fabio Zadrozny
    2006-02-10

    • status: open --> pending
     
  • Logged In: YES
    user_id=382018

    I've done the changes and am testing. Up till now, I've
    had another 2 freezes.

    Regards,
    rrs

     
    • status: pending --> open
     
  • Fabio Zadrozny
    Fabio Zadrozny
    2006-02-10

    Logged In: YES
    user_id=617340

    try replacing it with the file attached: pydevd.py v01

     
  • Fabio Zadrozny
    Fabio Zadrozny
    2006-02-10

    • status: open --> pending
     
1 2 3 > >> (Page 1 of 3)