Для запуска множества разных игр на Unity3D необходима libalsa-1.2.1. С новой версией происходит Unhandled exception SIGARBRT. Проверено на трех разных игрушках. Решение найдено тут: (там другие люди в другом дистре подтверждают эту же ошибку) https://github.com/mono/mono/issues/19131 Просьба исправить, сделать параллельную установку двух версий или откатить.
Иногда по сообщениям можно подумать, что виновато mono, поэтому на него вешали баг. Вот пример вывода с ошибкой (до замены версии libalsa на 1.2.1) $ ./run.sh -force-opengl Set current directory to /home/slava/.bin/games/Dandara - Trials of Fear Found path: /home/slava/.bin/games/Dandara - Trials of Fear/Dandara Mono path[0] = '/home/slava/.bin/games/Dandara - Trials of Fear/Dandara_Data/Managed' Mono config path = '/home/slava/.bin/games/Dandara - Trials of Fear/Dandara_Data/Mono/etc' Preloaded 'ScreenSelector.so' Preloaded 'libsteam_api.so' Display 0 'Color LCD 17"': 1920x1200 (primary device). Logging to /home/slava/.config/unity3d/Long Hat House/Dandara/Player.log Stacktrace: Native stacktrace: /home/slava/.bin/games/Dandara - Trials of Fear/Dandara_Data/Mono/x86_64/libmono.so(+0x98a23) [0x7f3e33b81a23] /lib64/libpthread.so.0(+0x140f0) [0x7f3e529770f0] /lib64/libc.so.6(gsignal+0x141) [0x7f3e527d8891] /lib64/libc.so.6(abort+0x127) [0x7f3e527c255b] ./Dandara() [0xd302c6] /home/slava/.bin/games/Dandara - Trials of Fear/Dandara_Data/Mono/x86_64/libmono.so(+0xd931d) [0x7f3e33bc231d] /home/slava/.bin/games/Dandara - Trials of Fear/Dandara_Data/Mono/x86_64/libmono.so(+0x375cf) [0x7f3e33b205cf] /lib64/libpthread.so.0(+0x140f0) [0x7f3e529770f0] ./Dandara() [0xcb51c8] ./Dandara() [0xa0b962] ./Dandara() [0xa0e843] ./Dandara() [0xa0ee4f] ./Dandara() [0xa0f0c0] ./Dandara() [0xe10639] ./Dandara() [0x17a5ad5] ./Dandara() [0x17ccd1b] ./Dandara() [0x17ccf78] ./Dandara() [0x17cd17c] ./Dandara() [0x17cd384] ./Dandara() [0x17bd058] ./Dandara() [0x17b240e] ./Dandara() [0xe203ad] ./Dandara() [0xe208e6] ./Dandara() [0xe21597] ./Dandara() [0xd7dbe1] ./Dandara() [0xd862da] ./Dandara() [0xd8b1ec] ./Dandara() [0xd8b375] ./Dandara() [0xa2124e] ./Dandara() [0xc51bfb] ./Dandara() [0x44dace] /lib64/libc.so.6(__libc_start_main+0xeb) [0x7f3e527c3e1b] ./Dandara() [0x45a601] Debug info from gdb: I refuse to debug myself! No threads. ================================================================= Got a SIGABRT while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= Аварийный останов
*** Bug 38398 has been marked as a duplicate of this bug. ***
Надо бы это в апстрим дотащить; а пока давай зафиксируем полезные ссылки: http://altlinux.org/downgrade http://ftp.altlinux.org/pub/distributions/archive/sisyphus/index/src/l/libalsa/
Просто откатить без пересборки приложений не получается. Кое что, проприетарное, например Zoom, работает теперь только с 1.2.2. Надо делать libalsa-compat. Чуть более изящный временный выход: скопировать libasound.so.2.0.0 из пакета libalsa версии 1.2.1 в /usr/share/lib64/libasound.so.2.0.0-1.2.1 и перед запуском сломавшихся игрушек делать export LD_PRELOAD=/path/to/my/malloc.so /bin/ls Вот только какой гад придумал обе несовместимые по факту версии называть одинаково "libasound.so.2.0.0" ?
(Ответ для Michael Shigorin на комментарий #3) > Надо бы это в апстрим дотащить; а пока давай зафиксируем полезные ссылки: > http://altlinux.org/downgrade Было бы здорово написать там, как откатить не всю систему, а точечно отдельный пакет, оставаясь в Сизифе? Баги можно часто локализовать с точностью до приложения или библиотеки, а общий откат делать совсем не хочется.
(Ответ для Vyacheslav Dikonov на комментарий #4) > Надо делать libalsa-compat. В дистрибутиве такое можно было бы делать только при железобетонно мёртвом апстриме и полном нежелании (или невозможности) связываться с кодом. Надо внятно рассказать апстриму. Жаль, что mantis у них сдох -- предлагается писать в alsa-devel@, подписавшись: http://alsa-project.org/wiki/Bug_Tracking (Ответ для Vyacheslav Dikonov на комментарий #5) > > http://altlinux.org/downgrade > Было бы здорово написать там, как откатить не всю систему, > а точечно отдельный пакет, оставаясь в Сизифе? Гм, думал, это очевидно -- apt-get install его и по вкусу за'hold'ить. Затем можно вернуть настройки апта в режим "как было" (кроме Hold).
export LD_PRELOAD=/usr/lib64/libasound.so.2.0.0-1.2.1 Извините, ранее вставил чушь из буфера.
(Ответ для Michael Shigorin на комментарий #6) > (Ответ для Vyacheslav Dikonov на комментарий #4) > > Надо делать libalsa-compat. > В дистрибутиве такое можно было бы делать только при железобетонно мёртвом > апстриме и полном нежелании (или невозможности) связываться с кодом. > Надо внятно рассказать апстриму. Апстрим alsa мертвым быть не должен, но вот апстримы игр могут вообще перестать существовать. Альсовцы же могут сказать, что "проблемы индейцев шерифа не волнуют". Так что сейчас libalsa-compat (или unity-wrapper) нужен.
С 1.2.4 (p9) / 1.2.5.1 (p10) не прошло часом?
на p10 с libalsa 1.2.6 ошибка не воспроизводится, игры с unity отлично работают.