[pulseaudio-discuss] Pulseaudio is deadlocked when using module-echo-cancel to Bluetooth input audio

Chengyi Zhao chengyi.zhao at outlook.com
Fri Sep 25 06:00:55 UTC 2020


Hi guys,

Pulseaudio is deadlocked when Bluetooth(HSP) is selected as the input 
audio and module-echo-cancel is loaded.

I don't know why  Thread 1 and Thread 5 are all blocked in the function 
futex_abstimed_wait_cancelable.

Please help analyze the following call stack information, thanks!

(gdb) info thread
   Id   Target Id                                          Frame
* 1    Thread 0x7f7f23817e00 (LWP 4366) "pulseaudio" 
futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, 
futex_word=0x7f7f0c0013e0) at 
../sysdeps/unix/sysv/linux/futex-internal.h:205
   2    Thread 0x7f7f18818700 (LWP 4601) "alsa-sink-ALC89" 
0x00007f7f23feb926 in __GI_ppoll (fds=0x5cc130, nfds=4, 
timeout=<optimized out>, sigmask=sigmask at entry=0x0) at 
../sysdeps/unix/sysv/linux/ppoll.c:39
   3    Thread 0x7f7f13fa8700 (LWP 4604) "alsa-source-ALC" 
0x00007f7f23feb926 in __GI_ppoll (fds=0x7940c0, nfds=4, 
timeout=<optimized out>, sigmask=sigmask at entry=0x0) at 
../sysdeps/unix/sysv/linux/ppoll.c:39
   5    Thread 0x7f7f13227700 (LWP 6227) "bluetooth" 
futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, 
futex_word=0x667650) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
(gdb) bt
#0  0x00007f7f24260896 in futex_abstimed_wait_cancelable (private=0, 
abstime=0x0, expected=0, futex_word=0x7f7f0c0013e0) at 
../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  0x00007f7f24260896 in do_futex_wait (sem=sem at entry=0x7f7f0c0013e0, 
abstime=0x0) at sem_waitcommon.c:111
#2  0x00007f7f24260988 in __new_sem_wait_slow 
(sem=sem at entry=0x7f7f0c0013e0, abstime=0x0) at sem_waitcommon.c:181
#3  0x00007f7f242609f9 in __new_sem_wait (sem=sem at entry=0x7f7f0c0013e0) 
at sem_wait.c:42
#4  0x00007f7f243846d2 in pa_semaphore_wait (s=0x7f7f0c0013e0) at 
pulsecore/semaphore-posix.c:61
#5  0x00007f7f243cc224 in pa_asyncmsgq_send (a=0x717130, 
object=<optimized out>, code=code at entry=13, 
userdata=userdata at entry=0x697810, offset=offset at entry=0, 
chunk=chunk at entry=0x0) at pulsecore/asyncmsgq.c:168
#6  0x00007f7f1f1f5dfe in command_get_playback_latency (pd=<optimized 
out>, command=<optimized out>, tag=9, t=<optimized out>, 
userdata=<optimized out>) at pulsecore/protocol-native.c:2873
#7  0x00007f7f2436df7f in pa_pdispatch_run (pd=0x5c9650, 
packet=packet at entry=0x6f84c0, ancil_data=ancil_data at entry=0x6e0158, 
userdata=userdata at entry=0x6f4600) at pulsecore/pdispatch.c:346
#8  0x00007f7f1f1f95e5 in pstream_packet_callback (p=0x6dfec0, 
packet=0x6f84c0, ancil_data=0x6e0158, userdata=0x6f4600) at 
pulsecore/protocol-native.c:4951
#9  0x00007f7f2437098d in do_read (p=p at entry=0x6dfec0, 
re=re at entry=0x6e0088) at pulsecore/pstream.c:1020
#10 0x00007f7f24373758 in do_pstream_read_write (p=0x6dfec0) at 
pulsecore/pstream.c:253
#11 0x00007f7f24373af9 in srb_callback (srb=0x756d90, userdata=0x6dfec0) 
at pulsecore/pstream.c:295
#12 0x00007f7f2437434a in srbchannel_rwloop (sr=0x756d90) at 
pulsecore/srbchannel.c:190
#13 0x00007f7f242fed28 in dispatch_pollfds (m=0x5cc840) at 
pulse/mainloop.c:140
#14 0x00007f7f242fed28 in pa_mainloop_dispatch (m=m at entry=0x5cc840) at 
pulse/mainloop.c:898
#15 0x00007f7f242feffc in pa_mainloop_iterate (m=0x5cc840, 
block=<optimized out>, retval=0x7ffceef8cde8) at pulse/mainloop.c:929
#16 0x00007f7f242ff0a0 in pa_mainloop_run (m=m at entry=0x5cc840, 
retval=retval at entry=0x7ffceef8cde8) at pulse/mainloop.c:945
#17 0x0000000000407306 in main (argc=<optimized out>, argv=<optimized 
out>) at daemon/main.c:1144
(gdb) c
Continuing.
^C
Thread 1 "pulseaudio" received signal SIGINT, Interrupt.
futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, 
futex_word=0x7f7f0c0013e0) at 
../sysdeps/unix/sysv/linux/futex-internal.h:205
205    in ../sysdeps/unix/sysv/linux/futex-internal.h
(gdb) info thread
   Id   Target Id                                          Frame
