LINUX.ORG.RU

aegisub виснет

 , , , ,


0

1

Остаётся только здесь помощи попросить. Имеется Fedora 21 RF Remix, с обновлениями, SELinux отключен. Установленный из её реп aegisub 3.2.2 невозбранно виснет при запуске. (Кстати, у кого есть такая Fedora, подтвердите, может только у меня виснет?)

gdb показал, что она виснет при любом throw. В трейсе последние строки:

pthread_mutex_lock () at /lib64/libpthread.so.0
tls_get_addr_tail () at /lib64/ld-linux-x86-64.so.2
__cxa_get_globals () at /lib64/libstdc++.so.6
__cxa_throw () at /lib64/libstdc++.so.6

Подробнее злоключения описаны здесь и здесь. Может здесь кто-нибудь сообразит «чего это он»?

Откатиться на старую версию не могу, т.к. она требует boost 1.5.4, которого в репах уже нет. Т.е. можно, конечно, попробовать руками всё пересобрать, но может и эту завести удастся...

★★★★★

не подтверждаю ф21

dnf install aegisub 
Using metadata from Fri Mar 27 20:42:23 2015
Dependencies resolved.
=======================================================================================================================
 Package                  Arch               Version                      Repository                              Size
=======================================================================================================================
Installing:
 aegisub                  x86_64             3.2.2-1.fc21.R               russianfedora-free-updates             3.4 M
 boost-locale             x86_64             1.55.0-8.fc21                updates                                276 k
 ffms2                    x86_64             2.20-1.fc21.R                russianfedora-free-updates             108 k
 portaudio                x86_64             19-20.fc21                   fedora                                  94 k
 wxGTK3-gl                x86_64             3.0.2-2.fc21                 fedora                                  34 k

Transaction Summary
=======================================================================================================================
Install  5 Packages

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

strace и\или 't a a bt' в gdb будут более полезны

Там по ссылкам было. Но, пожалуйста:

$ gdb /usr/bin/aegisub
GNU gdb (GDB) Fedora 7.8.2-38.fc21
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/aegisub...Reading symbols from /usr/bin/aegisub...(no debugging symbols found)...done.
(no debugging symbols found)...done.
Missing separate debuginfos, use: debuginfo-install aegisub-3.2.2-1.fc21.R.x86_64
(gdb) run
Starting program: /usr/bin/aegisub 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Detaching after fork from child process 2492.
Detaching after fork from child process 2494.
Detaching after fork from child process 2496.
[New Thread 0x7fffcacf7700 (LWP 2498)]
[New Thread 0x7fffc91f8700 (LWP 2499)]
[New Thread 0x7fffc89f7700 (LWP 2500)]
[New Thread 0x7fffc3fff700 (LWP 2501)]
[New Thread 0x7fffc37fe700 (LWP 2502)]
[New Thread 0x7fffc2ffd700 (LWP 2503)]
[New Thread 0x7fffc27fc700 (LWP 2504)]
[New Thread 0x7fffc1ffb700 (LWP 2505)]
[New Thread 0x7fffc17fa700 (LWP 2506)]
Detaching after fork from child process 2507.
Detaching after fork from child process 2509.
Detaching after fork from child process 2511.
Detaching after fork from child process 2513.
Detaching after fork from child process 2515.
[New Thread 0x7fffc0df6700 (LWP 2517)]
[New Thread 0x7fffbbfff700 (LWP 2518)]
[New Thread 0x7fffbb7fe700 (LWP 2519)]
[New Thread 0x7fffbaffd700 (LWP 2520)]
[New Thread 0x7fffba7fc700 (LWP 2521)]
[New Thread 0x7fffb9ffb700 (LWP 2522)]
[New Thread 0x7fffb97fa700 (LWP 2523)]
[Thread 0x7fffba7fc700 (LWP 2521) exited]
[Thread 0x7fffbaffd700 (LWP 2520) exited]
[Thread 0x7fffbbfff700 (LWP 2518) exited]
[Thread 0x7fffb97fa700 (LWP 2523) exited]
[Thread 0x7fffbb7fe700 (LWP 2519) exited]
[Thread 0x7fffc0df6700 (LWP 2517) exited]
[Thread 0x7fffb9ffb700 (LWP 2522) exited]
^C
Program received signal SIGINT, Interrupt.
0x00007ffff0a1c8f5 in pthread_mutex_lock () from /lib64/libpthread.so.0
(gdb) bt
#0  0x00007ffff0a1c8f5 in pthread_mutex_lock () at /lib64/libpthread.so.0
#1  0x00007ffff7ded495 in tls_get_addr_tail () at /lib64/ld-linux-x86-64.so.2
#2  0x00007ffff00d4e44 in __once_proxy () at /lib64/libstdc++.so.6
#3  0x00007ffff0a20b30 in pthread_once () at /lib64/libpthread.so.0
#4  0x0000000000514c40 in  ()
#5  0x00000000006861a9 in Automation4::AutoloadScriptManager::Reload() ()
#6  0x0000000000686b33 in Automation4::AutoloadScriptManager::AutoloadScriptManager(std::string) ()
#7  0x00000000006f0573 in AegisubApp::OnInit() ()
#8  0x00007ffff52bb012 in wxEntry(int&, wchar_t**) ()
    at /lib64/libwx_baseu-3.0.so.0
