Segmentation Fault when using trac with mod_python in apache2

Bug #86971 reported by Sascha Grossenbacher
2
Affects Status Importance Assigned to Milestone
trac (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: trac

With every request a apache2 process dies with Segmentation Fault. The following is in the apache2/error_log

[Thu Feb 22 09:27:23 2007] [notice] child pid 5522 exit signal Segmentation fault (11)

strace -p 5522 gives the following:
[...]
_llseek(19, 0, [0], SEEK_SET) = 0
read(19, "** This file contains an SQLite "..., 1024) = 1024
_llseek(19, 5120, [5120], SEEK_SET) = 0
read(19, "\0\0\0\0\10\0\240\0\0\0\0\0\4\0000\0\0\0\26\0\200\0\0\1"..., 1024) = 1024
futex(0x83ddc38, FUTEX_WAKE, 1) = 0
futex(0x83ddc38, FUTEX_WAKE, 1) = 0
futex(0x83ddc38, FUTEX_WAKE, 1) = 0
futex(0x83ddc38, FUTEX_WAKE, 1) = 0
futex(0x83ddc38, FUTEX_WAKE, 1) = 0
futex(0x83ddc38, FUTEX_WAKE, 1) = 0
fcntl64(19, F_SETLK64, {type=F_UNLCK, whence=SEEK_SET, start=0, len=0}, 0xbfff3e94) = 0
futex(0x83ddc38, FUTEX_WAKE, 1) = 0
futex(0x83ddc38, FUTEX_WAKE, 1) = 0
futex(0x83ddc38, FUTEX_WAKE, 1) = 0
futex(0x83ddc38, FUTEX_WAKE, 1) = 0
futex(0x83ddc38, FUTEX_WAKE, 1) = 0
futex(0x83ddc38, FUTEX_WAKE, 1) = 0
futex(0x83ddc38, FUTEX_WAKE, 1) = 0
futex(0x83ddc38, FUTEX_WAKE, 1) = 0
close(19) = 0
close(20) = 0
futex(0x83ddc38, FUTEX_WAKE, 1) = 0
futex(0x85329e0, FUTEX_WAKE, 1) = 0
futex(0x83ddc38, FUTEX_WAKE, 1) = 0
futex(0x81d45a8, FUTEX_WAKE, 1) = 0
stat64("/var/lib/python-support/python2.4/trac/util/random", 0xbfff1964) = -1 ENOENT (No such file or directory)
open("/var/lib/python-support/python2.4/trac/util/random.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/var/lib/python-support/python2.4/trac/util/randommodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/var/lib/python-support/python2.4/trac/util/random.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/var/lib/python-support/python2.4/trac/util/random.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
futex(0x81d45a8, FUTEX_WAKE, 1) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
chdir("/etc/apache2") = 0
rt_sigaction(SIGSEGV, {SIG_DFL}, {SIG_DFL}, 8) = 0
kill(5522, SIGSEGV) = 0
sigreturn() = ? (mask now [])
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
Process 5522 detached

It seems that it want to access a random-Python Module. But there is nothing like that in that directory:
lrwxrwxrwx 1 root root 54 2006-12-06 09:36 autoreload.py -> /usr/share/python-support/trac/trac/util/autoreload.py
-rw-r--r-- 1 root root 2248 2006-12-06 09:36 autoreload.pyc
lrwxrwxrwx 1 root root 50 2006-12-06 09:36 daemon.py -> /usr/share/python-support/trac/trac/util/daemon.py
-rw-r--r-- 1 root root 899 2006-12-06 09:36 daemon.pyc
lrwxrwxrwx 1 root root 51 2006-12-06 09:36 datefmt.py -> /usr/share/python-support/trac/trac/util/datefmt.py
-rw-r--r-- 1 root root 4431 2006-12-06 09:36 datefmt.pyc
lrwxrwxrwx 1 root root 48 2006-12-06 09:36 html.py -> /usr/share/python-support/trac/trac/util/html.py
-rw-r--r-- 1 root root 18297 2006-12-06 09:36 html.pyc
lrwxrwxrwx 1 root root 52 2006-12-06 09:36 __init__.py -> /usr/share/python-support/trac/trac/util/__init__.py
-rw-r--r-- 1 root root 7863 2006-12-06 09:36 __init__.pyc
lrwxrwxrwx 1 root root 48 2006-12-06 09:36 text.py -> /usr/share/python-support/trac/trac/util/text.py
-rw-r--r-- 1 root root 4595 2006-12-06 09:36 text.pyc

Installed packages:
ii trac 0.10.2-1~edgy1

ii apache2 2.0.55-4ubuntu4
ii apache2-common 2.0.55-4ubuntu4
ii apache2-mpm-prefork 2.0.55-4ubuntu4
ii apache2-utils 2.0.55-4ubuntu4

ii libapache2-mod-python2.4 3.2.8-1ubuntu2

ii python 2.4.3-11ubuntu3

Apache-Trac configuration:
        <Location /trac>
           SetHandler mod_python
           PythonHandler trac.web.modpython_frontend
           PythonOption TracEnv /home/u80759076/Projekte/KonfigGen/trac
           PythonOption TracUriRoot /trac
        </Location>

I have no problem with tracd, but i'd like to have it integrated in Apache.

Revision history for this message
Sascha Grossenbacher (berdir) wrote :

Update:

Just upgraded to feisty. The errors seems to be gone with this version.

But a new problem was, that between 0.10.2 (edgy) and 0.10.3 (feisty), the used sqlite version switched from 2.x to 3. So I had to upgrade my trac.db as described in TracUpgrade. It was a bit special that the change happened in a minor version change and actually, sqlite3 itself was not installed on my system, only the libraries.

William Grant (wgrant)
Changed in trac:
status: Unconfirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.