* 1    Thread 0x7f7f23817e00 (LWP 4366) "pulseaudio" 
futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, 
futex_word=0x7f7f0c0013e0) at 
../sysdeps/unix/sysv/linux/futex-internal.h:205
   2    Thread 0x7f7f18818700 (LWP 4601) "alsa-sink-ALC89" 
0x00007f7f23feb926 in __GI_ppoll (fds=0x5cc130, nfds=4, 
timeout=<optimized out>, sigmask=sigmask at entry=0x0) at 
../sysdeps/unix/sysv/linux/ppoll.c:39
   3    Thread 0x7f7f13fa8700 (LWP 4604) "alsa-source-ALC" 
0x00007f7f23feb926 in __GI_ppoll (fds=0x7940c0, nfds=4, 
timeout=<optimized out>, sigmask=sigmask at entry=0x0) at 
../sysdeps/unix/sysv/linux/ppoll.c:39
   5    Thread 0x7f7f13227700 (LWP 6227) "bluetooth" 
futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, 
futex_word=0x667650) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
(gdb) thread 5
[Switching to thread 5 (Thread 0x7f7f13227700 (LWP 6227))]
#0  futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, 
futex_word=0x667650) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
205    in ../sysdeps/unix/sysv/linux/futex-internal.h
(gdb) bt
#0  0x00007f7f24260896 in futex_abstimed_wait_cancelable (private=0, 
abstime=0x0, expected=0, futex_word=0x667650) at 
../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  0x00007f7f24260896 in do_futex_wait (sem=sem at entry=0x667650, 
abstime=0x0) at sem_waitcommon.c:111
#2  0x00007f7f24260988 in __new_sem_wait_slow (sem=sem at entry=0x667650, 
abstime=0x0) at sem_waitcommon.c:181
#3  0x00007f7f242609f9 in __new_sem_wait (sem=sem at entry=0x667650) at 
sem_wait.c:42
#4  0x00007f7f243846d2 in pa_semaphore_wait (s=0x667650) at 
pulsecore/semaphore-posix.c:61
#5  0x00007f7f243cc224 in pa_asyncmsgq_send (a=0x717130, 
object=object at entry=0x73ce10, code=code at entry=0, 
userdata=userdata at entry=0x7f7f132265e0, offset=offset at entry=0, 
chunk=chunk at entry=0x0)
     at pulsecore/asyncmsgq.c:168
#6  0x00007f7f1334c123 in do_resync (u=0x756b30) at 
./pulsecore/msgobject.h:44
#7  0x00007f7f1334c123 in source_output_push_cb (o=<optimized out>, 
chunk=<optimized out>) at modules/echo-cancel/module-echo-cancel.c:925
#8  0x00007f7f244112b7 in pa_source_output_push (o=o at entry=0x6fbee0, 
chunk=chunk at entry=0x7f7f13226830) at pulsecore/source-output.c:833
#9  0x00007f7f24419bca in pa_source_post (s=0x75f840, 
chunk=chunk at entry=0x7f7f13226830) at pulsecore/source.c:989
#10 0x00007f7f13260339 in sco_process_push (u=u at entry=0x76d990) at 
modules/bluetooth/module-bluez5-device.c:408
#11 0x00007f7f13261a56 in thread_func (userdata=<optimized out>) at 
modules/bluetooth/module-bluez5-device.c:1556
#12 0x00007f7f24384478 in internal_thread_func (userdata=0x686460) at 
pulsecore/thread-posix.c:81
#13 0x00007f7f24257fa3 in start_thread (arg=<optimized out>) at 
pthread_create.c:486
#14 0x00007f7f23ff64df in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb)


Best Regards,

Chengyi



More information about the pulseaudio-discuss mailing list