[mod_python] Segmentation fault when loading modules

Graham Dumpleton grahamd at dscpl.com.au
Tue Sep 26 20:51:50 EDT 2006


Read:

  http://www.dscpl.com.au/wiki/ModPython/Articles/ExpatCausingApacheCrash

This will answer all your questions and tell you what you need to do.

Graham

Siddhartha Azad wrote ..
> Hi,
> I have mod_python 3.2.10 built with apache 2.2.3 on RH
> Linux. All was working fine for me until I changed my
> directory structure (and hence the location of the
> python modules). After doing so I apache started
> seg-faulting. I  debugged with gdb -X and the
> stacktrace points (as I suspected) to some
> module-loading code that eventually crashes in some
> pyexpat module due to a null string.
> 
> When I change my directory structure to what it was
> before, everything works perfectly.
> 
> 1. The directory structure that works:
> 
>    /dev/www/xyz.py
>    /dev/www/modules/*.py
> 
>  When I invoke xyz.py from the browser (xyz.py imports
> modules from "modules.py") everything works fine (i.e.
> when the modules sub-directory is under within the
> same parent directory as xyz.py.
> 
> 
> 2. The directory structure that doesn't work:
> 
>   /dev/www/xyz.py
>   /dev/modules/*.py
> 
> 
> Notice that the modules are no longer under the "www"
> directory. Also, this only happens when my PYTHONPATH
> actually has the "modules" directory (otherwise of
> course I get an error from xyz.py that the import of
> the modules failed).
> Please help, I have been trying to fix this for 2 days
> now and cannot find any references anyplace else.
> The output from the apache error log and some walkback
> from "gdb" follow.
> Thanks, Sid.
> 
> APACHE ERROR LOG
> ----------------
> 
> [Tue Sep 26 20:12:47 2006] [notice] mod_python:
> (Re)importing module 'mod_python.publisher'
> [Tue Sep 26 20:12:47 2006] [notice] [client 127.0.0.1]
> Publisher loading page /home/sid/dev/www/xyz.py
> [Tue Sep 26 20:12:48 2006] [notice] child pid 32091
> exit signal Segmentation fault (11)
> 
> 
> WALKBACK FROM DEBUGGER
> ----------------------
> 
> 
> #0  0x40167892 in PyString_FromString (str=0x0) at
> Objects/stringobject.c:106
> #1  0x401b8373 in PyModule_AddStringConstant
> (m=0x4081e0ec,
>    name=0x4092f6ba "XML_ERROR_UNBOUND_PREFIX",
> value=0x0) at
> Python/modsupport.c:531
> #2  0x40913fa1 in initpyexpat () at
> /usr/python-2.4.2/Python-2.4.2/Modules/pyexpat.c:1970
> #3  0x401b2bad in _PyImport_LoadDynamicModule
> (name=0xbfffadfc "pyexpat",
>    pathname=0xbfffa960
> "/usr/local/lib/python2.4/lib-dynload/pyexpat.so",
> fp=0x8253090)
>    at Python/importdl.c:53
> #4  0x401af90d in load_module (name=0xbfffadfc
> "pyexpat", fp=0x8253090,
>    buf=0xbfffa960
> "/usr/local/lib/python2.4/lib-dynload/pyexpat.so",
> type=3, loader=0x1b)
>    at Python/import.c:1677
> #5  0x401b0615 in import_submodule (mod=0x40208de0,
> subname=0xbfffadfc
> "pyexpat",
>    fullname=0xbfffadfc "pyexpat") at
> Python/import.c:2262
> 
> 
> _______________________________________________
> Mod_python mailing list
> Mod_python at modpython.org
> http://mailman.modpython.org/mailman/listinfo/mod_python


More information about the Mod_python mailing list