While developing a product I encountered the following fatal problem. I added a stupid class declaration to my product: class AJFile: def __init__(self): self.d = {} Inside a function of the product I call "AJF = AJFile()". Zope/Python call __init__() but crashes before the initialisation of self.d (a debugging message before self.d={} is always the last life sign). Zope completely crashes in this situation. However I have no idea how get solve this problem. I do not see a core dump nor any debugging or error messages on stdout/stderr. The problem occurs with Zope 2.2.4 and 2.3alpha1 (Linux i386). Any ideas for further debugging ? Andreas
Hi Andreas, You might try this: Start Zope in debug mode (./start -D ). Then in your __init__... class AJFile: def __init__(self): import pdb pdb.set_trace() self.d = {} Zope will stop in the debugger. Step through with the debugger and see where things are going south.... -steve
On Mon, Dec 25, 2000 at 11:18:23AM -0500, Steve Spicklemire wrote:
Hi Andreas,
You might try this: Start Zope in debug mode (./start -D ). Then in your __init__...
class AJFile: def __init__(self): import pdb pdb.set_trace() self.d = {}
Zope will stop in the debugger. Step through with the debugger and see where things are going south....
It is a problem of Python 1.5.2. It seems to crash somewhere in glibc (malloc.c) when called from PyTuple_New(). I also reported this bug on the bug list for Python (#126790). Andreas
Hi Andreas, I would be really surprised if this were a python problem. Are you using any other extensions with your product? Can you post a more complete set of code that shows how this constructor is really called? It sounds like the heap is getting corrupted somehow, maybe a bad Py_DECREF? thanks, -steve
"Andreas" == Andreas Jung <andreas@andreas-jung.com> writes:
Andreas> On Mon, Dec 25, 2000 at 11:18:23AM -0500, Steve Andreas> Spicklemire wrote: >> Hi Andreas, >> >> You might try this: Start Zope in debug mode (./start -D >> ). Then in your __init__... >> >> class AJFile: def __init__(self): import pdb pdb.set_trace() >> self.d = {} >> >> >> Zope will stop in the debugger. Step through with the debugger >> and see where things are going south.... Andreas> It is a problem of Python 1.5.2. It seems to crash Andreas> somewhere in glibc (malloc.c) when called from Andreas> PyTuple_New(). I also reported this bug on the bug list Andreas> for Python (#126790). Andreas> Andreas
participants (2)
-
Andreas Jung -
Steve Spicklemire