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@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@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@entry=0x7f7f0c0013e0,
abstime=0x0) at sem_waitcommon.c:111
#2 0x00007f7f24260988 in __new_sem_wait_slow
(sem=sem@entry=0x7f7f0c0013e0, abstime=0x0) at sem_waitcommon.c:181
#3 0x00007f7f242609f9 in __new_sem_wait (sem=sem@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@entry=13,
userdata=userdata@entry=0x697810, offset=offset@entry=0,
chunk=chunk@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@entry=0x6f84c0, ancil_data=ancil_data@entry=0x6e0158,
userdata=userdata@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@entry=0x6dfec0,
re=re@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@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@entry=0x5cc840,
retval=retval@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@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@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@entry=0x667650,
abstime=0x0) at sem_waitcommon.c:111
#2 0x00007f7f24260988 in __new_sem_wait_slow (sem=sem@entry=0x667650,
abstime=0x0) at sem_waitcommon.c:181
#3 0x00007f7f242609f9 in __new_sem_wait (sem=sem@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@entry=0x73ce10, code=code@entry=0,
userdata=userdata@entry=0x7f7f132265e0, offset=offset@entry=0,
chunk=chunk@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@entry=0x6fbee0,
chunk=chunk@entry=0x7f7f13226830) at pulsecore/source-output.c:833
#9 0x00007f7f24419bca in pa_source_post (s=0x75f840,
chunk=chunk@entry=0x7f7f13226830) at pulsecore/source.c:989
#10 0x00007f7f13260339 in sco_process_push (u=u@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
_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss