[ 
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

Répondre à