quetz-mod_python-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jack Diederich" <jack_dieder...@email.com>
Subject Re: Segfault in 2.7.8
Date Sun, 22 Sep 2002 16:26:20 GMT
I've had lots of problems with gdb and mod_python (gdb cores frequently)
there is only one place each that Py_Initialize, Py_IsInitilized, and Py_Finalize are called.
So try some ghetto debugging, add an fprintf to a log file (you can try stderr, but it isn't
always reliable in apache?) with the pid of the current process.  Py_IsInitialized should
only be true inbetween Py_Initialize and Py_Finalize.  Knowing if this is or isn't true should
help to narrow down the problem.

-jack
----- Original Message -----
From: Peter Hawkins <peter@hawkins.emu.id.au>
Date: Sun, 22 Sep 2002 15:57:07 +1000
To: python-dev@httpd.apache.org
Subject: Segfault in 2.7.8


> Hi...
> 
> I'm the current debian package maintainer for mod_python.
> 
> I'm hoping that someone can help me with this bug (the bugs listed 
> below are identical, I think).
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=152750&repeatmerged=yes
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=135346&repeatmerged=yes
> 
> As explained in the bug logs, if you change your encoding to anything 
> other than ascii in /etc/python2.1/site.py, then mod_python segfaults 
> on every request. Somehow, this causes the interpreters global 
> variable to be NULL when it is used in get_interpreter_data, leading 
> to a segfault. Other people have reported a similar problem with 
> different site customisations (eg. adding rlcompleter).
> 
> The python versions that modpython is built against (2.1, 2.2 and 
> 2.3a0) are all compiled with threads on linux (not really an awful 
> lot I can do about that).
> 
> There are a couple of (possibly) odd things the package is doing. The 
> first is that we are linking against libpython*.so, (ie. dynamically, 
> not statically). I am wondering whether this is causing the problem. 
> A little debugging has shown me that the second time python_init is 
> called, Py_IsInitialized returns TRUE, even though the interpreters 
> global variable is NULL. Is this something wierd happening with the 
> fact that python is a shared, not a static library?
> 
> 
> Backtrace (my own):
> 0x40280424 in PyDict_GetItemString () from 
> /usr/lib/libpython2.2.so.0.0
> (gdb) bt
> #0  0x40280424 in PyDict_GetItemString () from 
> /usr/lib/libpython2.2.so.0.0
> #1  0x4022e1a6 in get_interpreter_data () from 
> /usr/lib/apache/1.3/mod_python.so
> #2  0x4022f0f4 in make_obcallback () from 
> /usr/lib/apache/1.3/mod_python.so
> #3  0x402306f0 in python_finalize () from 
> /usr/lib/apache/1.3/mod_python.so
> #4  0x08053a84 in ap_invoke_handler ()
> #5  0x0806338c in ap_some_auth_required ()
> #6  0x080633e8 in ap_process_request ()
> #7  0x0805cbcb in ap_child_terminate ()
> #8  0x0805cd5c in ap_child_terminate ()
> #9  0x0805ce79 in ap_child_terminate ()
> #10 0x0805d355 in ap_child_terminate ()
> #11 0x0805da5d in main ()
> #12 0x400ed0bf in __libc_start_main () from /lib/libc.so.6
> 
> From the bug logs:
> (gdb) bt
> #0  0x40438989 in PyDict_GetItem () from /usr/lib/libpython2.1.so.0.0
> #1  0x4043a051 in PyDict_GetItemString () from 
> /usr/lib/libpython2.1.so.0.0
> #2  0x403bb1a6 in get_interpreter_data (name=3D0x80d9a0c 
> "jt5-223b.tky.hut.=
> fi",
>     srv=3D0x808898c) at mod_python.c:117
> #3  0x403bc0f4 in python_handler (req=3D0x813055c,
>     handler=3D0x403c1b4b "PythonHandler") at mod_python.c:633
> #4  0x403bd6d0 in PythonHandler (req=3D0x813055c) at mod_python.c:1438
> #5  0x08053a44 in ap_invoke_handler ()
> 
> #2  0x403bb1a6 in get_interpreter_data (name=3D0x80d9a0c 
> "jt5-223b.tky.hut.=
> fi",
>     srv=3D0x808898c) at mod_python.c:117
> 117         p =3D PyDict_GetItemString(interpreters, (char *)name);
> (gdb) p interpreters
> $1 =3D (PyObject *) 0x0
> 
> Any ideas?
> 
> Thanks,
> Peter
> peterh@debian.org
> 
> -- 
> peter@hawkins.emu.id.au
> GPG key fingerprint:
> C746 38A9 D3E4 A171 FB6A  56D4 5E30 DFCC BE11 F437
> 
> 

-- 
__________________________________________________________
Sign-up for your own FREE Personalized E-mail at Mail.com
http://www.mail.com/?sr=signup


Mime
View raw message