python 2.7 (segmentation fault gajim)
demoriz 22 июля, 2010 - 14:45
Не удержался, вчера размаскировал python 2.7 собрал, прогнал python-updater.
Всё вроде прекрасно кроме того что перестал запускаться gajim. Сегфолт :(
demoriz [~]% gajim zsh: segmentation fault gajim
Пробовал пересобирать разные версии гаджима - результат тот же. Можно ли как-нибудь найти причину сегфолта? Уж очень неохото откатываться на питон 2,6
»
- Для комментирования войдите или зарегистрируйтесь

Погоняй что-нибудь ещё на
Погоняй что-нибудь ещё на PyGTK, думаю, проблема в нём или сопутствующих библиотеках. Ошибка-то не питоновская.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Что то я не нашёл у себя
Что то я не нашёл у себя ничего на pygtk кроме gajim, всё на qt. Попробовал сам накодить простенькие окошки на pygtk, всё работает.
me...
Гм… Ну тогда либо самому
Гм… Ну тогда либо самому как-то разбираться, либо отписаться авторам Gajim и спросить, что там у них как.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
вывод strace при сегфолте,
вывод strace при сегфолте, может кто поймёт в чём причина
лог strace
me...
Ну а модулей то в этой ветке
Ну а модулей то в этой ветке питона я так понимаю нет? Перебирай модули.
Модули собраны, иначе была бы
Модули собраны, иначе была бы питонья ошибка, а это внутримодульская, gtk-шная.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
stat("/usr/lib64/python2.7/si
stat("/usr/lib64/python2.7/site-packages/gajim/atk", 0x7fffdc07cf60) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/gajim/atk.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/gajim/atkmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/gajim/atk.py", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/gajim/atk.pyo", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/lib64/python2.7/site-packages/gajim/atk", 0x7fffdc07cf60) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/gajim/atk.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/gajim/atkmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/gajim/atk.py", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/gajim/atk.pyo", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/lib64/python2.7/atk", 0x7fffdc07cf60) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/atk.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/atkmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/atk.py", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/atk.pyo", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/lib64/python2.7/plat-linux2/atk", 0x7fffdc07cf60) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/plat-linux2/atk.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/plat-linux2/atkmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/plat-linux2/atk.py", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/plat-linux2/atk.pyo", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/lib64/python2.7/lib-tk/atk", 0x7fffdc07cf60) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/lib-tk/atk.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/lib-tk/atkmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/lib-tk/atk.py", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/lib-tk/atk.pyo", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/lib64/python2.7/lib-dynload/atk", 0x7fffdc07cf60) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/lib-dynload/atk.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/lib-dynload/atkmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/lib-dynload/atk.py", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/lib-dynload/atk.pyo", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/lib64/python2.7/site-packages/atk", 0x7fffdc07cf60) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/atk.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/atkmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/atk.py", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/atk.pyo", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/lib64/python2.7/site-packages/PIL/atk", 0x7fffdc07cf60) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/PIL/atk.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/PIL/atkmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/PIL/atk.py", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/PIL/atk.pyo", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/lib64/python2.7/site-packages/pygoogle/atk", 0x7fffdc07cf60) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/pygoogle/atk.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/pygoogle/atkmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/pygoogle/atk.py", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/python2.7/site-packages/pygoogle/atk.pyo", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/lib64/python2.7/site-packages/gtk-2.0/atk", 0x7fffdc07cf60) = -1 ENOENT (No such file or directory)Это что?
Ищет библиотеку atk, находит
Ищет библиотеку atk, находит её в итоге тут:
open("/usr/lib64/python2.7/site-packages/gtk-2.0/atk.so", O_RDONLY) = 5
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
My fault. Не досмотрел. :-/
My fault. Не досмотрел. :-/
А в системном логе при этом
А в системном логе при этом ничего не пишет? Обычно там отрисовывается в какой либе и по какому адресу сегфолтит.
root [~]# tail --lines=1
всё грустно :(
придётся откатится наверно на 2,6 питон
me...
Я больше склонен доверять
Я больше склонен доверять strace'у в данном вопросе. По-моему, вываливается на atk.so. Я бы стукнулся к разработчикам pygtk/gajim. А пока можно и откатиться (-:Е
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Откатился но 2,7 оставил для
Откатился но 2,7 оставил для экспериментов :)
me...
Нашёл тут описание проблемы.
Нашёл тут описание проблемы. Как временное решение закоментил в
/usr/lib64/python2.7/site-packages/gajim/gajim.py 136 строку:
# warnings.filterwarnings('error', module='gtk')
gajim работает :)
me...