[Zope-dev] [Severe BUG] Memory corruption - SIGSEGV kills Zope

Dieter Maurer dieter@handshake.de
Sat, 8 Sep 2001 23:48:25 +0200 (CEST)


Because the Collector is down, here an bug report:

Importance:	      very important
Urgency:	      need in next revision
Reported Version:     Zope CVS (last updated shortly after Zope 2.4.1 announcement)
Python:		      Python 2.1 on Linux2

Description:
Just got an obvious memory corruption problem:

Python 2.1 raises a "TypeError: argument list must be a tuple" exception for

    security= ClassSecurityInfo()

When I tried again, Python died with a SIGSEGV:

   Program terminated with signal 11, Segmentation fault.

#0  PyTuple_New (size=1) at Objects/tupleobject.c:47
47                      free_tuples[size] = (PyTupleObject *) op->ob_item[0];
(gdb) bt 10
#0  PyTuple_New (size=1) at Objects/tupleobject.c:47
#1  0x805f46c in com_import_stmt (c=0xbfffefac, n=0x81e2370)
    at Python/compile.c:2658
#2  0x80608ca in com_node (c=0xbfffefac, n=0x8399bd8) at Python/compile.c:3430
#3  0x8060800 in com_node (c=0xbfffefac, n=0x8321c68) at Python/compile.c:3391
#4  0x8060d40 in com_file_input (c=0xbfffefac, n=0x82edaa8)
    at Python/compile.c:3620
#5  0x8061082 in compile_node (c=0xbfffefac, n=0x82edaa8)
    at Python/compile.c:3722
....

I am using Zope CVS, last updated shortly
after Zope 2.4.1 has been announced.
There are no C-modules other than that provided
by Zope.

I am using Python 2.1 (first official release,
no patches applied) on Linux 2.

I suspect an instance of the "py_malloc"
or "BorrowedReference" issue recently reported
on the mailing list to be responsible.

Shortly before the crash, I got several
(expected) "AttributeError: allowed"
from
  File "/ext2/dieter/Zope/lib/python/AccessControl/SecurityManager.py", line 172, in checkPermission
    self._context)

and called "AccessControl.SecurityManagement.noSecurityManager()" twice.


Dieter