pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

python26/py26-gnome2: segfault on import gconf



Hi,

I am trying to install some gnome packages on Ubuntu 6.06 i386 and Ubuntu
10.04 i386. On both installations it is the same problem.

The configure script for misc/orca for example, when trying to find the
gconf module for python, executes /opt/pkgsrc/bin/python2.6 with the
following script:

import sys
try:
        import pygtk
        pygtk.require('2.0')
        import gconf
except ImportError:
        sys.exit(1)
except: 
        sys.exit(0)


The python gconf module is at
/opt/pkgsrc/lib/python2.6/site-packages/gtk-2.0/gconf.so (package
py26-gnome2-2.28.1nb2). But invoking python with this script does not throw
an exception inside python, it segfaults.

Using option "-v" shows that gconf.so is the last library dlopen-ed before
the segfault:

# /opt/pkgsrc/bin/python2.6 -v -c "$prog"
...
import sre_compile # precompiled from
/opt/pkgsrc/lib/python2.6/sre_compile.pyc
import _sre # builtin
# /opt/pkgsrc/lib/python2.6/sre_parse.pyc matches
/opt/pkgsrc/lib/python2.6/sre_parse.py
import sre_parse # precompiled from /opt/pkgsrc/lib/python2.6/sre_parse.pyc
# /opt/pkgsrc/lib/python2.6/sre_constants.pyc matches
/opt/pkgsrc/lib/python2.6/sre_constants.py
import sre_constants # precompiled from
/opt/pkgsrc/lib/python2.6/sre_constants.pyc
# /opt/pkgsrc/lib/python2.6/glob.pyc matches
/opt/pkgsrc/lib/python2.6/glob.py
import glob # precompiled from /opt/pkgsrc/lib/python2.6/glob.pyc
dlopen("/opt/pkgsrc/lib/python2.6/site-packages/gtk-2.0/gconf.so", 2);
Segmentation fault


With strace I can see a few more libraries loaded

open("/opt/pkgsrc/lib/libpython2.6.so.1.0", O_RDONLY) = 3
open("/etc/ld.so.cache", O_RDONLY)      = 3
open("/lib/libpthread.so.0", O_RDONLY)  = 3
open("/lib/libdl.so.2", O_RDONLY)       = 3
open("/lib/libutil.so.1", O_RDONLY)     = 3
open("/lib/libm.so.6", O_RDONLY)        = 3
open("/lib/libc.so.6", O_RDONLY)        = 3
open("/opt/pkgsrc/lib/python2.6/site-packages/gtk-2.0/gconf.so",
O_RDONLY|O_LARGEFILE) = 3
open("/opt/pkgsrc/lib/python2.6/site-packages/gtk-2.0/gconf.so", O_RDONLY)
= 4
open("/opt/pkgsrc/lib/libgconf-2.so.4", O_RDONLY) = 4
open("/opt/pkgsrc/lib/libORBit-2.so.0", O_RDONLY) = 4
open("/opt/pkgsrc/lib/libgmodule-2.0.so.0", O_RDONLY) = 4
open("/opt/pkgsrc/lib/libdbus-glib-1.so.2", O_RDONLY) = 4
open("/opt/pkgsrc/lib/libdbus-1.so.3", O_RDONLY) = 4
open("/opt/pkgsrc/lib/libgobject-2.0.so.0", O_RDONLY) = 4
open("/opt/pkgsrc/lib/libgthread-2.0.so.0", O_RDONLY) = 4
open("/opt/pkgsrc/lib/libglib-2.0.so.0", O_RDONLY) = 4
open("/opt/pkgsrc/lib/libpcre.so.0", O_RDONLY) = 4
open("/opt/pkgsrc/lib/libintl.so.3", O_RDONLY) = 4
open("/opt/pkgsrc/lib/libiconv.so.2", O_RDONLY) = 4
open("/etc/ld.so.cache", O_RDONLY)      = 4
open("/lib/tls/i686/cmov/librt.so.1", O_RDONLY)       = 4



And the last few strace lines starting at the last loaded .so:

open("/lib/tls/i686/cmov/librt.so.1", O_RDONLY) = 4
read(4,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\30\0\0004\0\0\0"...,
512) = 512
fstat64(4, {st_mode=S_IFREG|0644, st_size=30684, ...}) = 0
mmap2(NULL, 33364, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) =
0xb6ff0000
mmap2(0xb6ff7000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x6) = 0xb6ff7000
close(4)                                = 0
mprotect(0xb6ff7000, 4096, PROT_READ)   = 0
mprotect(0xb70e5000, 4096, PROT_READ)   = 0
mprotect(0xb70f0000, 4096, PROT_READ)   = 0
mprotect(0xb712f000, 4096, PROT_READ)   = 0
mprotect(0xb7208000, 4096, PROT_READ)   = 0
mprotect(0xb720e000, 4096, PROT_READ)   = 0
mprotect(0xb724b000, 4096, PROT_READ)   = 0
mprotect(0xb728a000, 4096, PROT_READ)   = 0
mprotect(0xb72ac000, 4096, PROT_READ)   = 0
mprotect(0xb7730000, 4096, PROT_READ)   = 0
mprotect(0xb7301000, 40960, PROT_READ)  = 0
mprotect(0xb7343000, 4096, PROT_READ)   = 0
mprotect(0xb7488000, 4096, PROT_READ)   = 0
munmap(0xb6ff9000, 16629)               = 0
mmap2(NULL, 266240, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0xb6faf000
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++


Regarding python, I am rather clueless about debugging. Can somebody help
me with this? 

Regards
Matthias



Home | Main Index | Thread Index | Old Index