Daniel Nogradi
nogradi at gmail.com
Sun May 7 11:33:22 EDT 2006
(crossposted to pysqlite and mod_python) Some time ago I had problems with running pysqlite from mod_python and every version of pysqlite beyond 2.0.6 was causing apache to segfault. Now I upgraded several parts of my system including pysqlite but had no luck, the following combination sqlite 3.3.5 (compiled with threadsafe enabled) pysqlite 2.2.2 apache 2.0.53 mod_python 3.2.8 python 2.4 still makes apache segfault. The last couple of lines from running gdb on the core file is: Loaded symbols for /usr/lib/python2.4/lib-dynload/_weakref.so Reading symbols from /usr/lib/python2.4/site-packages/pysqlite2/_sqlite.so...done. Loaded symbols for /usr/lib/python2.4/site-packages/pysqlite2/_sqlite.so Reading symbols from /usr/lib/libsqlite3.so.0...done. Loaded symbols for /usr/lib/libsqlite3.so.0 #0 flush_statement_cache (self=0xb7dde200) at src/connection.c:156 156 self->statement_cache->decref_factory = 0; and then a backtrace gives (gdb) bt #0 flush_statement_cache (self=0xb7dde200) at src/connection.c:156 #1 0x009daa39 in connection_close (self=0xb7dde200, args=0x0) at src/connection.c:237 #2 0x05ba3dce in PyEval_EvalFrame () from /etc/httpd/modules/mod_python.so #3 0x05ba44d6 in PyEval_EvalCodeEx () from /etc/httpd/modules/mod_python.so #4 0x05bf07a2 in function_call () from /etc/httpd/modules/mod_python.so #5 0x05b500c8 in PyObject_Call () from /etc/httpd/modules/mod_python.so #6 0x05b9ed79 in PyEval_EvalFrame () from /etc/httpd/modules/mod_python.so #7 0x05ba44d6 in PyEval_EvalCodeEx () from /etc/httpd/modules/mod_python.so #8 0x05ba229f in PyEval_EvalFrame () from /etc/httpd/modules/mod_python.so #9 0x05ba3d50 in PyEval_EvalFrame () from /etc/httpd/modules/mod_python.so #10 0x05ba3d50 in PyEval_EvalFrame () from /etc/httpd/modules/mod_python.so #11 0x05ba44d6 in PyEval_EvalCodeEx () from /etc/httpd/modules/mod_python.so #12 0x05bf07a2 in function_call () from /etc/httpd/modules/mod_python.so #13 0x05b500c8 in PyObject_Call () from /etc/httpd/modules/mod_python.so #14 0x05b586c5 in instancemethod_call () from /etc/httpd/modules/mod_python.so #15 0x05b50308 in PyObject_CallMethod () from /etc/httpd/modules/mod_python.so #16 0x05b4adb5 in python_handler (req=0x8925510, phase=0x5bf95f3 "PythonHandler") at mod_python.c:1114 #17 0x00509a27 in ap_run_handler () from /usr/sbin/httpd #18 0x08715890 in ?? () #19 0x005099fe in ap_run_handler () from /usr/sbin/httpd #20 0x08925510 in ?? () #21 0x08925510 in ?? () #22 0xbf926ff8 in ?? () #23 0x00509e93 in ap_invoke_handler () from /usr/sbin/httpd Previous frame inner to this frame (corrupt stack?) (gdb) So pysqlite version 2.0.5 is fine, but no version beyond that. While searching for a solution I came across many times the suggestion (also raised by Jim as far as I remember) that different apache modules using different versions of the same library might cause this behaviour but I don't have php-sqlite or anything else resembling (to me at least :)) such a situation. Which modules would be suspicious? What else could I check or what details should I send that would be useful to debug this?
|