hydrogen-music / hydrogen

The advanced drum machine for Linux, macOS, and Windows
http://www.hydrogen-music.org
GNU General Public License v2.0
1.04k stars 173 forks source link

Hydrogen crashes every time I try and set a MIDI output #1907

Closed kazakore closed 9 months ago

kazakore commented 9 months ago

Hydrogen version * : 1.2.2 Operating system + version : Manjaro (updated today 2023-12-13) Audio driver + version : Jack audio and ALSA MIDI


Open Hydrogen, open Preferences, click on MIDI tab, set MIDI Out to my device, Click OK. Instant crash.

Hydrogen 1.2.2- [Sep 10 2023]  [http://www.hydrogen-music.org]
Copyright 2002-2008 Alessandro Cominu
Copyright 2008-2023 The hydrogen development team
Hydrogen comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details.
(E) ::static int H2Core::AudioEngine::audioEngine_process(uint32_t, void*) Failed to lock audioEngine in allowed 10.6267 ms, missed buffer
(E) ::static int H2Core::AudioEngine::audioEngine_process(uint32_t, void*) Failed to lock audioEngine in allowed 10.6267 ms, missed buffer
(E) ::static int H2Core::AudioEngine::audioEngine_process(uint32_t, void*) Failed to lock audioEngine in allowed 10.6267 ms, missed buffer
(E) ::static int H2Core::AudioEngine::audioEngine_process(uint32_t, void*) Failed to lock audioEngine in allowed 10.6267 ms, missed buffer
(E) ::static int H2Core::AudioEngine::audioEngine_process(uint32_t, void*) Failed to lock audioEngine in allowed 10.6267 ms, missed buffer
(E) ::static int H2Core::AudioEngine::audioEngine_process(uint32_t, void*) Failed to lock audioEngine in allowed 10.6267 ms, missed buffer
(E) ::static int H2Core::AudioEngine::audioEngine_process(uint32_t, void*) Failed to lock audioEngine in allowed 10.6267 ms, missed buffer
(E) ::static int H2Core::AudioEngine::audioEngine_process(uint32_t, void*) Failed to lock audioEngine in allowed 10.6267 ms, missed buffer
terminate called without an active exception
(E) ::void handleFatalSignal(int) Fatal signal 6
(E) ::void handleFatalSignal(int) /usr/bin/hydrogen(+0x225a92) [0x56431997ea92]
(E) ::void handleFatalSignal(int) /usr/lib/libc.so.6(+0x3e710) [0x7f3cc005c710]
(E) ::void handleFatalSignal(int) /usr/lib/libc.so.6(+0x8e83c) [0x7f3cc00ac83c]
(E) ::void handleFatalSignal(int) /usr/lib/libc.so.6(raise+0x18) [0x7f3cc005c668]
(E) ::void handleFatalSignal(int) /usr/lib/libc.so.6(abort+0xd7) [0x7f3cc00444b8]
(E) ::void handleFatalSignal(int) /usr/lib/libstdc++.so.6(+0x9ca6f) [0x7f3cc029ca6f]
(E) ::void handleFatalSignal(int) /usr/lib/libstdc++.so.6(+0xb011c) [0x7f3cc02b011c]
(E) ::void handleFatalSignal(int) /usr/lib/libstdc++.so.6(+0xb0189) [0x7f3cc02b0189]
(E) ::void handleFatalSignal(int) /usr/lib/libstdc++.so.6(__gxx_personality_v0+0x23d) [0x7f3cc02af9cd]
(E) ::void handleFatalSignal(int) /usr/lib/libgcc_s.so.1(+0x1a6f4) [0x7f3cc20e76f4]
(E) ::void handleFatalSignal(int) /usr/lib/libgcc_s.so.1(_Unwind_ForcedUnwind+0x130) [0x7f3cc20e7e20]
(E) ::void handleFatalSignal(int) /usr/lib/libc.so.6(+0x95187) [0x7f3cc00b3187]
(E) ::void handleFatalSignal(int) /usr/lib/libc.so.6(+0x8ae9b) [0x7f3cc00a8e9b]
(E) ::void handleFatalSignal(int) /usr/lib/libc.so.6(+0x3e710) [0x7f3cc005c710]
(E) ::void handleFatalSignal(int) /usr/lib/libc.so.6(+0x89446) [0x7f3cc00a7446]
(E) ::void handleFatalSignal(int) /usr/lib/libc.so.6(+0x903eb) [0x7f3cc00ae3eb]
(E) ::void handleFatalSignal(int) /usr/lib/libhydrogen-core-1.2.2.so(_ZN6H2Core11AudioEngine10tryLockForENSt6chrono8durationIlSt5ratioILl1ELl1000000EEEEPKcjS7_+0x8d) [0x7f3cc1e7dc9d]
(E) ::void handleFatalSignal(int) /usr/lib/libhydrogen-core-1.2.2.so(_ZN6H2Core11AudioEngine19audioEngine_processEjPv+0xe5) [0x7f3cc1e89d05]
(E) ::void handleFatalSignal(int) /usr/lib/libjack.so.0(+0x1444d) [0x7f3cc12cf44d]
(E) ::void handleFatalSignal(int) /usr/lib/libjack.so.0(+0x13be8) [0x7f3cc12cebe8]
(E) ::void handleFatalSignal(int) /usr/lib/libjack.so.0(+0x31bb1) [0x7f3cc12ecbb1]
(E) ::void handleFatalSignal(int) /usr/lib/libc.so.6(+0x8c9eb) [0x7f3cc00aa9eb]
(E) ::void handleFatalSignal(int) /usr/lib/libc.so.6(+0x1107cc) [0x7f3cc012e7cc]
theGreatWhiteShark commented 9 months ago

Hey @kazakore ,

I guess this only happens in case you use the JACK driver, right?

There have been a number of reports in which Hydrogen crashes when shutting down its JACK driver. (This also happens when when changing MIDI devices. Both audio and MIDI drivers will be restarted.) Thing is, I haven't found a way to make this happen in a reproducible way on my device. So its hard to debug. Could you tell which JACK version you use, its hardware settings. Are there other clients or a lot of load on the system?

theGreatWhiteShark commented 9 months ago

Could you check whether the crash still occurs in this version of Hydrogen?

theGreatWhiteShark commented 9 months ago

Fixed in #1909