[pulseaudio-tickets] [PulseAudio] #363: pulseaudio exits when a remote peer closes a connection to module-simple-protocol-tcp.
PulseAudio
trac-noreply at tango.0pointer.de
Thu Sep 18 18:29:50 PDT 2008
#363: pulseaudio exits when a remote peer closes a connection to module-simple-
protocol-tcp.
---------------------+------------------------------------------------------
Reporter: trustin | Owner: lennart
Type: defect | Status: new
Priority: normal | Milestone:
Component: daemon | Severity: major
Keywords: |
---------------------+------------------------------------------------------
I'm streaming audio from Windows to Linux PulseAudio server using Netcat.
The pulseaudio process exits without log messages whenever I kill the
nc.exe process. The following is the full command line on the server
side:
{{{
pulseaudio -vvvvv --daemonize --high-priority --realtime --disallow-
module-loading
--resample-method=src-sinc-best-quality --no-cpu-limit -n
-L "module-native-protocol-unix auth-anonymous=1"
-L "module-native-protocol-tcp auth-ip-
acl=192.168.0.0/16;127.0.0.0/8"
-L "module-simple-protocol-tcp port=4712 rate=44100
format=s16le channels=2"
-L "module-rescue-streams"
-L "module-alsa-sink device=hw:1"
}}}
And here's the server startup log:
{{{
Sep 19 10:18:39 hermes pulseaudio[21270]: main.c: Page size is 4096 bytes
Sep 19 10:18:39 hermes pulseaudio[21270]: main.c: Fresh high-resolution
timers available! Bon appetit!
Sep 19 10:18:39 hermes pulseaudio[21270]: protocol-native.c: loading
cookie from disk.
Sep 19 10:18:39 hermes pulseaudio[21270]: module.c: Loaded "module-native-
protocol-unix" (index: #0; argument: "auth-anonymous=1").
Sep 19 10:18:39 hermes pulseaudio[21270]: protocol-native.c: using already
loaded auth cookie.
Sep 19 10:18:39 hermes pulseaudio[21270]: protocol-native.c: using already
loaded auth cookie.
Sep 19 10:18:39 hermes pulseaudio[21270]: module.c: Loaded "module-native-
protocol-tcp" (index: #1; argument: "auth-ip-
acl=192.168.0.0/16;127.0.0.0/8").
Sep 19 10:18:39 hermes pulseaudio[21270]: module.c: Loaded "module-simple-
protocol-tcp" (index: #2; argument: "port=4712 rate=44100 format=s16le
channels=2").
Sep 19 10:18:39 hermes pulseaudio[21270]: module.c: Loaded "module-rescue-
streams" (index: #3; argument: "").
Sep 19 10:18:39 hermes ALSA sound/usb/usbaudio.c:1353: setting usb
interface 1:1
Sep 19 10:18:39 hermes pulseaudio[21270]: module-alsa-sink.c: Successfully
opened device hw:0.
Sep 19 10:18:39 hermes pulseaudio[21270]: module-alsa-sink.c: Successfully
enabled mmap() mode.
Sep 19 10:18:39 hermes pulseaudio[21270]: alsa-util.c: Successfully
attached to mixer 'hw:0'
Sep 19 10:18:39 hermes pulseaudio[21270]: alsa-util.c: Cannot find mixer
control "Master".
Sep 19 10:18:39 hermes pulseaudio[21270]: alsa-util.c: Using mixer control
"PCM".
Sep 19 10:18:39 hermes pulseaudio[21270]: sink.c: Created sink 0
"alsa_output.hw_0" with sample spec "s16le 2ch 44100Hz"
Sep 19 10:18:39 hermes pulseaudio[21270]: source.c: Created source 0
"alsa_output.hw_0.monitor" with sample spec "s16le 2ch 44100Hz"
Sep 19 10:18:39 hermes pulseaudio[21270]: module-alsa-sink.c: Using 4
fragments of size 4408 bytes.
Sep 19 10:18:39 hermes pulseaudio[21270]: alsa-util.c: All 2 channels can
be mapped to mixer channels. Using hardware volume control.
Sep 19 10:18:39 hermes pulseaudio[21270]: module-alsa-sink.c: Thread
starting up
Sep 19 10:18:39 hermes pulseaudio[21270]: core-util.c: Successfully
enabled SCHED_FIFO scheduling for thread, with priority 5.
Sep 19 10:18:39 hermes pulseaudio[21270]: rtpoll.c: Acquired POSIX
realtime signal SIGRTMIN+29
Sep 19 10:18:39 hermes pulseaudio[21270]: module-alsa-sink.c: Starting
playback.
Sep 19 10:18:39 hermes pulseaudio[21270]: module.c: Loaded "module-alsa-
sink" (index: #4; argument: "device=hw:0").
Sep 19 10:18:39 hermes pulseaudio[21270]: main.c: Daemon startup complete.
}}}
And then a new connection from nc.exe is accepted and then nc.exe is
killed:
{{{
Sep 19 10:22:28 hermes pulseaudio[21270]: socket-server.c: TCP connection
accepted by tcpwrap.
Sep 19 10:22:28 hermes pulseaudio[21270]: client.c: Created 0 "TCP/IP
client from 192.168.0.11:50248"
Sep 19 10:22:28 hermes pulseaudio[21270]: sink-input.c: Created input 0
"TCP/IP client from 192.168.0.11:50248" on alsa_output.hw_0 with sample
spec s16le 2ch 44100Hz and channel map front-left,front-right
Sep 19 10:22:28 hermes pulseaudio[21270]: memblockq.c: memblockq
requested: maxlength=88200, tlength=0, base=4,
prebuf=18446744073709551615, minreq=8820
Sep 19 10:22:28 hermes pulseaudio[21270]: memblockq.c: memblockq
sanitized: maxlength=88200, tlength=88200, base=4, prebuf=44100,
minreq=8820
Sep 19 10:22:52 hermes pulseaudio[21270]: protocol-simple.c: read():
Connection reset by peer
Sep 19 10:22:52 hermes pulseaudio[21270]: sink-input.c: Freeing output 0
"TCP/IP client from 192.168.0.11:50248"
Sep 19 10:22:52 hermes pulseaudio[21270]: client.c: Freed 0 "TCP/IP client
from 192.168.0.11:50248"
}}}
Everything looks just OK, but pulseaudio process exits without any further
log message.
One the client side (i.e. Windows), I run the following command:
{{{
linco -B 16 -C 2 -R 44100 | nc 192.168.0.13 4712
}}}
linco.exe is at
http://sourceforge.net/project/showfiles.php?group_id=99332&package_id=107331
nc.exe is at http://joncraton.org/files/nc111nt.zip
I am using PulseAudio 0.9.9 on Gentoo Linux.
--
Ticket URL: <http://www.pulseaudio.org/ticket/363>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server
More information about the pulseaudio-bugs
mailing list