| Barry Pederson 2005-12-27, 2:46 am |
| 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
|