[pulseaudio-tickets] [Bug 45523] New: IPv6/IPv4 sink/source name conflict race condition with module-zeroconf-discover
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Wed Feb 1 20:57:23 PST 2012
https://bugs.freedesktop.org/show_bug.cgi?id=45523
Bug #: 45523
Summary: IPv6/IPv4 sink/source name conflict race condition
with module-zeroconf-discover
Classification: Unclassified
Product: PulseAudio
Version: unspecified
Platform: Other
OS/Version: All
Status: NEW
Severity: normal
Priority: medium
Component: modules
AssignedTo: pulseaudio-bugs at lists.freedesktop.org
ReportedBy: twhitehead at gmail.com
QAContact: pulseaudio-bugs at lists.freedesktop.org
CC: lennart at poettering.net
By default (at least under Debian) it seems that both IPv6 and IPv4 services
are anounced by pulse when using the module-zeroconf-publish.
+ eth0 IPv6 pulse at palmer: Internal Audio Analog Stereo _pulse-source._tcp
local
+ eth0 IPv4 pulse at palmer: Internal Audio Analog Stereo _pulse-source._tcp
local
+ eth0 IPv6 pulse at palmer _pulse-server._tcp
local
+ eth0 IPv4 pulse at palmer _pulse-server._tcp
local
+ eth0 IPv6 pulse at palmer: Internal Audio Analog Stereo _pulse-sink._tcp
local
+ eth0 IPv4 pulse at palmer: Internal Audio Analog Stereo _pulse-sink._tcp
local
If I load the module-zeroconf-discover on another machine, it tries and sets
the same named sinks and sources for the IPv4 and IPv6 addresses.
Jan 31 21:22:28 tux pulseaudio[776]: [pulseaudio] module-zeroconf-discover.c:
Loading module-tunnel-source with arguments
'server=[fe80::217:31ff:fe2a:76a7]:4713
source=alsa_input.pci-0000_00_04.0.analog-stereo format=s16le channels=2
rate=48000
source_name=tunnel.palmer.local.alsa_input.pci-0000_00_04.0.analog-stereo
channel_map=front-left,front-right'
Jan 31 21:22:28 tux pulseaudio[776]: [pulseaudio] module-zeroconf-discover.c:
Loading module-tunnel-sink with arguments
'server=[fe80::217:31ff:fe2a:76a7]:4713
sink=alsa_output.pci-0000_00_04.0.analog-stereo format=s16le channels=2
rate=48000
sink_name=tunnel.palmer.local.alsa_output.pci-0000_00_04.0.analog-stereo
channel_map=front-left,front-right'
Jan 31 21:22:28 tux pulseaudio[776]: [pulseaudio] module-zeroconf-discover.c:
Loading module-tunnel-source with arguments 'server=[192.168.1.66]:4713
source=alsa_input.pci-0000_00_04.0.analog-stereo format=s16le channels=2
rate=48000
source_name=tunnel.palmer.local.alsa_input.pci-0000_00_04.0.analog-stereo
channel_map=front-left,front-right'
Jan 31 21:22:28 tux pulseaudio[776]: [pulseaudio] module-zeroconf-discover.c:
Loading module-tunnel-sink with arguments
'server=[fe80::217:31ff:fe2a:76a7]:4713
sink=alsa_output.pci-0000_00_04.0.analog-stereo format=s16le channels=2
rate=48000
sink_name=tunnel.palmer.local.alsa_output.pci-0000_00_04.0.analog-stereo
channel_map=front-left,front-right'
The IPv6 ones fail (presumably) because I haven't actually setup IPv6
Jan 31 21:22:28 tux pulseaudio[776]: [pulseaudio] module-tunnel.c: Stream died.
Jan 31 21:22:28 tux pulseaudio[776]: [pulseaudio] module-tunnel.c: Stream died.
This is fine. The problem is that frequently it manages to try and start the
IPv4 ones with the same names before the IPv6 ones have failed. These fail as
the sink/source name is still in use at that moment (by the failing IPv6 one).
Jan 31 21:22:28 tux pulseaudio[776]: [pulseaudio] sink.c: Failed to register
name tunnel.palmer.local.alsa_output.pci-0000_00_04.0.analog-stereo.
The end result is that the creation of all the remote sinks and sources fail
instead of just the IPv6 ones like I would have expected.
Perhaps the code could be changed to distinguish these names (suffix them to
indicate IPv4 or IPv6?) or to just wait on the IPv6 ones to either succeed or
fail before trying to start the IPv4 ones.
Thanks! -Tyson
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the pulseaudio-bugs
mailing list