LINUX.ORG.RU

[gentoo][~amd64]Ошибка при выполнении gtk-query-immodules

 


0

1

Здравствуйте. Недавно я постил о том, что у меня gtk не собирается.

Сейчас обнаружил, что обламывается оно на выполнении gtk-query-immodules.

ymilij ~ # gtk-query-immodules-2.0
# GTK+ Input Method Modules file
# Automatically generated file, do not edit
# Created by gtk-query-immodules-2.0 from gtk+-2.24.3
#
# ModulesPath = /root/.gtk-2.0/2.10.0/x86_64-pc-linux-gnu/immodules:/root/.gtk-2.0/2.10.0/immodules:/root/.gtk-2.0/x86_64-pc-linux-gnu/immodules:/root/.gtk-2.0/immodules:/usr/lib64/gtk-2.0/2.10.0/x86_64-pc-linux-gnu/immodules:/usr/lib64/gtk-2.0/2.10.0/immodules:/usr/lib64/gtk-2.0/x86_64-pc-linux-gnu/immodules:/usr/lib64/gtk-2.0/immodules
#
"/usr/lib64/gtk-2.0/2.10.0/immodules/im-ti-er.so" 
"ti_er" "Tigrigna-Eritrean (EZ+)" "gtk20" "/usr/share/locale" "ti" 

"/usr/lib64/gtk-2.0/2.10.0/immodules/im-multipress.so" 
"multipress" "Multipress" "gtk20" "" "" 

"/usr/lib64/gtk-2.0/2.10.0/immodules/im-cyrillic-translit.so" 
"cyrillic_translit" "Cyrillic (Transliterated)" "gtk20" "/usr/share/locale" "" 

"/usr/lib64/gtk-2.0/2.10.0/immodules/im-thai.so" 
"thai" "Thai-Lao" "gtk20" "/usr/share/locale" "lo:th" 

"/usr/lib64/gtk-2.0/2.10.0/immodules/im-ti-et.so" 
"ti_et" "Tigrigna-Ethiopian (EZ+)" "gtk20" "/usr/share/locale" "ti" 

"/usr/lib64/gtk-2.0/2.10.0/immodules/im-inuktitut.so" 
"inuktitut" "Inuktitut (Transliterated)" "gtk20" "/usr/share/locale" "iu" 

"/usr/lib64/gtk-2.0/2.10.0/immodules/im-viqr.so" 
"viqr" "Vietnamese (VIQR)" "gtk20" "/usr/share/locale" "vi" 

"/usr/lib64/gtk-2.0/2.10.0/immodules/im-cedilla.so" 
"cedilla" "Cedilla" "gtk20" "/usr/share/locale" "az:ca:co:fr:gv:oc:pt:sq:tr:wa" 

"/usr/lib64/gtk-2.0/2.10.0/immodules/im-am-et.so" 
"am_et" "Amharic (EZ+)" "gtk20" "/usr/share/locale" "am" 

"/usr/lib64/gtk-2.0/2.10.0/immodules/im-ipa.so" 
"ipa" "IPA" "gtk20" "/usr/share/locale" "" 

"/usr/lib64/gtk-2.0/2.10.0/immodules/im-xim.so" 
"xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:th:zh" 

