Barry Pederson
Mon, 26 Dec 2005 22:23:17 -0800
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: BugComponents: 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