[Python-Dev] Crash in new "trashcan" mechanism.

Mark Hammond mhammond@skippinet.com.au
Mon, 10 Apr 2000 14:32:53 +1000


[Im re-sending as the attachment caused this to be held up for
administrative approval.  Ive forwarded the attachement to Chris -
anyone else just mail me for it]

Ive struck a crash in the new trashcan mechanism (so I guess Chris
is gunna pay the most attention here).  Although I can only provoke
this reliably in debug builds, I believe it also exists in release
builds, but is just far more insidious.

Unfortunately, I also can not create a simple crash case.  But I
_can_ provide info on how you can reliably cause the crash.
Obviously only tested on Windows...

* Go to http://lima.mudlib.org/~rassilon/p2c/, and grab the
download, and unzip.

* Replace "transformer.py" with the attached version (multi-arg
append bites :-)

* Ensure you have a Windows "debug" build available, built from CVS.

* From the p2c directory, Run "python_d.exe gencode.py gencode.py"

You will get a crash, and the debugger will show you are destructing
a list, with an invalid object.  The crash occurs about 1000 times
after this code is first hit, and I can't narrow the crash condition
down :-(

If you open object.h, and disable the trashcan mechanism (by
changing the "xx", as the comments suggest) then it runs fine.

Hope this helps someone - Im afraid I havent a clue :-(

Mark.