Inconsistency detected by ld.so: dl-close.c: 736: _dl_close: Assertion `map->l_init_called' failed!
ymilij ~ # gtk-query-immodules-3.0
# GTK+ Input Method Modules file
# Automatically generated file, do not edit
# Created by gtk-query-immodules-3.0 from gtk+-3.0.9
#
# ModulesPath = /root/.gtk-3.0/3.0.0/x86_64-pc-linux-gnu/immodules:/root/.gtk-3.0/3.0.0/immodules:/root/.gtk-3.0/x86_64-pc-linux-gnu/immodules:/root/.gtk-3.0/immodules:/usr/lib64/gtk-3.0/3.0.0/x86_64-pc-linux-gnu/immodules:/usr/lib64/gtk-3.0/3.0.0/immodules:/usr/lib64/gtk-3.0/x86_64-pc-linux-gnu/immodules:/usr/lib64/gtk-3.0/immodules
#
"/usr/lib64/gtk-3.0/3.0.0/immodules/im-ti-er.so" 
"ti_er" "Tigrigna-Eritrean (EZ+)" "gtk30" "/usr/share/locale" "ti" 

"/usr/lib64/gtk-3.0/3.0.0/immodules/im-multipress.so" 
"multipress" "Multipress" "gtk30" "" "" 

"/usr/lib64/gtk-3.0/3.0.0/immodules/im-cyrillic-translit.so" 
"cyrillic_translit" "Cyrillic (Transliterated)" "gtk30" "/usr/share/locale" "" 

"/usr/lib64/gtk-3.0/3.0.0/immodules/im-thai.so" 
"thai" "Thai-Lao" "gtk30" "/usr/share/locale" "lo:th" 

"/usr/lib64/gtk-3.0/3.0.0/immodules/im-ti-et.so" 
"ti_et" "Tigrigna-Ethiopian (EZ+)" "gtk30" "/usr/share/locale" "ti" 

"/usr/lib64/gtk-3.0/3.0.0/immodules/im-inuktitut.so" 
"inuktitut" "Inuktitut (Transliterated)" "gtk30" "/usr/share/locale" "iu" 

"/usr/lib64/gtk-3.0/3.0.0/immodules/im-viqr.so" 
"viqr" "Vietnamese (VIQR)" "gtk30" "/usr/share/locale" "vi" 

"/usr/lib64/gtk-3.0/3.0.0/immodules/im-cedilla.so" 
"cedilla" "Cedilla" "gtk30" "/usr/share/locale" "az:ca:co:fr:gv:oc:pt:sq:tr:wa" 

"/usr/lib64/gtk-3.0/3.0.0/immodules/im-am-et.so" 
"am_et" "Amharic (EZ+)" "gtk30" "/usr/share/locale" "am" 

"/usr/lib64/gtk-3.0/3.0.0/immodules/im-ipa.so" 
"ipa" "IPA" "gtk30" "/usr/share/locale" "" 

"/usr/lib64/gtk-3.0/3.0.0/immodules/im-xim.so" 
"xim" "X Input Method" "gtk30" "/usr/share/locale" "ko:ja:th:zh" 


Inconsistency detected by ld.so: dl-close.c: 736: _dl_close: Assertion `map->l_init_called' failed!

У кого нибудь есть идеи?

Благодарю за помощь и внимание.


Попробуй пересобрать glibc (т.к. ld.so - часть glibc), хотя вряд ли это поможет. Какая-то библиотека портит содержимое памяти.

AEP ★★★★★
()
Ответ на: комментарий от AEP

Пересобирал. Не помогло.

А можно ли узнать, какая библиотека?

ГТК3 падает после сообщения gen immodules.cache.

Где-то рядом вспоминается gdk-pixbuf, его пересборка/даунгрейд также не принесли результатов.

Ymilij
() автор топика
Ответ на: комментарий от Ymilij

> А можно ли узнать, какая библиотека?

Можно попробовать. Поставь valgrind и запусти такую команду:

valgrind gtk-query-immodules-2.0

или, если у тебя подключен multilib-overlay,

valgrind gtk-query-immodules-2.0-amd64

Вывод в студию. На «HEAP SUMMARY» и «LEAK SUMMARY» в конце внимания не обращай - интересуют сообщения типа «invalid read» и «invalid write».

AEP ★★★★★
()
Ответ на: комментарий от AEP

Вдогонку: для более осмысленного вывода лучше запускать valgrind так:

G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind gtk-query-immodules-2.0

AEP ★★★★★
()
Ответ на: комментарий от AEP

Интересная штука.

Намного веселей всё случилось:

count@ymilij ~ $ valgrind gtk-query-immodules-3.0
==18183== Memcheck, a memory error detector
==18183== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==18183== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==18183== Command: gtk-query-immodules-3.0
==18183== 

