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

Reply via email to