-
-
Notifications
You must be signed in to change notification settings - Fork 197
Closed
Labels
Description
Issue migrated from trac ticket # 669
component: sound | priority: critical | resolution: fixed
2014-09-04 10:42:32: onlyjob created the issue
Attaching/disconnecting with speaker forwarding sometimes leaves server in unresponsive state.
Here are fragments ofom server log taken with "-d sound":Server started:
2014-09-04 19:10:39,969 xpra server version 0.14.4 (7467) 2014-09-04 19:10:39,969 running with pid 9207 E: [pulseaudio] pid.c: Daemon already running. 2014-09-04 19:10:40,012 child 'pulseaudio' with pid 9219 has terminated 2014-09-04 19:10:40,098 xpra is ready. 2014-09-04 19:10:41,965 Warning: pulseaudio has terminated. Either fix the pulseaudio command line or use --no-pulseaudio to avoid this warning. 2014-09-04 19:10:41,965 usually, only a single pulseaudio instance can be running for each user account, and one may be running already
Client attached and disconnected (1st time, all good):
2014-09-04 19:11:28,295 new_sound_buffer(<SoundSource object at 0x7f2fea99f7d0 (xpra+sound+src+SoundSource at 0x237fec0)>, 60, {'duration': 500000000L, 'timestamp': 285000 00000L}) source=<SoundSource object at 0x7f2fea99f7d0 (xpra+sound+src+SoundSource at 0x237fec0)>, suspended=False, sequence=-1 2014-09-04 19:11:28,793 new_sound_buffer(<SoundSource object at 0x7f2fea99f7d0 (xpra+sound+src+SoundSource at 0x237fec0)>, 60, {'duration': 500000000L, 'timestamp': 290000 00000L}) source=<SoundSource object at 0x7f2fea99f7d0 (xpra+sound+src+SoundSource at 0x237fec0)>, suspended=False, sequence=-1 2014-09-04 19:11:29,005 Connection lost 2014-09-04 19:11:29,006 stop_sending_sound() sound_source=<SoundSource object at 0x7f2fea99f7d0 (xpra+sound+src+SoundSource at 0x237fec0)> 2014-09-04 19:11:29,006 xpra client disconnected. 2014-09-04 19:11:29,006 stop_sending_sound_thread(()) 2014-09-04 19:11:29,007 SoundPipeline.cleanup() 2014-09-04 19:11:29,007 SoundPipeline.stop() 2014-09-04 19:11:29,008 state changed: <gst.Message GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)G ST_STATE_VOID_PENDING; from wavpackenc0 at 0x2659530> 2014-09-04 19:11:29,008 state changed: <gst.Message GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)G ST_STATE_VOID_PENDING; from volume at 0x26594b0> 2014-09-04 19:11:29,008 state changed: <gst.Message GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)G ST_STATE_VOID_PENDING; from audioconvert0 at 0x2659430> 2014-09-04 19:11:29,008 state changed: <gst.Message GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)G ST_STATE_VOID_PENDING; from pulsesrc0 at 0x2659330> 2014-09-04 19:11:29,008 new-state=PAUSED 2014-09-04 19:11:29,009 SoundPipeline.stop() done 2014-09-04 19:11:29,009 SoundPipeline.cleanup() done 2014-09-04 19:11:29,009 stop_sending_sound_thread(()) done
Client attached and disconnected (2nd try, still good):
2014-09-04 19:11:47,894 new_sound_buffer(<SoundSource object at 0x7f2fea99f870 (xpra+sound+src+SoundSource at 0x7f2fa8002500)>, 60, {'duration': 500000000L, 'timestamp': 7 000000000L}) source=<SoundSource object at 0x7f2fea99f870 (xpra+sound+src+SoundSource at 0x7f2fa8002500)>, suspended=False, sequence=-1 2014-09-04 19:11:48,393 new_sound_buffer(<SoundSource object at 0x7f2fea99f870 (xpra+sound+src+SoundSource at 0x7f2fa8002500)>, 60, {'duration': 500000000L, 'timestamp': 7 500000000L}) source=<SoundSource object at 0x7f2fea99f870 (xpra+sound+src+SoundSource at 0x7f2fa8002500)>, suspended=False, sequence=-1 2014-09-04 19:11:48,841 client Protocol(SocketConnection(/home/hawk/.xpra/debstor-22)) has requested disconnection: exit on signal SIGINT 2014-09-04 19:11:48,841 Disconnecting client Protocol(SocketConnection(/home/hawk/.xpra/debstor-22)): client request 2014-09-04 19:11:48,842 stop_sending_sound() sound_source=<SoundSource object at 0x7f2fea99f870 (xpra+sound+src+SoundSource at 0x7f2fa8002500)> 2014-09-04 19:11:48,842 stop_sending_sound_thread(()) 2014-09-04 19:11:48,842 SoundPipeline.cleanup() 2014-09-04 19:11:48,842 xpra client disconnected. 2014-09-04 19:11:48,843 SoundPipeline.stop() 2014-09-04 19:11:48,844 state changed: <gst.Message GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)G ST_STATE_VOID_PENDING; from wavpackenc1 at 0x7f2fa4001ec0> 2014-09-04 19:11:48,844 state changed: <gst.Message GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)G ST_STATE_VOID_PENDING; from volume at 0x7f2fa4001f40> 2014-09-04 19:11:48,844 state changed: <gst.Message GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)G ST_STATE_VOID_PENDING; from audioconvert1 at 0x2674850> 2014-09-04 19:11:48,844 state changed: <gst.Message GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)G ST_STATE_VOID_PENDING; from pulsesrc1 at 0x26748d0> 2014-09-04 19:11:48,845 new-state=PAUSED 2014-09-04 19:11:48,845 state changed: <gst.Message GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)G ST_STATE_READY; from sink at 0x26749d0> 2014-09-04 19:11:48,845 SoundPipeline.stop() done 2014-09-04 19:11:48,845 SoundPipeline.cleanup() done 2014-09-04 19:11:48,845 stop_sending_sound_thread(()) done
3rd attach, renders empty windows:
2014-09-04 19:11:58,224 New connection received: SocketConnection(/home/hawk/.xpra/debstor-22) 2014-09-04 19:12:02,211 Handshake complete; enabling connection 2014-09-04 19:12:02,215 pulseaudio id=, server=, sound decoders=['wavpack'], sound encoders=['wavpack', 'flac', 'wav', 'speex'], receive=True, send=True 2014-09-04 19:12:02,216 Python/Gtk2 Linux client version 0.14.4 connected from 'deblab' as 'hawk' ('hawk') 2014-09-04 19:12:02,216 client supplied an mmap_file: /tmp/xpra.xdWpza.mmap but we cannot find it 2014-09-04 19:12:02,216 using rgb as primary encoding, also available: h264, vp8, png, png/P, png/L, webp, rgb24, jpeg, rgb32 2014-09-04 19:12:02,216 client root window size is 4400x2560 with 1 displays: 2014-09-04 19:12:02,216 ':0.0' (1161x675 mm) workarea: 4400x2527 at 0x33 2014-09-04 19:12:02,216 DisplayPort-1 1280x1024 at 0x1536 (360x270 mm) 2014-09-04 19:12:02,217 DVI-0 1440x2560 at 1280x0 (597x336 mm) 2014-09-04 19:12:02,217 DisplayPort-0 1680x1050 at 2720x1510 (474x296 mm) 2014-09-04 19:12:02,217 best resolution matching 4400x2560 is unchanged: 5120x3200 2014-09-04 19:12:02,219 setting key repeat rate from client: 660ms delay / 40ms interval 2014-09-04 19:12:02,221 keyboard mapping already configured (skipped) 2014-09-04 19:12:02,232 pactl_output('list',) returned 0 2014-09-04 19:12:02,242 pactl_output('list',) returned 0 2014-09-04 19:12:02,252 pactl_output('list',) returned 0 2014-09-04 19:12:02,264 pactl_output('list',) returned 0 2014-09-04 19:12:02,314 sound_control(start, ('wavpack',)) 2014-09-04 19:12:02,314 start_sending_sound(wavpack) 2014-09-04 19:12:02,314 using sound codec wavpack 2014-09-04 19:12:02,327 pactl_output('stat',) returned 0 2014-09-04 19:12:02,327 get_pactl_stat_line(Server String:)=/tmp/pulse-8XiBnTK3trYQ/native 2014-09-04 19:12:02,328 start sound, remote pulseaudio server=, local pulseaudio server=/tmp/pulse-8XiBnTK3trYQ/native 2014-09-04 19:12:02,328 start sound, client id=, server id= 2014-09-04 19:12:02,341 pactl_output('list',) returned 0 2014-09-04 19:12:02,341 found pulseaudio monitor devices: {'auto_null.monitor': 'Monitor of Dummy Output'} 2014-09-04 19:12:02,353 pactl_output('set-source-mute', 'auto_null.monitor', '0') returned 0 2014-09-04 19:12:02,354 set_source_mute: output= 2014-09-04 19:12:02,354 pipeline elements=['pulsesrc device=auto_null.monitor', 'audioconvert', 'volume name=volume volume=1.0', 'wavpackenc', None, 'appsink name=sink'] 2014-09-04 19:12:02,354 pipeline=pulsesrc device=auto_null.monitor ! audioconvert ! volume name=volume volume=1.0 ! wavpackenc ! appsink name=sink 2014-09-04 19:12:02,357 starting sound capture using pulseaudio device: Monitor of Dummy Output 2014-09-04 19:12:02,357 start_sending_sound() sound source=<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)> 2014-09-04 19:12:02,357 SoundPipeline.start() 2014-09-04 19:12:02,362 SoundPipeline.start() done 2014-09-04 19:12:02,363 state changed: <gst.Message GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_S TATE_VOID_PENDING; from sink at 0x26749d0> 2014-09-04 19:12:05,188 new preroll0: 112 bytes 2014-09-04 19:12:05,189 new_sound_buffer(<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, 112, {'duration': 500000000L, 'timestamp': 0L}) source=<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, suspended=False, sequence=-1 2014-09-04 19:12:05,189 new_sound_buffer(<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, 112, {'duration': 500000000L, 'timestamp': 0L}) source=<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, suspended=False, sequence=-1 2014-09-04 19:12:05,688 new_sound_buffer(<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, 60, {'duration': 500000000L, 'timestamp': 5 00000000L}) source=<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, suspended=False, sequence=-1 2014-09-04 19:12:06,186 new_sound_buffer(<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, 60, {'duration': 500000000L, 'timestamp': 1 000000000L}) source=<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, suspended=False, sequence=-1 2014-09-04 19:12:06,685 new_sound_buffer(<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, 60, {'duration': 500000000L, 'timestamp': 1 500000000L}) source=<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, suspended=False, sequence=-1
After disconnect server keeps logging:
2014-09-04 19:12:57,173 new_sound_buffer(<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, 60, {'duration': 500000000L, 'timestamp': 5 2000000000L}) source=<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, suspended=False, sequence=-1 2014-09-04 19:12:57,682 new_sound_buffer(<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, 60, {'duration': 500000000L, 'timestamp': 5 2500000000L}) source=<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, suspended=False, sequence=-1 2014-09-04 19:12:58,181 new_sound_buffer(<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, 60, {'duration': 500000000L, 'timestamp': 5 3000000000L}) source=<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, suspended=False, sequence=-1 2014-09-04 19:12:58,680 new_sound_buffer(<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, 60, {'duration': 500000000L, 'timestamp': 5 3500000000L}) source=<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, suspended=False, sequence=-1 2014-09-04 19:12:59,178 new_sound_buffer(<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, 60, {'duration': 500000000L, 'timestamp': 5 4000000000L}) source=<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, suspended=False, sequence=-1 2014-09-04 19:12:59,677 new_sound_buffer(<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, 60, {'duration': 500000000L, 'timestamp': 5 4500000000L}) source=<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, suspended=False, sequence=-1 2014-09-04 19:13:00,176 new_sound_buffer(<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, 60, {'duration': 500000000L, 'timestamp': 5 5000000000L}) source=<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, suspended=False, sequence=-1 2014-09-04 19:13:00,674 new_sound_buffer(<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, 60, {'duration': 500000000L, 'timestamp': 5 5500000000L}) source=<SoundSource object at 0x7f2fe822c6e0 (xpra+sound+src+SoundSource at 0x7f2fdc0021a0)>, suspended=False, sequence=-1
At this point server do not respond to new connections so I terminate it with "kill -9".
Workaround: attach with
--no-speaker
.This is a very old issue which I can reproduce easily with 0.14.4.