Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash on client creation/tear down #964

Open
theGreatWhiteShark opened this issue Dec 14, 2023 · 0 comments
Open

Crash on client creation/tear down #964

theGreatWhiteShark opened this issue Dec 14, 2023 · 0 comments
Labels

Comments

@theGreatWhiteShark
Copy link

Describe the bug

While debugging a crash in another software (Hydrogen) I happen to create and destroy its JACK driver tens and hundreds of times in a very short amount of time. While doing so I frequently (like, once out of hundred) encountered crashes which seem to be caused by JACK itself.

The most frequent ones was this:

Thread 174 "tests" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffd5cff700 (LWP 4136)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff6717537 in __GI_abort () at abort.c:79
#2  0x00007ffff6ac37ec in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff6ace966 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007ffff6ace9d1 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff6ace3cc in __gxx_personality_v0 () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007ffff68d98a4 in ?? () from /lib/x86_64-linux-gnu/libgcc_s.so.1
#7  0x00007ffff68d9f4e in _Unwind_ForcedUnwind () from /lib/x86_64-linux-gnu/libgcc_s.so.1
#8  0x00007ffff79f5c30 in __GI___pthread_unwind (buf=<optimized out>) at unwind.c:121
#9  0x00007ffff79ea729 in __do_cancel () at ./pthreadP.h:310
#10 sigcancel_handler (sig=32, si=0x7fffd5cfe430, ctx=<optimized out>) at nptl-init.c:177
#11 sigcancel_handler (sig=<optimized out>, si=0x7fffd5cfe430, ctx=<optimized out>) at nptl-init.c:142
#12 <signal handler called>
#13 __memset_avx2_unaligned_erms () at ../sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S:170
#14 0x00007ffff650ff53 in Jack::JackClientNotification::JackClientNotification() () from /usr/local/lib/libjack.so.0
#15 0x00007ffff650fcae in Jack::JackSocketClientChannel::Execute() () from /usr/local/lib/libjack.so.0
#16 0x00007ffff6508484 in Jack::JackPosixThread::ThreadHandler(void*) () from /usr/local/lib/libjack.so.0
#17 0x00007ffff79ebea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#18 0x00007ffff67f0a2f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

And occasionally I had this one:

Thread 402 "tests" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffd5cff700 (LWP 8790)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff6717537 in __GI_abort () at abort.c:79
#2  0x00007ffff6ac37ec in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff6ace966 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007ffff6ace9d1 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff6ace3cc in __gxx_personality_v0 () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007ffff68d98a4 in ?? () from /lib/x86_64-linux-gnu/libgcc_s.so.1
#7  0x00007ffff68d9f4e in _Unwind_ForcedUnwind () from /lib/x86_64-linux-gnu/libgcc_s.so.1
#8  0x00007ffff79f5c30 in __GI___pthread_unwind (buf=<optimized out>) at unwind.c:121
#9  0x00007ffff79ea729 in __do_cancel () at ./pthreadP.h:310
#10 sigcancel_handler (sig=32, si=0x7fffd5cfe470, ctx=<optimized out>) at nptl-init.c:177
#11 sigcancel_handler (sig=<optimized out>, si=0x7fffd5cfe470, ctx=<optimized out>) at nptl-init.c:142
#12 <signal handler called>
#13 0x00007ffff64f7ccc in Jack::JackResult::~JackResult() () from /usr/local/lib/libjack.so.0
#14 0x00007ffff650fe32 in Jack::JackSocketClientChannel::Execute() () from /usr/local/lib/libjack.so.0
#15 0x00007ffff6508484 in Jack::JackPosixThread::ThreadHandler(void*) () from /usr/local/lib/libjack.so.0
#16 0x00007ffff79ebea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#17 0x00007ffff67f0a2f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Environment

  • JACK Version: Which version of jack2 are you using? (e.g. the output of jackd --version or a git commit checksum)

v1.9.21

  • Operating System: What operating system or distribution in which version are you using? (e.g. Linux, macOS, Windows)

Linux Devuan ASCII

  • Installation: How did you install jack2? (e.g. package manager, from source)

from source

Steps To Reproduce

Well, nothing minimal. But if you like I can prepare you a branch of Hydrogen which should encounter a crash within its unit tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant