Graham Dumpleton
grahamd at dscpl.com.au
Tue Dec 13 04:54:40 EST 2005
On 13/12/2005, at 7:56 PM, Daniel S. Reichenbach wrote: > Hi again, > > I have been trying to find the reason why and where mod_python > segfaults > on my > system for a while now. > > Following the hints in the FAQ I have checked if mod_python, python and > PHP had > been built against different versions of libraries and as this is the > case in > Debian testing, I have switched to Debian unstable, where PHP and > mod_python > are both seem to be linked against the same library versions. > > Still, the issue did not change. Whenever I call any Authentication > like > basic > auth using .htaccess files on a mod_python enabled server, it will > result in > a segfault with a message like > > child pid ... exit signal Segmentation fault (11) > > in the error logs. > > I have tried building the whole dependency tree manual from sources to > make > extra sure that there are no mixed dependencies, and tried mod_python > 3.1.4 > as well as 3.2.5b. As well I tried to use PHP5 instead of PHP4 but > still > the > segfaults stay the same. Following a hint from Julien Cigar I as well > tried > disabling mod_ssl, but this did not have any impact. Still segfaults. > > Setting LogLevel to debug did not reveal any additional information > where the > crash occurs, so I am pretty stuck here. I tried using the PythonDebug > directive as well as any other debug output related configuration > directive I > could find > > Can anyone give me a hint, what I can try next to figure where and why > the > crash occurs? Should I cary over this to the development list? Shutdown Apache: apachectl stop Run Apache in single process mode: /usr/local/apache-2.0/bin/httpd -DONE_PROCESS In another window run "ps" to find the process IDs of the Apache process. There may be two. ps x | grep httpd 377 p1 S+ 0:00.87 ./httpd -DONE_PROCESS 382 p1 S+ 0:00.02 ./httpd -DONE_PROCESS Use "gdb" to attach to the lowest parent process ID: gdb /usr/local/apache-2.0/bin/httpd -p 377 Expect it to stop Apache at sigwait(): 0x949d7fac in sigwait () (gdb) Enter command "cont": (gdb) cont Continuing. Now use a web browser to access the URL which gives you the problem. If everything goes as expected, Apache will crash and gdb will throw you back to its prompt. Enter "where" command to get stack trace of where it crashed. Post stack trace here. Graham
|