Bugs item #1912219, was opened at 2008-03-11 22:45
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=591456&aid=1912219&group_id=89802

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Xavier Cazin (xaviercazin)
Assigned to: Nobody/Anonymous (nobody)
Summary: Not freeing the harbor mounting point when resetting

Initial Comment:
When a liquidsoap source that is connected to another liquidsoap source through 
a harbor tries to reconnect to the harbor after having reset its subsources, it 
seems that the harbor doesn't release the hosted source while it is resetting. 
As a result, when the now reset source is ready again, the harbor seems to 
reject it.

Here is the relevant script sample from the main source:
[...]
   set("harbor.bind_addr","0.0.0.0")
   set("harbor.port",8007)
   set("harbor.password","<mdp>")
   live = input.harbor(id="live", "live.mp3")
   source = mksafe(input.lastfm(id="lfpil", "lastfm://artist/PIL")
   source = fallback(id="fallback_principal", track_sensitive=false, 
                   transitions=[ transition(to_live), transition(from_live) ], 
                   [live, source, safe])
[...]

the hosted liquidsoap source reads like:
[...]
lf1 = input.lastfm(id="lflkj", "lastfm://artist/LKJ")
lf2 = input.lastfm(id="lfth", "lastfm://artist/Talking Heads")
lf3 = input.lastfm(id="lfx", "lastfm://user/Xav_de_la_caze")
source = mksafe(switch([({7h0m-12h10m},lf3), ({true},lf2), 
({19h0m-24h0m},lf3)]))
source = fallback(id="fallback_principal", track_sensitive=false, 
[request.queue(id="req"),source,safe])
output.icecast.mp3(mount="live.mp3", bitrate=128, samplerate=44100,
        host="toto", port=8007, password="savonet", source)
[...]

Here are the two relevant log excerpts.
In main:
[...]
   2008/03/08 17:25:19 [src_5117:3] switch to lfpil with transition
   2008/03/08 17:25:39 [harbor:3] New client: sd-12217.dedibox.fr
   2008/03/08 17:25:39 [harbor:3] SOURCE request on /live.mp3.
   2008/03/08 17:25:39 [harbor:3] Adding source on mountpoint '/live.mp3' with 
type 'audio/mpeg'.
   2008/03/08 17:25:39 [threads:3] Created thread "harbor source feeding" (6 
total)
   2008/03/08 17:25:39 [live:3] Decoding...
   2008/03/08 17:25:41 [harbor:3] New client: sd-12217.dedibox.fr
   2008/03/08 17:25:41 [harbor:3] GET request on /admin/metadata.
   2008/03/08 17:25:41 [harbor:3] update metadatas request for mount /live.mp3
   2008/03/08 17:25:41 [live:3] New metadata chunk "Talking Heads -- I Zimbra"
   2008/03/08 17:28:49 [harbor:3] New client: sd-12217.dedibox.fr
   2008/03/08 17:28:49 [harbor:3] GET request on /admin/metadata.
   2008/03/08 17:28:49 [harbor:3] update metadatas request for mount /live.mp3
   2008/03/08 17:28:49 [live:3] New metadata chunk "R.E.M. -- Try Not to 
Breathe"
   2008/03/08 17:28:52 [lfpil:2] Feeding stopped: Mad.End_of_stream
   2008/03/08 17:28:55 [lfpil:3] New metadata chunk "Big Black -- Passing 
Complexion"
   2008/03/08 17:28:55 [lfpil:3] Decoding...
   2008/03/08 17:30:44 [harbor:3] New client: sd-12217.dedibox.fr
   2008/03/08 17:30:44 [harbor:3] SOURCE request on /live.mp3.
   2008/03/08 17:30:44 [harbor:3] Returned 401: Mount taken
   2008/03/08 17:30:44 [harbor:3] Failed: Mountpoint in use
[...]

In live:
[...]
   2008/03/08 17:25:41 [lfth:3] New metadata chunk "Talking Heads -- I Zimbra"
   2008/03/08 17:25:41 [lfth:3] Decoding...
   2008/03/08 17:25:41 [src_5086:3] switch to src_5084 with transition
   2008/03/08 17:25:41 [src_5084:3] switch to lfth
   2008/03/08 17:28:43 [lfth:2] Feeding stopped: Mad.End_of_stream
   2008/03/08 17:28:45 [lfth:3] New metadata chunk "R.E.M. -- Try Not to 
Breathe"
   2008/03/08 17:28:45 [lfth:3] Decoding...
   2008/03/08 17:30:44 [root:2] Too much latency! Resetting active sources..
   2008/03/08 17:30:44 [second(dot)mp3:3] Connecting mount live.mp3 for [EMAIL 
PROTECTED]
   2008/03/08 17:30:44 [second(dot)mp3:2] Icecast mount point already taken, or 
wrong password!
   2008/03/08 17:30:44 [threads:1] thread "root" aborts with exception 
Shout.No_login !
   2008/03/08 17:30:44 [main:3] Shutdown started!
   2008/03/08 17:30:44 [stderr:3] Thread 4 killed on uncaught exception 
Shout.No_login
   2008/03/08 17:30:47 [main:3] Cleaning downloaded files...
   2008/03/08 17:30:47 >>> LOG END

Since I do get a lot of "Too much latency" errors in my experiments, I 
currently have to relaunch both scripts. Not very elegant...

Merci à tous pour boulot, savonet est une merveille !
X.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=591456&aid=1912219&group_id=89802

Répondre à