[Jack-Devel] [jack2] hang on jack_deactivate

PrevNext  Index
DateWed, 16 May 2012 11:30:34 +0200
From tim <[hidden] at klingt dot org>
To[hidden] at jackaudio dot org
Follow-UpStéphane Letz Re: [Jack-Devel] [jack2] hang on jack_deactivate
another jack2 issue: when running my application inside a debugger,
calls to jack_deactivate deadlock the application.

this thread calls jack_deactivate, pthread_join hangs:

>  0 pthread_join     PC=0x7fa70a51d148, FP=0x7fffbcaa7740 [/usr/lib/debug/lib/x86_64-linux-gnu/libpthread-2.15.so]
   1 _ZN4Jack15JackDebugClient19TransportRepositionEP15jack_position_t
PC=0x7fa70b9914d4, FP=0x7fffbcaa7760
[/usr/lib/x86_64-linux-gnu/libjack.so.0]
   2 jack_client_has_session_callback PC=0x7fa70b97db87,
FP=0x7fffbcaa7790 [/usr/lib/x86_64-linux-gnu/libjack.so.0]


the other jack-related threads are in the following state:

>  0 pthread_cond_wait PC=0x7fa70a51fd84, FP=0x7fa6f5115db0 [/usr/lib/debug/lib/x86_64-linux-gnu/libpthread-2.15.so]
   1 _ZN4Jack15JackDebugClient19TransportRepositionEP15jack_position_t
PC=0x7fa70b9927ff, FP=0x7fa6f5115dd0
[/usr/lib/x86_64-linux-gnu/libjack.so.0]
   2 _ZN4Jack15JackDebugClient19TransportRepositionEP15jack_position_t
PC=0x7fa70b98ddac, FP=0x7fa6f5115e00
[/usr/lib/x86_64-linux-gnu/libjack.so.0]
   3 _ZN4Jack15JackDebugClient19TransportRepositionEP15jack_position_t
PC=0x7fa70b9911ad, FP=0x7fa6f5115e20
[/usr/lib/x86_64-linux-gnu/libjack.so.0]
   4 start_thread     PC=0x7fa70a51be93, FP=0x7fa6f5115f30
[/usr/lib/debug/lib/x86_64-linux-gnu/libpthread-2.15.so]

>  0 __read_nocancel  PC=0x7fa70a522d2d, FP=0x7fa6f5094c20 [/usr/lib/debug/lib/x86_64-linux-gnu/libpthread-2.15.so]
   1 _ZN4Jack15JackDebugClient19TransportRepositionEP15jack_position_t
PC=0x7fa70b992fb5, FP=0x7fa6f5094c50
[/usr/lib/x86_64-linux-gnu/libjack.so.0]
   2 jack_get_client_pid PC=0x7fa70b995961, FP=0x7fa6f5094e00
[/usr/lib/x86_64-linux-gnu/libjack.so.0]
   3 _ZN4Jack15JackDebugClient19TransportRepositionEP15jack_position_t
PC=0x7fa70b9911ad, FP=0x7fa6f5094e20
[/usr/lib/x86_64-linux-gnu/libjack.so.0]
   4 start_thread     PC=0x7fa70a51be93, FP=0x7fa6f5094f30
[/usr/lib/debug/lib/x86_64-linux-gnu/libpthread-2.15.so]

>  0 sem_timedwait    PC=0x7fa70a5220c1, FP=0x7fa6f5013d10 [/usr/lib/debug/lib/x86_64-linux-gnu/libpthread-2.15.so]
   1 _ZN4Jack15JackDebugClient19TransportRepositionEP15jack_position_t
PC=0x7fa70b991bcd, FP=0x7fa6f5013d60
[/usr/lib/x86_64-linux-gnu/libjack.so.0]
   2 _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_
PC=0x7fa70b9806c4, FP=0x7fa6f5013d80
[/usr/lib/x86_64-linux-gnu/libjack.so.0]
   3 jack_client_has_session_callback PC=0x7fa70b97dcf6,
FP=0x7fa6f5013e00 [/usr/lib/x86_64-linux-gnu/libjack.so.0]
   4 _ZN4Jack15JackDebugClient19TransportRepositionEP15jack_position_t
PC=0x7fa70b9911ad, FP=0x7fa6f5013e20
[/usr/lib/x86_64-linux-gnu/libjack.so.0]
   5 start_thread     PC=0x7fa70a51be93, FP=0x7fa6f5013f30
[/usr/lib/debug/lib/x86_64-linux-gnu/libpthread-2.15.so]

looks like a classic dead-lock: the second thread waits for a condition
and the first thread waits for the second thread (or maybe another
thread) ... maybe some of the other threads are involved as well ...

hth, tim
PrevNext  Index

1337160666.2343_0.ltw:2,a <jovs3r$gbv$1 at dough dot gmane dot org>