Menu

#142 Debugger fills Registry with 100s of ToolbarDefault-Bar-n

closed-fixed
nobody
pythonwin (177)
4
2005-03-05
2004-08-27
No

On Windows 2000, PythonWin creates many hundreds of
ToolbarDefault-Bar-n keys in the registry once the
debugger is invoked (either by debug or post-mortem)
and the 'go' or 'close' button is clicked.

It seems to be specific to Windows 2000, where it
occurs each time, and makes the debugger pretty
unusable, because the registry slows down Windows to
the point of unusability and instability.

I could not reproduce it on Windows XP Pro.

Environment:
PythonWin Build 202
PythonWin 2.3.3 (#51, Dec 18 2003, 20:22:39) [MSC
v.1200 32 bit (Intel)] on win32.
Windows 2000, SP4, Build 2195

Best regards,
Martin

Discussion

  • Anonymous

    Anonymous - 2004-08-27

    GIF screen shot of registry filled by Debugger

     
  • Anonymous

    Anonymous - 2004-08-27
    • priority: 5 --> 7
     
  • bob gailer

    bob gailer - 2004-08-28

    Logged In: YES
    user_id=587593

    *This problem has also been entered under 894191 and 944506.
    It definitely causes problems, and has not, to my knowledge
    been addressed. 944506 has never been assigned!

    Please, someone who knows the details of what should happen
    help us.

     
  • Mark Hammond

    Mark Hammond - 2004-10-09
    • priority: 7 --> 4
     
  • Mark Hammond

    Mark Hammond - 2004-10-09

    Logged In: YES
    user_id=14198

    As I said in 944506:
    I've failed again to solve this. It sounds alot like
    Q151446, but that is pre MFC6, and doesn't solve the
    problem. It *nearly* does. I'm closing this and will keep
    "[ 1017504 ] Debugger fills Registry with 100s of
    ToolbarDefault-Bar-n" open (only as it has a better name)

    The next release will have that SaveBarState() call
    commented out. Dropping priority as this should mean the
    bug is much less severe.

     
  • Anonymous

    Anonymous - 2004-12-22

    Logged In: YES
    user_id=884167

    It also happens to me on Windows XP SP2 now (with PyWin
    203).

     
  • Colin J. Williams

    Logged In: YES
    user_id=285587

    The following traceback appears to be connected with the
    flood of toolbar entries to the registry of Windows XP with
    PythonWin build 203.

    The work around is to uninstall PythonWin and then remove
    the Python for win32 entry in the registry (uninstall
    doesn't do this).

    Finally, reinstall PythonWin.

    >>> Traceback (most recent call last):
    File
    "C:\Python23\Lib\site-packages\pythonwin\pywin\framework\dbgcommands.py",
    line 65, in OnStepOver
    self._DoOrStart("do_set_next", scriptutils.RS_DEBUGGER_STEP)
    File
    "C:\Python23\Lib\site-packages\pythonwin\pywin\framework\dbgcommands.py",
    line 57, in _DoOrStart
    method()
    File
    "C:\Python23\Lib\site-packages\pythonwin\pywin\debugger\debugger.py",
    line 632, in do_set_next
    if self.GUIAboutToRun():
    File
    "C:\Python23\Lib\site-packages\pythonwin\pywin\debugger\debugger.py",
    line 791, in GUIAboutToRun
    if not self.StopDebuggerPump():
    File
    "C:\Python23\Lib\site-packages\pythonwin\pywin\debugger\debugger.py",
    line 487, in StopDebuggerPump
    assert self.pumping, "Can't stop the debugger pump if Im
    not pumping!"
    AssertionError: Can't stop the debugger pump if Im not pumping!
    win32ui: Error in Command Message handler for command ID
    15021, Code 0

    Best wishes,

    Colin W.

     
  • Anonymous

    Anonymous - 2005-01-10

    Logged In: YES
    user_id=884167

    I never encountered this AssertionError, nevertheless the
    registry gets filled regularly. I zap the PyWin part of the
    registry now routinely after using the debugger.

     
  • Mark Hammond

    Mark Hammond - 2005-03-05
    • status: open --> closed-fixed
     
  • Mark Hammond

    Mark Hammond - 2005-03-05

    Logged In: YES
    user_id=14198

    Fixed - will be in build 204

     
  • Colin J. Williams

    Logged In: YES
    user_id=285587

    Thanks Mark, I'll be watching for 204.

    Incidentally, with very limited usage so far, I have the
    impression that the problem did not exist with Python 2.4.2

    Colin W.

     
  • Mark Hammond

    Mark Hammond - 2005-03-06

    Logged In: YES
    user_id=14198

    The problem probably appeared ok in 2.4 due to another bug
    which caused a crash at shutdown, possibly preventing the
    toolbar state from being saved (and thereby not hitting the
    problem). That bug was also recently fixed.

     
  • Erik Andersén

    Erik Andersén - 2005-11-10

    Logged In: YES
    user_id=364358

    This can be fixed by commenting out the line
    self.saveBarState("ToolBarbefault") in intpyapp.py.

    Of couse, then pythonwin cannot remeber its bar state
    between sessions, but it is necessary to solve this
    problem -- otherwise pythonwin becames impossibly slow
    after the debugger has been entered and exited a
    number of times. The huge number of barstates saved
    can also cause interference to other applications
    running.

    Patch:
    58c58
    < self.SaveBarState("ToolbarDefault")

    ---
    > ## self.SaveBarState("ToolbarDefault")

     
  • Mark Hammond

    Mark Hammond - 2005-11-10

    Logged In: YES
    user_id=14198

    This bug is already marked as fixed - assumikng you have the
    latest pywin32 extensions, there should be no need to change
    anything.

     
  • Erik Andersén

    Erik Andersén - 2005-11-13

    Logged In: YES
    user_id=364358

    It still exists in both 205 and 204.

    To trigger it, start pythonwin, enter and leave the
    debugger a couple of times, and you will have the junk in
    the registry.

    Win XP SP2 Python 2.4.2

    Erik

     
  • Anonymous

    Anonymous - 2005-11-14

    Logged In: YES
    user_id=884167

    I cannot reproduce it after installing 204. For me, the problem
    is solved. Martin

     
  • Erik Andersén

    Erik Andersén - 2006-02-25

    Logged In: YES
    user_id=364358

    I removed all registy entries for pythonwin and that solved
    the problem. Obviously, upgrades to new versions don't
    delete the bad registry entries that cause the bug.

    Erik