Segfault -ы в крупных QT программах

Последние пару недель, крупные программы, использующие QT4 вылетают с segmentation fault . А именно, практически всё, что предназначено для создания музыки. Например Rosegarden, Qtractor, LMMS. Вылетают в разных местах, что-то раньше, что-то позже, но суть одна - работать невозможно.
Бьюсь уже неделю и выхода пока не вижу. Перепроверил кажется всё. Проверял на двух разных системах, чтобы исключить влияние звуковых плат. Результат одинаков везде - вылеты, хотя системы разные ощутимо (обе обновлены до текущего состояния и в остальном работают практически безупречно).
Первая - десктоп Athlon X2 3800+ 2G RAM, Nvidia Geforce 7900GS, звук ESI MAYA44, плюс встроенный в материнку звук.
Вторая - нетбук Acer Aspire One со встроенным звуком. На обоих - Арч с последним realtime ядром из AUR “kernel26rt 2.6.31.6_rt19-1”. (От безысходности, ядро пробовал менять на ванильное - естественно, вылеты не прекратились)
На обоих установлена XFCE (привык я к ней), но QT всё же есть, т.к. большинство музыкальных программ её страстно хотят.
top показывает, что памяти хватает, да и неудивительно - вылетает практически в самом начале, стоит что-то подвигать, создать пару треков, позапускать их на воспроизведение и т.д. Впрочем, в каждом пакете всё происходит индивидуально и по своему.
Запустил трассировку с gdb и возникло смутное подозрение, что это где-то в недрах QT4. Собственно, это только подтвердило подозрения закравшиеся раньше. (Та же MuSE, которая на QT3, не вылетает например, хотя глючит по своему)
Вот, например, вывод запуска LMMS, в которой я просто создаю новый трек и раз двадцать тыкаю в виртуальную клавиатуру встроенного sf2 виртуального синтезатора. Багрепорт отправил, но надежды мало (полгода назад отправил багрепорт в ALSA, так он там до сих пор в разряде “новых” и необработанных висит)
[[email protected] ~]$ gdb /usr/bin/lmms
GNU gdb (GDB) 7.1
Copyright (C) 2010 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 "i686-pc-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/lmms...(no debugging symbols found)...done.
(gdb) r
Starting program: /usr/bin/lmms 
warning: the debug information found in "/usr/lib/libQtGui.so.4.6.2.debug" does not match "/usr/lib/libQtGui.so.4" (CRC mismatch).
warning: the debug information found in "/usr/lib/libQtXml.so.4.6.2.debug" does not match "/usr/lib/libQtXml.so.4" (CRC mismatch).
warning: the debug information found in "/usr/lib/libQtCore.so.4.6.2.debug" does not match "/usr/lib/libQtCore.so.4" (CRC mismatch).
[Thread debugging using libthread_db enabled]
warning: the debug information found in "/usr/lib/qt/plugins/imageformats/libqgif.so.debug" does not match "/usr/lib/qt/plugins/imageformats/libqgif.so" (CRC mismatch).
warning: the debug information found in "/usr/lib/qt/plugins/imageformats/libqico.so.debug" does not match "/usr/lib/qt/plugins/imageformats/libqico.so" (CRC mismatch).
warning: the debug information found in "/usr/lib/qt/plugins/imageformats/libqjpeg.so.debug" does not match "/usr/lib/qt/plugins/imageformats/libqjpeg.so" (CRC mismatch).
warning: the debug information found in "/usr/lib/qt/plugins/imageformats/libqmng.so.debug" does not match "/usr/lib/qt/plugins/imageformats/libqmng.so" (CRC mismatch).
warning: the debug information found in "/usr/lib/qt/plugins/imageformats/libqsvg.so.debug" does not match "/usr/lib/qt/plugins/imageformats/libqsvg.so" (CRC mismatch).
warning: the debug information found in "/usr/lib/libQtSvg.so.4.6.2.debug" does not match "/usr/lib/libQtSvg.so.4" (CRC mismatch).
warning: the debug information found in "/usr/lib/qt/plugins/imageformats/libqtiff.so.debug" does not match "/usr/lib/qt/plugins/imageformats/libqtiff.so" (CRC mismatch).
[New Thread 0xb5ca9b70 (LWP 18479)]
RemoteVSTClient: all cache files are up-to-date, not running scanner
[New Thread 0xb3dcfb70 (LWP 18490)]
[New Thread 0xb3513b70 (LWP 18492)]
[New Thread 0xb2a56b70 (LWP 18493)]
[New Thread 0xb2255b70 (LWP 18494)]
[New Thread 0xb166ab70 (LWP 18495)]
[Thread 0xb166ab70 (LWP 18495) exited]
[New Thread 0xb166ab70 (LWP 18496)]
[New Thread 0xb0e69b70 (LWP 18497)]
[New Thread 0xb0668b70 (LWP 18498)]
fluidsynth: warning: Ignoring sample *SikuE2: can't use ROM samples
fluidsynth: warning: Ignoring sample sawstackwavems: can't use ROM samples
fluidsynth: warning: Ignoring sample *MBongoTone: can't use ROM samples
fluidsynth: warning: Ignoring sample *BellTree: can't use ROM samples
fluidsynth: warning: Ignoring sample *ChCrash: can't use ROM samples
fluidsynth: warning: Ignoring sample *Tamborine: can't use ROM samples
fluidsynth: warning: Ignoring sample *Triangle: can't use ROM samples
fluidsynth: warning: Ignoring sample *QuicaDown: can't use ROM samples
fluidsynth: warning: Ignoring sample *SambaWhistle: can't use ROM samples
fluidsynth: warning: Ignoring sample *QuintoSlap: can't use ROM samples
fluidsynth: warning: Ignoring sample *ColdGlass12Wave: can't use ROM samples
fluidsynth: warning: Ignoring sample *Sinetick: can't use ROM samples
fluidsynth: warning: Ignoring sample *Stix: can't use ROM samples
fluidsynth: warning: Ignoring sample *GuitarFret: can't use ROM samples
fluidsynth: warning: Ignoring sample *Scratch: can't use ROM samples
fluidsynth: warning: Ignoring sample *VerbClickWave: can't use ROM samples
fluidsynth: warning: Ignoring sample *WhiteNoiseWave: can't use ROM samples
fluidsynth: warning: Ignoring sample *FilterSnap: can't use ROM samples
[Thread 0xb0e69b70 (LWP 18497) exited]
[Thread 0xb0668b70 (LWP 18498) exited]
Program received signal SIGSEGV, Segmentation fault.
0xb7423983 in QMetaObject::removeGuard(QObject**) () from /usr/lib/libQtCore.so.4
(gdb) thread apply all backtrace
Thread 8 (Thread 0xb166ab70 (LWP 18496)):
#0  0xb7fe1424 in __kernel_vsyscall ()
#1  0xb729ee55 in [email protected]@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb5f95100 in fluid_synth_return_event_process_thread () from /usr/lib/libfluidsynth.so.1
#3  0xb729cd67 in pthread_mutex_lock () from /lib/libpthread.so.0
#4  0xb689b390 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
Thread 6 (Thread 0xb2255b70 (LWP 18494)):
#0  0xb7fe1424 in __kernel_vsyscall ()
#1  0xb6c8beb6 in poll () from /lib/libc.so.6
#2  0xb71306ef in jack_client_core_wait () from /usr/lib/libjack.so.0
#3  0xb7130b7f in jack_thread_wait () from /usr/lib/libjack.so.0
#4  0xb7130c9c in jack_client_thread () from /usr/lib/libjack.so.0
#5  0xb729a8ac in start_thread () from /lib/libpthread.so.0
#6  0xb6c9601e in clone () from /lib/libc.so.6
Thread 5 (Thread 0xb2a56b70 (LWP 18493)):
#0  0xb729f531 in [email protected]@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0xb730dd77 in QWaitCondition::wakeAll() () from /usr/lib/libQtCore.so.4
#2  0x08184ee6 in mixer::renderNextBuffer() ()
#3  0x08185331 in mixer::fifoWriter::run() ()
#4  0xb730d27e in ?? () from /usr/lib/libQtCore.so.4
#5  0xb729a8ac in start_thread () from /lib/libpthread.so.0
#6  0xb6c9601e in clone () from /lib/libc.so.6
Thread 4 (Thread 0xb3513b70 (LWP 18492)):
#0  0xb7fe1424 in __kernel_vsyscall ()
#1  0xb6c8beb6 in poll () from /lib/libc.so.6
#2  0x081ca8a4 in MidiAlsaSeq::run() ()
#3  0xb730d27e in ?? () from /usr/lib/libQtCore.so.4
#4  0xb729a8ac in start_thread () from /lib/libpthread.so.0
#5  0xb6c9601e in clone () from /lib/libc.so.6
Thread 3 (Thread 0xb3dcfb70 (LWP 18490)):
#0  0xb7fe1424 in __kernel_vsyscall ()
#1  0xb729ee55 in [email protected]@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb7131f6f in mb_thread_func () from /usr/lib/libjack.so.0
#3  0xb729a8ac in start_thread () from /lib/libpthread.so.0
#4  0xb6c9601e in clone () from /lib/libc.so.6
Thread 2 (Thread 0xb5ca9b70 (LWP 18479)):
#0  0xb7fe1424 in __kernel_vsyscall ()
#1  0xb72a19c9 in __lll_lock_wait () from /lib/libpthread.so.0
#2  0xb72a4e1c in _L_cond_lock_571 () from /lib/libpthread.so.0
#3  0xb72a4c40 in __pthread_mutex_cond_lock () from /lib/libpthread.so.0
#4  0xb729eef3 in [email protected]@GLIBC_2.3.2 () from /lib/libpthread.so.0
#5  0xb730e1b7 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#6  0x08188357 in MixerWorkerThread::run() ()
#7  0xb730d27e in ?? () from /usr/lib/libQtCore.so.4
#8  0xb729a8ac in start_thread () from /lib/libpthread.so.0
#9  0xb6c9601e in clone () from /lib/libc.so.6
Thread 1 (Thread 0xb67a0930 (LWP 18476)):
#0  0xb7423983 in QMetaObject::removeGuard(QObject**) () from /usr/lib/libQtCore.so.4
#1  0x08195edb in QVector<QPointer<AutomatableModel> >::free(QVectorTypedData<QPointer<AutomatableModel> >*) ()
---Type <return> to continue, or q <return> to quit---
#2  0x08193206 in automationPattern::~automationPattern() ()
#3  0xb741ddf5 in qDeleteInEventHandler(QObject*) () from /usr/lib/libQtCore.so.4
#4  0xb741f508 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#5  0xb76875dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#6  0xb768e1ee in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#7  0xb740ecbb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#8  0xb7411693 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#9  0xb74117fd in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4
#10 0xb743aadf in ?? () from /usr/lib/libQtCore.so.4
#11 0xb6b4b378 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#12 0xb6b4ebf0 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#13 0xb6b4ed23 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#14 0xb743a5d5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#15 0xb7743ae5 in ?? () from /usr/lib/libQtGui.so.4
#16 0xb740d2f9 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#17 0xb740d74a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#18 0xb74118bf in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#19 0x081bf7a8 in main ()
(gdb) q
A debugging session is active.
	Inferior 1 [process 18476] will be killed.
