[pulseaudio-discuss] bluetooth headset disconection

Shinnosuke Suzuki suzukisn at gmail.com
Mon Nov 13 09:01:41 UTC 2017


As I posted before, Pulseaudio is stuck following point, So I put the
additional log on to it.
D: [pulseaudio] module-bluez5-discover.c: Loading module-bluez5-device
path=/org/bluez/hci0/dev_00_14_BE_8A_7B_FE

module-bluez5-discover.c :
static pa_hook_result_t device_connection_changed_cb(pa_bluetooth_discovery
*y, const pa_bluetooth_device *d, struct userdata *u) {
...
 pa_log_debug("Loading module-bluez5-device %s", args);
 m = pa_module_load(u->module->core, "module-bluez5-device", args);
 pa_log_debug("Loading module-bluez5-device end"); <- I added this, but
didn't displayed.
 pa_xfree(args);
...

It didn't return from pa_module_load() in device_connection_changed_cb().So
I searched in pa_module_load().

module.c :
pa_module* pa_module_load(pa_core *c, const char *name, const char
*argument) {
...
    if (!(m->dl = lt_dlopenext(name))) {
        /* We used to print the error that is returned by lt_dlerror(), but
         * lt_dlerror() is useless. It returns pretty much always "file not
         * found". That's because if there are any problems with loading the
         * module with normal loaders, libltdl falls back to the "preload"
         * loader, which never finds anything, and therefore says "file not
         * found". */
        pa_log("Failed to open module \"%s\".", name);
        goto fail;
    }
...

It didn't return from lt_dlopenext. I think pulseaudio get infinity loop in
lt_dlopenext().
So I searched in pulseaudio-disscuss list again, I found the following post:
[pulseaudio-discuss] Arduino Tian issue changing card profile to A2DP with
bluetooth headset

This post seems to be similar to my situation.
However, this post remain open issue.

I added boot parameter --disallow-module-loading as a trial. However, When
I connect the bluetooth headset, I got error:
W: [pulseaudio] module-bluez5-discover.c: Failed to load module for device
/org/bluez/hci0/dev_00_14_BE_8A_7B_FE

Any suggestions?

Best Regards,
Shinnosuke Suzki
2017-10-30 20:23 GMT+09:00 Tanu Kaskinen <tanuk at iki.fi>:

> On Sat, 2017-10-28 at 14:30 +0900, Shinnosuke Suzuki wrote:
> > > Your attached log ends at this message:
> > >
> > >    D: [pulseaudio] module-always-sink.c: Autoloading null-sink as no
> other sinks detected.
> > >
> > > Is that the last message that you see, and after that PulseAudio is
> > > stuck? If so, then it should be possible to find the infinite loop by
> > > adding extra logging to the code that follows that message. Or if you
> > > know how to use some profiling tool, that should do the trick as well.
> >
> >
> > I there any logging option to the pulseaudio?
> > I know only the way to get logging info by adding boot argument -vvvv.
> > Should I have to add a extra logging code to the pulseaudio?
> > Or Should I use a debug tool like gdb to find a stuck point?
>
> Using gdb is a good idea, it will probably be effective at finding the
> looping part of the code.
>
> Regarding logging, I meant adding new log statements to the pulseaudio
> code. With -vvvv the log verbosity is already at the maximum, so the
> current logging isn't sufficient to find the looping code.
>
> --
> Tanu
>
> https://www.patreon.com/tanuk
>



-- 
--
Shinnosuke Suzuki
E-mail : suzukisn at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20171113/ff6c2af4/attachment-0001.html>


More information about the pulseaudio-discuss mailing list