The simplest combination of modules I can find that causes the segfault (presumably due to the mixture of static and dynamic bindings for the gtk module described above) is:
After removing the 'onboard' package, "pydoc -k" will get much further through the list of packages when searching, but now eventually hangs for me. strace shows it seems to be a race condition on a futex in atk:
stat("libgdk-3.so.0.la", 0x7fffe38aff70) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/girepository-1.0", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
getdents(5, /* 98 entries */, 32768) = 4152
open("/usr/lib/girepository-1.0/Atk-1.0.typelib", O_RDONLY) = 14
fstat(14, {st_mode=S_IFREG|0644, st_size=63688, ...}) = 0
mmap(NULL, 63688, PROT_READ, MAP_PRIVATE, 14, 0) = 0x7f23dabdf000
close(14) = 0
getdents(5, /* 0 entries */, 32768) = 0
close(5) = 0
munmap(0x7f23dabdf000, 63688) = 0
stat("/usr/lib/python2.7/dist-packages/gi/overrides/Atk", 0x7fffe38a9120) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.7/dist-packages/gi/overrides/Atk.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.7/dist-packages/gi/overrides/Atkmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.7/dist-packages/gi/overrides/Atk.py", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.7/dist-packages/gi/overrides/Atk.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("libatk-1.0.so.0", 0x7fffe38aded0) = -1 ENOENT (No such file or directory)
stat("libatk-1.0.so.0.so", 0x7fffe38aded0) = -1 ENOENT (No such file or directory)
stat("libatk-1.0.so.0.la", 0x7fffe38aded0) = -1 ENOENT (No such file or directory)
futex(0x171de84, FUTEX_WAIT_PRIVATE, 1, NULL
The simplest combination of modules I can find that causes the segfault (presumably due to the mixture of static and dynamic bindings for the gtk module described above) is:
python -c 'import Onboard; import gtk '
/usr/lib/ python2. 7/dist- packages/ gtk-2.0/ gtk/__init_ _.py:42: Warning: g_boxed_ type_register_ static: assertion `g_type_from_name (name) == 0' failed
from gtk import _gtk
** (python:7386): CRITICAL **: pyg_register_boxed: assertion `boxed_type != 0' failed python2. 7/dist- packages/ gtk-2.0/ gtk/__init_ _.py:42: Warning: cannot register existing type `GdkDevice' python2. 7/dist- packages/ gtk-2.0/ gtk/__init_ _.py:42: Warning: g_type_get_qdata: assertion `node != NULL' failed
/usr/lib/
from gtk import _gtk
/usr/lib/
from gtk import _gtk
zsh: segmentation fault python -c 'import Onboard; import gtk '
After removing the 'onboard' package, "pydoc -k" will get much further through the list of packages when searching, but now eventually hangs for me. strace shows it seems to be a race condition on a futex in atk:
stat("libgdk- 3.so.0. la", 0x7fffe38aff70) = -1 ENOENT (No such file or directory) girepository- 1.0", O_RDONLY| O_NONBLOCK| O_DIRECTORY| O_CLOEXEC) = 5 usr/lib/ girepository- 1.0/Atk- 1.0.typelib" , O_RDONLY) = 14 S_IFREG| 0644, st_size=63688, ...}) = 0 0x7f23dabdf000, 63688) = 0 usr/lib/ python2. 7/dist- packages/ gi/overrides/ Atk", 0x7fffe38a9120) = -1 ENOENT (No such file or directory) usr/lib/ python2. 7/dist- packages/ gi/overrides/ Atk.so" , O_RDONLY) = -1 ENOENT (No such file or directory) usr/lib/ python2. 7/dist- packages/ gi/overrides/ Atkmodule. so", O_RDONLY) = -1 ENOENT (No such file or directory) usr/lib/ python2. 7/dist- packages/ gi/overrides/ Atk.py" , O_RDONLY) = -1 ENOENT (No such file or directory) usr/lib/ python2. 7/dist- packages/ gi/overrides/ Atk.pyc" , O_RDONLY) = -1 ENOENT (No such file or directory) 1.0.so. 0", 0x7fffe38aded0) = -1 ENOENT (No such file or directory) 1.0.so. 0.so", 0x7fffe38aded0) = -1 ENOENT (No such file or directory) 1.0.so. 0.la", 0x7fffe38aded0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/
getdents(5, /* 98 entries */, 32768) = 4152
open("/
fstat(14, {st_mode=
mmap(NULL, 63688, PROT_READ, MAP_PRIVATE, 14, 0) = 0x7f23dabdf000
close(14) = 0
getdents(5, /* 0 entries */, 32768) = 0
close(5) = 0
munmap(
stat("/
open("/
open("/
open("/
open("/
stat("libatk-
stat("libatk-
stat("libatk-
futex(0x171de84, FUTEX_WAIT_PRIVATE, 1, NULL