[ http://dev.sourcefabric.org/browse/LS-532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17750#action_17750 ]
David Baelde commented on LS-532: --------------------------------- A quick memo about the "tricky" bug: running init can call #sleep of a playlist (if the output which woke up the playlist failed to initialize), and the playlist's #sleep needs the duppy scheduler to let its feeding task die. So if init is ran in the scheduler, and there's only one queue (the default) there's a deadlock. The important point: this is not specific to source.init() but can occur with any call of Clock.collect after code execution in the scheduler. A precaution would be to increase the default number of queues, but it may not be enough in all cases... I'm afraid that the only other option would be to move to a another scheduling model :\ > Freeze after exception in streaming thread (other outputs never shutdown) > ------------------------------------------------------------------------- > > Key: LS-532 > URL: http://dev.sourcefabric.org/browse/LS-532 > Project: Liquidsoap > Issue Type: Bug > Components: Liquidsoap > Environment: Liquidsoap 1.0.0-beta+svn (@:20110515:103042). > Linux wbox-turm 2.6.32-31-generic #61-Ubuntu SMP Fri Apr 8 18:24:35 UTC 2011 > i686 GNU/Linux > Reporter: peter > Assignee: David Baelde > Priority: Major > > if input is alsa or pulseaudio and output is connected to a local icecast2, > liquidsoap dies in case of shutting down icecast2. > test steps: > start liquidsoap > sudo start icecast2 > play icecast stream with player > sudo stop icecast2 > configuration: > channel = mksafe(input.alsa()) > #channel = mksafe(input.pulseaudio()) > #channel = mksafe(input.alsa(device="pcm.liquidsoap")) > radio=channel > radio=limit(radio) > output.icecast( > %vorbis.cbr(samplerate=44100, channels=2, bitrate=160), > host="localhost", port=4565, user="liquidsoap", password="hack", > mount="/radio", description="text" > restart=true, > radio > ) > output.file( > %mp3(bitrate=160,stereo=true, samplerate=44100), > "/mnt/archive/potsdam/%Y-%m-%d/%Y-%m-%d-%H_%M_%S.mp3", > reopen_when={0m0s}, > radio > ) > with alsa: > /var/log/icecast2/error.log [2011-05-18 22:04:02] INFO source/source_main > listener count on /radio now 0 > /var/log/icecast2/error.log [2011-05-18 22:04:19] INFO source/source_main > listener count on /radio now 1 > /var/log/icecast2/error.log [2011-05-18 22:04:29] INFO sighandler/_sig_die > Caught signal 15, shutting down... > /var/log/liquidsoap/play.log 2011/05/18 22:04:30 [/radio:2] Cry socket > error: could not write data to host: Broken pipe in write()! > /var/log/liquidsoap/play.log 2011/05/18 22:04:30 [/radio:3] Closing > connection... > /var/log/liquidsoap/play.log 2011/05/18 22:04:30 [threads:1] Thread > "wallclock_alsa" aborts with exception Cry error: could not close connection: > Transport endpoint is not connected in shutdown()! > /var/log/liquidsoap/play.log 2011/05/18 22:04:30 [threads:3] Raised by > primitive operation at file "", line 0, characters 0-0 > /var/log/liquidsoap/play.log 2011/05/18 22:04:30 [main:3] Shutdown started! > /var/log/liquidsoap/play.log 2011/05/18 22:04:30 [main:3] Waiting for > threads to terminate... > /var/log/icecast2/error.log [2011-05-18 22:04:29] INFO > source/source_shutdown Source "/radio" exiting > /var/log/icecast2/error.log [2011-05-18 22:04:29] INFO main/main Shutting > down > /var/log/icecast2/error.log [2011-05-18 22:04:29] INFO > fserve/fserve_shutdown file serving thread stopped > /var/log/icecast2/error.log [2011-05-18 22:04:30] INFO slave/_slave_thread > shutting down current relays > /var/log/icecast2/error.log [2011-05-18 22:04:30] INFO slave/_slave_thread > Slave thread shutdown complete > /var/log/icecast2/error.log [2011-05-18 22:04:30] INFO auth/auth_shutdown > Auth shutdown > /var/log/icecast2/error.log [2011-05-18 22:04:30] INFO yp/yp_shutdown YP > thread down > /var/log/icecast2/error.log [2011-05-18 22:04:30] INFO > stats/stats_shutdown stats thread finished > /var/log/syslog May 18 22:04:31 wbox-turm init: icecast2 main process > (12201) terminated with status 255 > and for pulseaudio: > /var/log/icecast2/error.log [2011-05-18 22:11:56] INFO > source/source_move_clients passing 0 listeners to "/radio" > /var/log/icecast2/error.log [2011-05-18 22:11:56] INFO > format-vorbis/initial_vorbis_page seen initial vorbis header > /var/log/icecast2/error.log [2011-05-18 22:11:57] INFO source/source_main > listener count on /radio now 0 > /var/log/icecast2/error.log [2011-05-18 22:12:04] INFO source/source_main > listener count on /radio now 1 > /var/log/liquidsoap/play.log 2011/05/18 22:12:16 [/radio:2] Cry socket > error: could not write data to host: Broken pipe in write()! > /var/log/liquidsoap/play.log 2011/05/18 22:12:16 [/radio:3] Closing > connection... > /var/log/liquidsoap/play.log 2011/05/18 22:12:16 [threads:1] Thread > "wallclock_pulse" aborts with exception Cry error: could not close > connection: Transport endpoint is not connected in shutdown()! > /var/log/liquidsoap/play.log 2011/05/18 22:12:16 [threads:3] Raised by > primitive operation at file "", line 0, characters 0-0 > /var/log/liquidsoap/play.log 2011/05/18 22:12:16 [main:3] Shutdown started! > /var/log/liquidsoap/play.log 2011/05/18 22:12:16 [main:3] Waiting for > threads to terminate... > /var/log/liquidsoap/play.log 2011/05/18 22:12:16 [main:3] Cleaning > downloaded files... > /var/log/liquidsoap/play.log 2011/05/18 22:12:16 >>> LOG END > /var/log/icecast2/error.log [2011-05-18 22:12:16] INFO sighandler/_sig_die > Caught signal 15, shutting down... > /var/log/icecast2/error.log [2011-05-18 22:12:16] INFO > source/source_shutdown Source "/radio" exiting > /var/log/icecast2/error.log [2011-05-18 22:12:16] INFO main/main Shutting > down > /var/log/icecast2/error.log [2011-05-18 22:12:16] INFO > fserve/fserve_shutdown file serving thread stopped > BR, Peter -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://dev.sourcefabric.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ Special Offer -- Download ArcSight Logger for FREE! Finally, a world-class log management solution at an even better price-free! And you'll get a free "Love Thy Logs" t-shirt when you download Logger. Secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsisghtdev2dev _______________________________________________ Savonet-devl mailing list Savonet-devl@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-devl