Graham Dumpleton (JIRA) wrote:
Bus error with connection handler on secondary port.
----------------------------------------------------
Key: MODPYTHON-102
URL: http://issues.apache.org/jira/browse/MODPYTHON-102
Project: mod_python
Type: Bug
Components: core
Versions: 3.2
Environment: Mas OS X 10.3 (Panther)
Reporter: Graham Dumpleton
Logging this one for posterity as hardly likely that anyone would use
connection handlers with mod_python for anything meaningful.
Basic problem is that use of connection handler on secondary listener port is
resulting in a bus error deep in Apache code when it tries to read data from
the connection. The problem initially only seems to be present on Mac OS X
10.3. The problem could not be duplicated on Linux. On Mac OS X the problem
occurred with both Apache 2.0.51 and 2.0.55 in both prefork and worker MPM
modes.
...
Output from gdb is below. Note that if the connection handler simply returns
apache.DECLINED, everything is okay and Apache will serve up pages fine, only
when doing read of data from connection handler does it decide to crash.
(gdb) cont
Continuing.
Program received signal EXC_BAD_ACCESS, Could not access memory.
[Switching to process 2342 thread 0xc03]
0x00000058 in ?? ()
(gdb) where
#0 0x00000058 in ?? ()
Cannot access memory at address 0x58
Cannot access memory at address 0x58
#1 0x006068f8 in _conn_read (c=0x1933014, mode=AP_MODE_READBYTES, len=0) at
connobject.c:117
#2 0x00606b04 in conn_read (self=0x471da0, args=0xf0101140) at connobject.c:177
That's interesting in that it's exactly the same crash I was seeing on
FreeBSD 6.0 (x86) when running the test_connectionhandler unittest.
Even the invalid access to 0x58. So it's not just a MacOS thing.
I posted the details in a message to this list back on 11/17/2005 (are
there archives? I'm not finding any).
Barry