valgrind:  Fatal error at startup: a function redirection
valgrind:  which is mandatory for this platform-tool combination
valgrind:  cannot be set up.  Details of the redirection are:
valgrind:  
valgrind:  A must-be-redirected function
valgrind:  whose name matches the pattern:      strlen
valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2
valgrind:  was not found whilst processing
valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2
Ymilij
() автор топика
Ответ на: комментарий от Ymilij

А, это известный прикол на amd64. Для работоспособности valgrind надо создать файл /etc/portage/env/sys-libs/glibc со следующим содержимым:

FEATURES=«${FEATURES} splitdebug»

и пересобрать glibc

AEP ★★★★★
()
Ответ на: комментарий от AEP

Благодарю.

count@ymilij ~ $ G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind --leak-check=full gtk-query-immodules-2.0
...
Inconsistency detected by ld.so: dl-close.c: 736: _dl_close: Assertion `map->l_init_called' failed!
==27897== 
==27897== HEAP SUMMARY:
==27897==     in use at exit: 24,156 bytes in 72 blocks
==27897==   total heap usage: 818 allocs, 746 frees, 406,417 bytes allocated
==27897== 
==27897== 32 bytes in 1 blocks are definitely lost in loss record 30 of 57
==27897==    at 0x4C27349: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==27897==    by 0x565C53F: _dlerror_run (in /lib64/libdl-2.13.so)
==27897==    by 0x565BFD0: dlopen@@GLIBC_2.2.5 (in /lib64/libdl-2.13.so)
==27897==    by 0x3767A9DE0C: ??? (in /usr/lib64/opengl/nvidia/lib/libGL.so.275.09)
==27897== 
==27897== 348 bytes in 1 blocks are definitely lost in loss record 47 of 57
==27897==    at 0x4C28C6D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==27897==    by 0x37E884C4E2: g_malloc (in /usr/lib64/libglib-2.0.so.0.2800.7)
==27897==    by 0x37E8866CBE: g_strjoinv (in /usr/lib64/libglib-2.0.so.0.2800.7)
==27897==    by 0x37EE386FAB: gtk_rc_get_im_module_path (in /usr/lib64/libgtk-x11-2.0.so.0.2400.3)
==27897==    by 0x40152C: ??? (in /usr/bin/gtk-query-immodules-2.0)
==27897==    by 0x506AEBC: (below main) (in /lib64/libc-2.13.so)
==27897== 
==27897== 420 (72 direct, 348 indirect) bytes in 1 blocks are definitely lost in loss record 49 of 57
==27897==    at 0x4C28C6D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==27897==    by 0x37E884C4E2: g_malloc (in /usr/lib64/libglib-2.0.so.0.2800.7)
==27897==    by 0x37E886685A: g_strsplit (in /usr/lib64/libglib-2.0.so.0.2800.7)
==27897==    by 0x37ED22C75E: pango_split_file_list (in /usr/lib64/libpango-1.0.so.0.2800.4)
==27897==    by 0x401549: ??? (in /usr/bin/gtk-query-immodules-2.0)
==27897==    by 0x506AEBC: (below main) (in /lib64/libc-2.13.so)
==27897== 
==27897== LEAK SUMMARY:
==27897==    definitely lost: 452 bytes in 3 blocks
==27897==    indirectly lost: 348 bytes in 8 blocks
==27897==      possibly lost: 0 bytes in 0 blocks
==27897==    still reachable: 23,356 bytes in 61 blocks
==27897==         suppressed: 0 bytes in 0 blocks
==27897== Reachable blocks (those to which a pointer was found) are not shown.
==27897== To see them, rerun with: --leak-check=full --show-reachable=yes
==27897== 
==27897== For counts of detected and suppressed errors, rerun with: -v
==27897== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 39 from 9)

Нвидиа что-ли? о_0

Ymilij
() автор топика
Ответ на: комментарий от AEP

Действительно, нвидиа! Даунгредил драйвер - gtk-query ошибки больше не выдаёт. Сейчас пересобираю gtk, но, думаю, всё должно быть в порядке.

Премного благодарен!

Ymilij
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.