On Thu, 2015-10-01 at 23:26 +0200, Mimmo wrote: > Debugging using gdb pulseaudio when the pactl set-card-profile 0 > a2dp_sink is launched and the cpu utilization of pulseaudio reach 99% > > Breaking gdb this its the backtrace: > > (gdb) c > Continuing. > ^C > Program received signal SIGINT, Interrupt. > check_match (sym=sym at entry=0x77ef34c4, strtab=strtab at entry=0x77ef3c84 > "", undef_name=undef_name at entry=0x7762b9ac "_ITM_registerTMCloneTable", > type_class=type_class at entry=1) at ldso/ldso/dl-hash.c:161 > 161 if ((sym->st_value == 0 && (ELF_ST_TYPE(sym->st_info) != > STT_TLS)) > (gdb) bt > #0 check_match (sym=sym at entry=0x77ef34c4, > strtab=strtab at entry=0x77ef3c84 "", > undef_name=undef_name at entry=0x7762b9ac "_ITM_registerTMCloneTable", > type_class=type_class at entry=1) at ldso/ldso/dl-hash.c:161 > #1 0x77fe1b5c in _dl_lookup_sysv_hash (type_class=1, > undef_name=0x7762b9ac "_ITM_registerTMCloneTable", hash=192047269, > symtab=0x77ef1494, > tpnt=0x77ff52c0) at ldso/ldso/dl-hash.c:261 > #2 _dl_find_hash (name=0x7762b9ac "_ITM_registerTMCloneTable", > scope=, mytpnt=0x456a90, type_class=1, sym_ref=0x0) > at ldso/ldso/dl-hash.c:339 > #3 0x77fe1dc8 in _dl_perform_mips_global_got_relocations > (tpnt=0x456a90, lazy=0) at ldso/ldso/mips/elfinterp.c:390 > #4 0x77cec848 in do_dlopen (libname=0x45e0c0 > "/usr/lib/pulse-6.0/modules/module-null-sink.so", flag=2) at > ldso/libdl/libdl.c:557 > #5 0x77cecb0c in dlopen (libname=0x45e0c0 > "/usr/lib/pulse-6.0/modules/module-null-sink.so", flag=2) at > ldso/libdl/libdl.c:664 > #6 0x0040a078 in bind_now_open (d=, fname=0x45e0c0 > "/usr/lib/pulse-6.0/modules/module-null-sink.so", advise=) > at daemon/ltdl-bind-now.c:74 > #7 0x77da26f0 in tryall_dlopen () > from > /home/mimmo/projects/linino_CC/scripts/../staging_dir/target-mips_34kc_uClibc-0.9.33.2/root-ar71xx/usr/lib/libltdl.so.7 > #8 0x77da3098 in find_handle_callback () > from > /home/mimmo/projects/linino_CC/scripts/../staging_dir/target-mips_34kc_uClibc-0.9.33.2/root-ar71xx/usr/lib/libltdl.so.7 > #9 0x77da2dd8 in foreach_dirinpath () > from > /home/mimmo/projects/linino_CC/scripts/../staging_dir/target-mips_34kc_uClibc-0.9.33.2/root-ar71xx/usr/lib/libltdl.so.7 > #10 0x77da2ef4 in find_handle () > from > /home/mimmo/projects/linino_CC/scripts/../staging_dir/target-mips_34kc_uClibc-0.9.33.2/root-ar71xx/usr/lib/libltdl.so.7 > #11 0x77da4c60 in try_dlopen () > from > /home/mimmo/projects/linino_CC/scripts/../staging_dir/target-mips_34kc_uClibc-0.9.33.2/root-ar71xx/usr/lib/libltdl.so.7 > #12 0x77da5028 in lt_dlopenadvise () > from > /home/mimmo/projects/linino_CC/scripts/../staging_dir/target-mips_34kc_uClibc-0.9.33.2/root-ar71xx/usr/lib/libltdl.so.7 > #13 0x77da51a0 in lt_dlopenext () > from > /home/mimmo/projects/linino_CC/scripts/../staging_dir/target-mips_34kc_uClibc-0.9.33.2/root-ar71xx/usr/lib/libltdl.so.7 > #14 0x77f6c15c in pa_module_load (c=0x423868, name=0x7763f89c > "module-null-sink", > argument=0x430758 "sink_name=auto_null > sink_properties='device.description=\"Dummy Output\"'") at > pulsecore/module.c:122 > #15 0x7763f018 in load_null_sink_if_needed (c=0x423868, sink= > out>, u=0x454418) at modules/module-always-sink.c:81 > #16 0x7763f21c in unlink_hook_callback (c=, > sink=, userdata=0x454418) at modules/module-always-sink.c:140 > #17 0x77f69b74 in pa_hook_fire (hook=0x423a0c, data=0x474748) at > pulsecore/hook-list.c:104 > #18 0x77f8bd00 in pa_sink_unlink (s=0x474748) at pulsecore/sink.c:686 > #19 0x773ecb2c in stop_thread (u=0x471b48) at > modules/bluetooth/module-bluez5-device.c:1561 > #20 0x773ef5e0 in set_profile_cb (c=, > new_profile=0x4730d8) at modules/bluetooth/module-bluez5-device.c:1863 > #21 0x77f65678 in pa_card_set_profile (c=, > profile=0x4730d8, save=true) at pulsecore/card.c:279 > #22 0x7771dc1c in command_set_card_profile (pd=, > command=, tag=2, t=, userdata=0x46c368) > at pulsecore/protocol-native.c:4782 > #23 0x77e9fc50 in pa_pdispatch_run (pd=0x485850, packet=0x463f58, > ancil_data=0x478dd8, userdata=0x46c368) at pulsecore/pdispatch.c:341 > #24 0x77726fd4 in pstream_packet_callback (p=0x478bf0, packet=0x463f58, > ancil_data=0x478dd8, userdata=) > at pulsecore/protocol-native.c:4896 > #25 0x77ea3258 in do_read (p=0x478bf0, re=0x478d30) at > pulsecore/pstream.c:880 > #26 0x77ea5b48 in do_pstream_read_write (p=0x478bf0) at > pulsecore/pstream.c:193 > #27 0x77f14628 in dispatch_pollfds (m=0x421708) at pulse/mainloop.c:655 > #28 pa_mainloop_dispatch (m=0x421708) at pulse/mainloop.c:898 > ---Type to continue, or q to quit--- > #29 0x77f147e0 in pa_mainloop_iterate (m=0x421708, block= > out>, retval=0x7fff6be8) at pulse/mainloop.c:929 > #30 0x77f14864 in pa_mainloop_run (m=0x421708, retval=0x7fff6be8) at > pulse/mainloop.c:944 > #31 0x004056e8 in main (argc=, argv=) at > daemon/main.c:1134 > (gdb) > > > Any suggestion on why this happen? Not really. The backtrace shows loading of module-null-sink, which makes sense, since if you don't have any other devices in the system, PulseAudio will load module-null-sink when the hsp sink gets removed to make sure that there's at least one output device available. That doesn't explain why PulseAudio goes into a loop, but perhaps this would be possible to reproduce on other systems by unloading all module-alsa -card instances first. Unfortunately, I seem to be hit by another bluetooth bug that has been reported recently: the a2dp profile of the headset doesn't get connected, so PulseAudio doesn't even try to switch to it. Could you get a verbose log from the daemon? If you need help with that, this page has instructions: https://wiki.ubuntu.com/PulseAudio/Log -- Tanu