Quit anyway? (y or n) y
[[email protected] ~]$ 
Очень подозрительны какие-то ошибки CRC. Переустановка QT не помогла.
В общем, где-то в /usr/lib/libQtCore.so.4 вылетает собака…
Просто уже сил никаких нет.
Уважаемые, может что-нибудь посоветуете, а? (Перейти на виндовс не предлагать)
Поменять зеркало на нормальное и pacman -Syu && pacman -S kernel26
Разберемся, голубчик!
Amigo
Поменять зеркало на нормальное и pacman -Syu && pacman -S kernel26
А какое зеркало “нормальное”? У меня германское зеркало, там задержка пара часов всего, этим подкупило оно меня. И быстрое. Сейчас я с работы пишу, не могу сказать точно какое именно… Ванильное ядро я пробовал ставить, как и собирать всякие разные другие из AUR - bfs, ck и проч. Это вообще не влияло никак. Вылетало идентично, при общей нормальной стабильности системы в целом. Пробовал откатывать qt, но вылетать не прекратило, зато с некоторой даунгрейднутой версии вообще всё запускаться перестало… Вот такие пироги.
Кстати, ещё вариант, пользоваться LMMS win32 сборкой, через wine. И что больше всего меня огорчает - так не вылетает… вот такие дела!
магия какая-то :) kde считается крупной qt программой?
Разберемся, голубчик!
Amigo
магия какая-то :) kde считается крупной qt программой?
alexdsp
А именно, практически всё, что предназначено для создания музыки. Например Rosegarden, Qtractor, LMMS.
Даже если KDE программа мега-крупная, в список моих интересов она не входит :) Тем более, что далеко не все программы на QT у меня “сегфолтятся”. Всякие QMMP, QjackCtl, Qsynth и прочие - полёт нормальный. Впрочем, по LMMS я почитал багрепорты и ужаснулся. Очень много сообщений аналогичных моему. Работать почти невозможно. И что самое обидное, версия под виндовс не только стабильно работает, но и более функциональная, что очень странно. Вслушайтесь в название “Linux Multimedia Studio”!
Amigo
Поменять зеркало на нормальное и pacman -Syu && pacman -S kernel26
Кстати, всё-таки какое зеркало “нормальное”? У меня сейчас "http://mirror.giantix-server.de" Оно нормальное?
alexdsp
Кстати, всё-таки какое зеркало “нормальное”? У меня сейчас "http://mirror.giantix-server.de" Оно нормальное?
Не знаю, не проверял. Если обновляется часто и без “провалов” в пакетах, то думаю, что сойдет. Лишь бы не яндекс ;)
Разберемся, голубчик!
Кстати, это не Ваше? http://bugs.archlinux.org/task/18793
Разберемся, голубчик!
Amigo, не похоже.

Топикстартер: как вариант, попробуй обновить abs и собрать программу нужную самостоятельно, которая сегфолтится, интересно поможет такое или нет.
systemd должен умереть.
Amigo
Кстати, это не Ваше? http://bugs.archlinux.org/task/18793
Да нет вроде. Хотя отладочное инфо тоже не совпадает, это gdb нам сказал…
h4tr3d
Amigo, не похоже.

Топикстартер: как вариант, попробуй обновить abs и собрать программу нужную самостоятельно, которая сегфолтится, интересно поможет такое или нет.
Это было то, что я сделал одним из первых. Сильнее всего (и коварнее) вылетает Qtractor - стартует нормально и даже что-то можно делать, но как только проект чуть обрастает мясом, на воспроизведении падает с сегфолтом. Я пробовал создавать разные пустые проекты, по разному их наполнял, но итог один - вначале вроде работает, но позже всё равно упадёт. Причём проектики чисто смешные - пару тройку треков с крошечным миди-примером и виртуальным синтезатором через fluidsynth-dssi.
Так вот. Отвлёкся. ABS я первым делом обновил и собрал Qtractor. Всё идентично - падает без изменений.
Также, я вчера собрал относительно свеженькую lmms-git. Программка заметно потолстела и получила новые возможности, что не может не радовать, но огорчила всё так же - при кликании и жмакании в виртуальную клавиатуру встроенного sf2 инструмента, упала с сегфолтом.

А вот у меня, пока писал, возникла крамольная мысля. А ведь во всех этих падениях так или иначе fluidsynth замешан. Стоит только через него что-то непродолжительно повыводить - жди беды. Если продолжить теоретизировать, то странно, каким боком он относится к QT - всюду используется GUI самого падающего пакета, тем не менее какая-то связь прослеживается… Блин, устал я ужасно от всего этого… Надо видимо Reaper осваивать уже…
Напиши мылом в какой программе что делаешь, если можно - образец проекта, попробую что-нить отловить.
systemd должен умереть.
 
Зарегистрироваться или войдите чтобы оставить сообщение.