[pulseaudio-discuss] How to debug a "protocol error" message?

Maarten Bosmans mkbosmans at gmail.com
Tue May 24 00:31:50 PDT 2011

2011/5/23 Quinn Plattel <qiet72 at gmail.com>:
> Hi,
> I am currently having problems with communication between a version 0.9.22
> pulseaudio client and a version 0.9.15 pulseaudio server.
> Here are the steps to reproduce the error message:
> pulseaudio server side: ssh -X -R 4713:localhost:4713
> <remote-pulseaudio-client> "PULSE_SERVER=localhost:4713 pactl stat"
> client reports:
> ------------------------
> Using shared memory pool with 1024 slots of size 64.0 KiB each, total size
> is 64.0 MiB, maximum usable slot size is 65472
> Trying to connect to localhost:4713...
> SHM possible: yes
> Protocol version: remote 16, local 16
> Negotiated SHM: no
> Connection failure: Connection terminated
> -------------------------
> server reports:
> --------------------------
> protocol error, kicking client
> --------------------------
> I have done some testing and a 0.9.15 server has no problems communicating
> with a 0.9.14 client, but
> a 0.9.15 server has this error when communicating with a 0.9.19 or 0.9.22
> client.
> Where do I begin to debug this error?

The difficulty here is of course that while the server throws an
error, you're looking to fix the client side, because there won't be a
maintainance release of the 0.9.15 series anymore.

If you can install debug symbols, you can set a breakpoint at
protocol_error(). This will break in command_stat()
(src/pulsecore/protocol-native.c), right after the
!pa_tagstruct_eof(t) check. There you can inspect what kind of
unexpected extra data is in the tagstruct and take it from there.

Please also try whether other commands work.


More information about the pulseaudio-discuss mailing list