#9  0x00000000004518a2 in main ()
(gdb) 

хвост strace: http://pastebin.com/bYcJJwvs
Или весь нужен? Там несколько сот килобайт наберётся.

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

't a a bt' отобразит бектрейс во всех тредах. Ибо главный тред пытается анлочить мютекс, который создан в другом треде - вот потому и нужен бектрейс всех тредов

vrutkovs ★★
()

гтк-проблемы, у меня так easytag-2.1.8 или около того вис в инфинит-лупе непонятно от чего, последняя версия работает.

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

На самом деле не совсем, но, кажется, я подобрался к причине. Я нашёл ещё насколько похожих ситуация. В других wxWidgets приложениях, в консольных приложениях и т.д. Подсказка и исходники tls_get_addr_tail указывают на то, что она вроде бы может вогнать себя в вечный цикл (захватывая и освобождая блокировку) в ожидании слота TLS. А эта проблема может возникала у тех, у кого криво были установлены видео драйверы.

А у меня как раз... :) Я пинками поставил fglrx параллельно с radeon и парой скриптов сделал переключение между ними. И сейчас я как раз вернулся на radeon. Но, похоже, не смотря на то, что 3D под ним работает переключение произошло не достаточно чисто. Возможно, wxWidgets (потому что проблема с этим приложением) продолжает цеплять библиотеки от fglrx.

Так что завтра продолжу расследование с поиском того, как настраивать OpenGL для wxWidgets...

atrus ★★★★★
() автор топика
Последнее исправление: atrus (всего исправлений: 1)

В общем всё дело отказалось в оставшихся fglrx'овских драйверах OpenCL. После очистки каталога /etc/OpenCL/vendors всё заработало.

Правда после установки ради эксперимента mesa'вской реализации всё опять отвалилось. Трейс теперь такой:

Starting program: /usr/bin/aegisub 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffd352f700 (LWP 3078)]
[New Thread 0x7fffd2950700 (LWP 3079)]
[New Thread 0x7fffd214f700 (LWP 3080)]
[New Thread 0x7fffd194e700 (LWP 3081)]
[New Thread 0x7fffd114d700 (LWP 3082)]
[New Thread 0x7fffd094c700 (LWP 3083)]
[New Thread 0x7fffd014b700 (LWP 3084)]
[New Thread 0x7fffcf94a700 (LWP 3085)]
[New Thread 0x7fffcf149700 (LWP 3086)]
[Thread 0x7fffd094c700 (LWP 3083) exited]
[Thread 0x7fffcf149700 (LWP 3086) exited]
[Thread 0x7fffd014b700 (LWP 3084) exited]
[Thread 0x7fffcf94a700 (LWP 3085) exited]
[Thread 0x7fffd2950700 (LWP 3079) exited]
[Thread 0x7fffd114d700 (LWP 3082) exited]
[Thread 0x7fffd214f700 (LWP 3080) exited]
[Thread 0x7fffd194e700 (LWP 3081) exited]
^C
Program received signal SIGINT, Interrupt.
0x00007ffff0a1dd6b in pthread_mutex_unlock () from /lib64/libpthread.so.0
(gdb) t a a bt

