tuk0z Posted Tuesday at 12:10 Report Share Posted Tuesday at 12:10 (edited) Hi all, In short: Game segfaulted after I updated openal to 1.24.0 yesterday. It works just fine after downgrading openal to 1.23.1. No chicken were harmed. - Software: Arch linux ; 0ad a26-17 ; 0ad-data a26-2 - Hardware: Intel Core i3 ; Nvidia GT 1030 (fanless) Some more details: With openal-1.24.0: $ 0ad TIMER| InitVfs: 2.03109 ms FILES| Main log written to '$HOME/.config/0ad/logs/mainlog.html' FILES| Interesting log written to '$HOME/.config/0ad/logs/interestinglog.html' TIMER| CONFIG_Init: 5.32788 ms [E] pw.loop [loop.c:69 pw_loop_new()] 0x60457b6edb60: can't make support.system handle: No such file or directory [ALSOFT] (EE) Failed to create PipeWire event thread loop (errno: 2) Sound: AlcInit success, using OpenAL Soft Assertion failed: "0 && (L"FYI: WARN_IF_FALSE reports that a function failed. Feel free to ignore or suppress this warning.")" Location: SoundManager.cpp:841 (RunHardwareDetection) Call stack: (0x6045492c7d84) /usr/bin/pyrogenesis(+0x84ed84) [0x6045492c7d84] (0x6045492740a0) /usr/bin/pyrogenesis(+0x7fb0a0) [0x6045492740a0] (0x604549275a69) /usr/bin/pyrogenesis(+0x7fca69) [0x604549275a69] (0x604549276335) /usr/bin/pyrogenesis(+0x7fd335) [0x604549276335] (0x604548f16f23) /usr/bin/pyrogenesis(+0x49df23) [0x604548f16f23] (0x604548f1a86e) /usr/bin/pyrogenesis(+0x4a186e) [0x604548f1a86e] (0x604548f1a9a1) /usr/bin/pyrogenesis(+0x4a19a1) [0x604548f1a9a1] (0x604548e2ad0c) /usr/bin/pyrogenesis(+0x3b1d0c) [0x604548e2ad0c] (0x604548b2a375) /usr/bin/pyrogenesis(+0xb1375) [0x604548b2a375] (0x604548b193ab) /usr/bin/pyrogenesis(+0xa03ab) [0x604548b193ab] (0x736377745e08) /usr/lib/libc.so.6(+0x25e08) [0x736377745e08] (0x736377745ecc) /usr/lib/libc.so.6(__libc_start_main+0x8c) [0x736377745ecc] (0x604548b231c5) /usr/bin/pyrogenesis(+0xaa1c5) [0x604548b231c5] errno = 0 (No error reported here) OS error = ? Redirecting call to abort() to mozalloc_abort /usr/bin/0ad: line 9: 49358 Segmentation fault (core dumped) "$pyrogenesis" "$@" With openal-1.23.1 : $ 0ad TIMER| InitVfs: 239.716 us FILES| Main log written to '$HOME/.config/0ad/logs/mainlog.html' FILES| Interesting log written to '$HOME/.config/0ad/logs/interestinglog.html' TIMER| CONFIG_Init: 2.68025 ms [E] pw.loop [loop.c:69 pw_loop_new()] 0x60eae9630130: can't make support.system handle: No such file or directory [ALSOFT] (EE) Failed to create PipeWire event thread loop (errno: 2) Sound: AlcInit success, using OpenAL Soft FILES| UserReport written to '$HOME/.config/0ad/logs/userreport_hwdetect.txt' TIMER| RunHardwareDetection: 6.44828 ms FILES| Hardware details written to '$HOME/.config/0ad/logs/system_info.txt' TIMER| write_sys_info: 17.4534 ms TIMER| InitRenderer: 20.6847 ms TIMER| ps_console: 4.63143 ms TIMER| ps_lang_hotkeys: 3.00069 ms TIMER| common/modern/setup.xml: 112.83 us TIMER| common/modern/styles.xml: 100.456 us TIMER| common/modern/sprites.xml: 776.77 us TIMER| common/global.xml: 298.022 us TIMER| common/setup.xml: 187.392 us TIMER| common/sprites.xml: 464.298 us TIMER| common/styles.xml: 66.51 us TIMER| pregame/backgrounds/: 132.234 us TIMER| pregame/sprites.xml: 96.276 us TIMER| pregame/styles.xml: 29.007 us TIMER| pregame/mainmenu.xml: 43.6955 ms TIMER| common/modern/setup.xml: 93.616 us TIMER| common/modern/styles.xml: 106.386 us TIMER| common/modern/sprites.xml: 962.806 us TIMER| msgbox/msgbox.xml: 17.0366 ms TIMER| shutdown Renderer: 628.728 us TIMER| shutdown SDL: 115.719 ms TIMER| shutdown UserReporter: 1.94474 ms TIMER| shutdown ConfigDB: 97.907 us TIMER| resource modules: 24.6124 ms TIMER TOTALS (7 clients) ----------------------------------------------------- tc_pool_alloc: 0 c (0x) tc_png_decode: 7546.19 kc (2x) tc_dds_transform: 30.636 kc (11x) tc_transform: 841.184 kc (5x) tc_plain_transform: 790.82 kc (5x) tc_ShaderValidation: 1142.95 kc (1x) xml_validation: 707.244 kc (3x) ----------------------------------------------------- TIMER| shutdown misc: 8.26539 ms Also posted on Arch forum. Edited Tuesday at 12:20 by tuk0z Added Arch bbs link 1 Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted Tuesday at 12:43 Report Share Posted Tuesday at 12:43 Hi! According to: [E] pw.loop [loop.c:69 pw_loop_new()] 0x60457b6edb60: can't make support.system handle: No such file or directory [ALSOFT] (EE) Failed to create PipeWire event thread loop (errno: 2) It seems like an OpenAL or the system problem. We can make a workaround to disable sounds for that case. Did you try any other game/software using OpenAL with the new version? Quote Link to comment Share on other sites More sharing options...
tuk0z Posted Tuesday at 13:38 Author Report Share Posted Tuesday at 13:38 I didn't try another yet but I could give Endless-Sky a go, as it depends on it too. Note that sound in 0 AD works perfectly fine to me with openal-1.23.1 Quote Link to comment Share on other sites More sharing options...
AInur Posted Tuesday at 13:52 Report Share Posted Tuesday at 13:52 0ad crashes whenever I try to start it. This became persistent and appeared suddenly. TIMER| InitVfs: 186.839 us FILES| Main log written to '/home/esme/.config/0ad/logs/mainlog.html' FILES| Interesting log written to '/home/esme/.config/0ad/logs/interestinglog.html' TIMER| CONFIG_Init: 2.24604 ms Sound: AlcInit success, using OpenAL Soft Assertion failed: "0 && (L"FYI: WARN_IF_FALSE reports that a function failed. Feel free to ignore or suppress this warning.")" Location: SoundManager.cpp:841 (RunHardwareDetection) Call stack: (0x59bae6a4bd84) /usr/bin/pyrogenesis(+0x84ed84) [0x59bae6a4bd84] (0x59bae69f80a0) /usr/bin/pyrogenesis(+0x7fb0a0) [0x59bae69f80a0] (0x59bae69f9a69) /usr/bin/pyrogenesis(+0x7fca69) [0x59bae69f9a69] (0x59bae69fa335) /usr/bin/pyrogenesis(+0x7fd335) [0x59bae69fa335] (0x59bae669af23) /usr/bin/pyrogenesis(+0x49df23) [0x59bae669af23] (0x59bae669e86e) /usr/bin/pyrogenesis(+0x4a186e) [0x59bae669e86e] (0x59bae669e9a1) /usr/bin/pyrogenesis(+0x4a19a1) [0x59bae669e9a1] (0x59bae65aed0c) /usr/bin/pyrogenesis(+0x3b1d0c) [0x59bae65aed0c] (0x59bae62ae375) /usr/bin/pyrogenesis(+0xb1375) [0x59bae62ae375] (0x59bae629d3ab) /usr/bin/pyrogenesis(+0xa03ab) [0x59bae629d3ab] (0x714b6a1621ce) /usr/lib/libc.so.6(+0x261ce) [0x714b6a1621ce] (0x714b6a16228a) /usr/lib/libc.so.6(__libc_start_main+0x8a) [0x714b6a16228a] (0x59bae62a71c5) /usr/bin/pyrogenesis(+0xaa1c5) [0x59bae62a71c5] errno = 0 (No error reported here) OS error = ? This log suggests Soundmanager.cpp is causing an issue. The sound system on my device is working. interestinglog.html is empty mainglog.html only loaded some autociv config strings, nothing of interest. Â I could play the game by using an appimage build, but ideally we can fix the main installation. Â Quote Link to comment Share on other sites More sharing options...
hyperion Posted Tuesday at 17:15 Report Share Posted Tuesday at 17:15 Quick check: alcGetString(nullptr, ALC_DEVICE_SPECIFIER) returns nullptr or at least a char* starting with "\0" in 1.24.0 It's only used for printing the device name into a logfile. Making the follow up code expecting non NULL segfault. Skipping that part the sound works just fine, as it's only used for printing the device name into a logfile. 2 Quote Link to comment Share on other sites More sharing options...
AInur Posted Tuesday at 17:27 Report Share Posted Tuesday at 17:27 13 minutes ago, hyperion said: Quick check: alcGetString(nullptr, ALC_DEVICE_SPECIFIER) returns nullptr or at least a char* starting with "\0" in 1.24.0 It's only used for printing the device name into a logfile. Making the follow up code expecting non NULL segfault. Skipping that part the sound works just fine, as it's only used for printing the device name into a logfile. What exactly should I do to fix it? Quote Link to comment Share on other sites More sharing options...
hyperion Posted Tuesday at 17:46 Report Share Posted Tuesday at 17:46 https://gitea.wildfiregames.com/0ad/0ad/pulls/7234 1 Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted Tuesday at 21:15 Report Share Posted Tuesday at 21:15 3 hours ago, hyperion said: alcGetString(nullptr, ALC_DEVICE_SPECIFIER) returns nullptr or at least a char* starting with "\0" in 1.24.0 It's only used for printing the device name into a logfile. Making the follow up code expecting non NULL segfault. Skipping that part the sound works just fine, as it's only used for printing the device name into a logfile. The great find! Quote Link to comment Share on other sites More sharing options...
Dunedan Posted 18 hours ago Report Share Posted 18 hours ago Same problem happens for 0 A.D. as provided by Debian/unstable since the most recent OpenAL update. cc @vv221 Quote Link to comment Share on other sites More sharing options...
vv221 Posted 18 hours ago Report Share Posted 18 hours ago 3 minutes ago, Dunedan said: Same problem happens for 0 A.D. as provided by Debian/unstable I can confirm that on a system that uses ALSA, without PipeWire nor PulseAudio. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.