[Zope-Coders] Python 2.2 and Zope 2.6
Guido van Rossum
guido@python.org
Thu, 30 May 2002 12:50:02 -0400
> FWIW, regarding collector #200, on Python 2.3 w/ --with-pydebug as
> suggested:
>
> Adding parser accelerators ...
> Done.
> Fatal Python error: UNREF invalid object
> Abort - core dumped
> [6237 refs]
>
> >From the trace it looks like it looks like it crashes loading
> ZPublisher.BaseRequest:
>
> #0 0xff0d9790 in __sigprocmask () from /usr/lib/libthread.so.1
> #1 0xff0ce9b4 in _resetsig () from /usr/lib/libthread.so.1
> #2 0xff0ce154 in _sigon () from /usr/lib/libthread.so.1
> #3 0xff0d1194 in _thrp_kill () from /usr/lib/libthread.so.1
> #4 0xff14b740 in raise () from /usr/lib/libc.so.1
> #5 0xff135ab4 in abort () from /usr/lib/libc.so.1
> #6 0xdf0e4 in Py_FatalError (msg=0x13b7e8 "UNREF invalid object")
> at Python/pythonrun.c:1283
> #7 0x41184 in _Py_ForgetReference (op=0x361038) at Objects/object.c:1831
Any chance of rooting around to find out what the type of 'op' is
here? E.g. hit "down" or "up" until at this frame, and ask GDB to
print op->ob_type->tp_name.
Um, never mind. According to the source code for
PyObject_CallFunction it's a tuple. That's rather painful, because it
means that we have memory corruption.
> #8 0x411d0 in _Py_Dealloc (op=0x361038) at Objects/object.c:1852
> #9 0x10bf3c in PyObject_CallFunction (callable=0xfe56c8e0,
> format=0x141ae0 "OOO") at Objects/abstract.c:1732
> #10 0xa9090 in build_class (methods=0x2d9f50, bases=0x35d8f8, name=0x35b6e8)
> at Python/ceval.c:3612
> #11 0x9bcdc in eval_frame (f=0x2ffb48) at Python/ceval.c:1568
> #12 0xa3220 in PyEval_EvalCodeEx (co=0x35ab80, globals=0x2d9818,
> locals=0x2d9818, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0,
> defcount=0, closure=0x0) at Python/ceval.c:2585
> #13 0x90980 in PyEval_EvalCode (co=0x35ab80, globals=0x2d9818,
> locals=0x2d9818)
> at Python/ceval.c:483
> #14 0xcbc7c in PyImport_ExecCodeModuleEx (
> name=0xffbe2e18 "ZPublisher.BaseRequest", co=0x35ab80,
> pathname=0xffbe23e8
> "/tmp/zope_test/lib/zope/zigg_unix-install-control-config-branch-2002_05_30/ZPublisher/BaseRequest.pyc")
> at Python/import.c:521
> #15 0xcc71c in load_source_module (name=0xffbe2e18
> "ZPublisher.BaseRequest",
> pathname=0xffbe23e8
> "/tmp/zope_test/lib/zope/zigg_unix-install-control-config-branch-2002_05_30/ZPublisher/BaseRequest.pyc",
> fp=0x17c8f0)
> at Python/import.c:791
> #16 0xcd694 in load_module (name=0xffbe2e18 "ZPublisher.BaseRequest",
> fp=0x17c8f0,
> buf=0xffbe28f0
> "/tmp/zope_test/lib/zope/zigg_unix-install-control-config-branch-2002_05_30/ZPublisher/BaseRequest.py",
> type=1) at Python/import.c:1431
> #17 0xcfad4 in import_submodule (mod=0x2b5310,
> subname=0xffbe2e23 "BaseRequest",
> fullname=0xffbe2e18 "ZPublisher.BaseRequest") at Python/import.c:1970
> #18 0xcecc8 in load_next (mod=0x2b5310, altmod=0x16017c, p_name=0xffbe3274,
> buf=0xffbe2e18 "ZPublisher.BaseRequest", p_buflen=0xffbe2e14)
> at Python/import.c:1826
> #19 0xce284 in import_module_ex (name=0x0, globals=0x2d9770,
> locals=0x2d9770,
> fromlist=0x2c7770) at Python/import.c:1677
> #20 0xce7a8 in PyImport_ImportModuleEx (name=0x2da9c4 "BaseRequest",
> globals=0x2d9770, locals=0x2d9770, fromlist=0x2c7770)
> at Python/import.c:1718
> (there is more, of course...)
(But it's not relevant.)
I can't really help you much more because I don't have access to
Solaris or OpenBSD, but I'm interested in figuring out what's going
on.
Of course, this failure may be unrelated to the one reported in
collector item 200, since that was about Python 2.2. (Was it 2.2 or 2.2.1?)
--Guido van Rossum (home page: http://www.python.org/~guido/)