Thread 2 (Thread 0x7fffd352f700 (LWP 3078)):
#0  0x00007ffff0a1f590 in pthread_cond_wait@@GLIBC_2.3.2 ()
    at /lib64/libpthread.so.0
#1  0x00007fffd37e7e1b in radeon_drm_cs_emit_ioctl ()
    at /usr/lib64/gallium-pipe/pipe_radeonsi.so
#2  0x00007fffd37e7597 in impl_thrd_routine ()
    at /usr/lib64/gallium-pipe/pipe_radeonsi.so
#3  0x00007ffff0a1a52a in start_thread () at /lib64/libpthread.so.0
#4  0x00007fffefb4722d in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7ffff7f4eb40 (LWP 3074)):
#0  0x00007ffff0a1dd6b in pthread_mutex_unlock () at /lib64/libpthread.so.0
#1  0x00007ffff7ded4c9 in tls_get_addr_tail () at /lib64/ld-linux-x86-64.so.2
#2  0x00007ffff007904c in __cxa_get_globals () at /lib64/libstdc++.so.6
#3  0x00007ffff007a063 in __cxa_throw () at /lib64/libstdc++.so.6
#4  0x00007fffd5dc30d1 in clover::device::device(clover::platform&, pipe_loader_device*) () at /lib64/libMesaOpenCL.so.1
#5  0x00007fffd5dceb06 in clover::platform::platform() ()
    at /lib64/libMesaOpenCL.so.1
#6  0x00007fffd5da3b66 in _GLOBAL__sub_I_platform.cpp ()
    at /lib64/libMesaOpenCL.so.1
#7  0x00007ffff7deaf2a in call_init.part () at /lib64/ld-linux-x86-64.so.2
---Type <return> to continue, or q <return> to quit--- 
#8  0x00007ffff7deb03b in _dl_init_internal () at /lib64/ld-linux-x86-64.so.2
#9  0x00007ffff7defa31 in dl_open_worker () at /lib64/ld-linux-x86-64.so.2
#10 0x00007ffff7deadd4 in _dl_catch_error () at /lib64/ld-linux-x86-64.so.2
#11 0x00007ffff7deeec3 in _dl_open () at /lib64/ld-linux-x86-64.so.2
#12 0x00007ffff7bd8039 in dlopen_doit () at /lib64/libdl.so.2
#13 0x00007ffff7deadd4 in _dl_catch_error () at /lib64/ld-linux-x86-64.so.2
#14 0x00007ffff7bd869d in _dlerror_run () at /lib64/libdl.so.2
#15 0x00007ffff7bd80d1 in dlopen@@GLIBC_2.2.5 () at /lib64/libdl.so.2
#16 0x00007fffdaac630d in _load_icd () at /lib64/libOpenCL.so.1
#17 0x00007fffdaac65e1 in _open_driver () at /lib64/libOpenCL.so.1
#18 0x00007fffdaac6909 in _initClIcd () at /lib64/libOpenCL.so.1
#19 0x00007ffff7deaf2a in call_init.part () at /lib64/ld-linux-x86-64.so.2
#20 0x00007ffff7deb03b in _dl_init_internal () at /lib64/ld-linux-x86-64.so.2
#21 0x00007ffff7ddbd2a in _dl_start_user () at /lib64/ld-linux-x86-64.so.2
#22 0x0000000000000001 in  ()
#23 0x00007fffffffe3f9 in  ()
#24 0x0000000000000000 in  ()

Не хочет у меня OpenCL работать... :)

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

У меня R9 R290X, может для него ещё дрова недописаны...

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