[pulseaudio-tickets] [Bug 92141] Connection failure: Protocol error

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Sep 28 04:00:23 PDT 2015


https://bugs.freedesktop.org/show_bug.cgi?id=92141

--- Comment #6 from Tanu Kaskinen <tanuk at iki.fi> ---
Ok, the extra logging did reveal a bit more information about what goes wrong
after all! Importing shared memory from the server fails for some reason.
Unfortunately I can't tell what reason. I only know that pa_memimport_get()
returns NULL. The best way forward is probably gdb.

For gdb to be useful, you need to have debug symbols installed for libpulse.
Unfortunately, Jan Steffens (the PA maintainer in Arch) told me that it's not
simple to install those on Arch. You'd need to recompile PulseAudio to get the
debug symbols. If that's something that you know how to do, then please do it.
Otherwise I'll write up some instructions for how to temporarily install
PulseAudio from upstream sources safely without messing up the installation
from Arch packages.

[Update: Jan told me to point you to [1]. Installing pulseaudio-git,
libpulse-git and any other pulseaudio-*-git packages that you need from Jan's
repo should get you the debug symbols.]

[1] https://bbs.archlinux.org/viewtopic.php?id=117157

Once you have the debug symbols, run gdb as follows:

PULSE_LOG=99 gdb --args pactl stat

That will print something like this:

GNU gdb (Debian 7.10-1) 7.10
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from pactl...done.
(gdb)

You're now in the gdb prompt. Enter "break pa_memimport_get". That symbol
hasn't yet been loaded, so gdb asks you whether to add the breakpoint when the
symbol becomes available. Answer "y". Then enter "run". The execution should
soon stop at the breakpoint. From now on enter "n" ("n" is short for "next")
repeatedly until the program exits (that will take quite some time). When the
program exits, you can quit gdb with command "quit", and then save all the
terminal output and attach it here. That should show the exact place that
fails.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/pulseaudio-bugs/attachments/20150928/91e24a3b/attachment.html>


More information about the pulseaudio-bugs mailing list