Debugger fills Registry with 100s of ToolbarDefault-Bar-n
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
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
GIF screen shot of registry filled by Debugger
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.
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.
Logged In: YES
user_id=884167
It also happens to me on Windows XP SP2 now (with PyWin
203).
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.
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.
Logged In: YES
user_id=14198
Fixed - will be in build 204
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.
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.
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")
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.
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
Logged In: YES
user_id=884167
I cannot reproduce it after installing 204. For me, the problem
is solved. Martin
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