#205: Hard deadlock after runnning for 4 hours
------------------------+---------------------------------------------------
 Reporter:  toots       |       Owner:  admin       
     Type:  Bugs        |      Status:  new         
 Priority:  7           |   Milestone:  NEXT RELEASE
Component:  Liquidsoap  |     Version:  0.3.8+svn   
 Keywords:              |         Mac:  1           
    Linux:  1           |      Netbsd:  1           
    Other:  1           |     Freebsd:  1           
------------------------+---------------------------------------------------
 Matej Nastran reported the following issue:
 {{{
 2008/11/12 13:29:20 [background:3] Finished with
 "/mp3/background/Jamendo/Ken Verheecke - Beneath a prairie moon/09 - In
 The Twilight.mp3"
 2008/11/12 13:29:20 [format.mp3:4] close "/mp3/background/Jamendo/Ken
 Verheecke - Beneath a prairie moon/09 - In The Twilight.mp3"
 2008/11/12 13:29:20 [background:4] queue length 2646000-=1323000
 2008/11/12 13:29:20 [decoder:4] Trying VORBIS decoder for
 "/mp3/background/Jamendo/Caminos del Sonido - De lo eterno y las
 divinidades/10 - Sucubo II.mp3"
 2008/11/12 13:29:20 [format.mp3:4] open "/mp3/background/Taize -
 Instrumental/19-Nunc Dimittis.mp3"
 2008/11/12 13:29:20 [background:3] Prepared "/mp3/background/Taize -
 Instrumental/19-Nunc Dimittis.mp3" -- rid 16
 2008/11/12 13:29:20 [decoder:4] Trying MP3 decoder for
 "/mp3/background/Jamendo/Caminos del Sonido - De lo eterno y las
 divinidades/10 - Sucubo II.mp3"
 2008/11/12 13:29:20 [format.mp3:4] open "/mp3/background/Jamendo/Caminos
 del Sonido - De lo eterno y las divinidades/10 - Sucubo II.mp3"
 2008/11/12 13:29:20 [format.mp3:4] close
 "/mp3/background/Jamendo/Caminos del Sonido - De lo eterno y las
 divinidades/10 - Sucubo II.mp3"
 2008/11/12 13:29:20 [background:4] queue length 1323000+=1323000 (rid 35)
 2008/11/12 13:30:13 [root:2] We must catchup 1.84 seconds!
 2008/11/12 13:30:14 [root:2] We must catchup 2.74 seconds!
 2008/11/12 13:30:15 [root:2] We must catchup 3.30 seconds!
 2008/11/12 13:30:16 [root:2] We must catchup 2.95 seconds!
 2008/11/12 13:30:17 [root:2] We must catchup 2.35 seconds!
 2008/11/12 13:30:24 [root:2] We must catchup 7.18 seconds!
 2008/11/12 13:30:25 [root:2] We must catchup 7.23 seconds!
 2008/11/12 13:30:26 [root:2] We must catchup 8.18 seconds!
 2008/11/12 13:30:28 [root:2] We must catchup 9.81 seconds!
 2008/11/12 13:30:29 [root:2] We must catchup 10.81 seconds!
 2008/11/12 13:30:30 [root:2] We must catchup 12.41 seconds!
 2008/11/12 13:30:31 [root:2] We must catchup 13.01 seconds!
 2008/11/12 13:30:32 [root:2] We must catchup 13.68 seconds!
 2008/11/12 13:30:34 [root:2] We must catchup 15.11 seconds!
 2008/11/12 13:30:36 [root:2] We must catchup 17.13 seconds!
 2008/11/12 13:30:37 [root:2] We must catchup 18.24 seconds!
 2008/11/12 13:30:38 [root:2] We must catchup 19.29 seconds!
 2008/11/12 13:30:43 [root:2] We must catchup 23.53 seconds!
 2008/11/12 13:30:44 [root:2] We must catchup 24.46 seconds!
 2008/11/12 13:30:45 [root:2] We must catchup 26.10 seconds!
 2008/11/12 13:30:47 [root:2] We must catchup 27.58 seconds!
 2008/11/12 13:30:48 [root:2] We must catchup 28.97 seconds!
 2008/11/12 13:30:51 [root:2] We must catchup 31.67 seconds!
 2008/11/12 13:30:53 [root:2] We must catchup 33.83 seconds!
 2008/11/12 13:30:55 [root:2] We must catchup 34.94 seconds!
 2008/11/12 13:30:56 [root:2] We must catchup 36.23 seconds!
 2008/11/12 13:31:01 [root:2] We must catchup 40.93 seconds!
 2008/11/12 13:31:02 [root:2] We must catchup 42.75 seconds!
 2008/11/12 13:31:05 [root:2] We must catchup 45.03 seconds!
 2008/11/12 13:31:07 [root:2] We must catchup 47.05 seconds!
 2008/11/12 13:31:09 [root:2] We must catchup 48.81 seconds!
 2008/11/12 13:31:10 [root:2] We must catchup 49.84 seconds!
 2008/11/12 13:31:11 [root:2] We must catchup 51.11 seconds!
 2008/11/12 13:31:12 [root:2] We must catchup 52.24 seconds!
 2008/11/12 13:31:13 [root:2] We must catchup 53.10 seconds!
 2008/11/12 13:31:15 [root:2] We must catchup 55.01 seconds!
 2008/11/12 13:31:17 [root:2] We must catchup 56.21 seconds!
 2008/11/12 13:31:18 [root:2] We must catchup 56.96 seconds!
 2008/11/12 13:31:19 [root:2] We must catchup 57.42 seconds!
 2008/11/12 13:31:20 [root:2] We must catchup 58.26 seconds!
 2008/11/12 13:31:22 [root:2] We must catchup 59.73 seconds!
 2008/11/12 13:31:22 [root:2] Too much latency! Resetting active sources..
 2008/11/12 13:31:22 [hozana(dot)mp3:3] Connecting mount hozana.mp3 for
 [EMAIL PROTECTED]
 2008/11/12 13:31:26 [hozana(dot)mp3:2] Icecast mount point already taken,
 or wrong password!
 2008/11/12 13:31:26 [threads:1] thread "root" aborts with exception
 Shout.No_login !
 2008/11/12 13:31:27 [main:3] Shutdown started!
 2008/11/12 13:31:27 [source:4] hozana(dot)mp3 gets down
 2008/11/12 13:31:27 [source:4] src_3571 gets down
 2008/11/12 13:31:27 [source:4] play(dot)mp3 gets down
 2008/11/12 13:31:27 [source:4] src_3574 gets down
 2008/11/12 13:31:27 [source:4] src_3569 gets down
 2008/11/12 13:31:27 [source:4] src_3547 gets down
 2008/11/12 13:31:27 [threads:3] thread "non-blocking queue #1" exited (2
 remaining)
 2008/11/12 13:31:27 [source:4] src_3556 gets down
 2008/11/12 13:31:27 [source:4] src_3555 gets down
 2008/11/12 13:31:30 [main:3] Cleaning downloaded files...
 2008/11/12 13:31:30 >>> LOG END
 }}}

 Here is the script:
 {{{
 #!/usr/bin/liquidsoap

 set("log.file.path", "/var/log/liquidsoap.log")
 set("init.daemon.pidfile.path", "/var/run/liquidsoap/radio.pid")
 set("tag.encodings",["UTF-8","ISO-8859-1"])
 set("log.level",5)



 def f(m) =
  list.iter(fun(x)-> log("#{x}"),m)
 end



 # A similar transition,
 # which does a cross-fading from A to B
 # and adds a jingle
 def transition(j,a,b)
   add(normalize=false,
           [ fade.initial(b),
             sequence(merge=true,
                     [blank(duration=1.),j,fallback([])]),
             fade.final(a) ])
 end

 def default2(a,b)
         add(normalize=false,[b, a])
 end
 def default(a,b) = sequence([a,b]) end


 def audio_process(s)
   gain = interactive_float("compress.gain",3.)
   ratio = 3. # interactive_float("compress.ratio",3.)
   threshold = interactive_float("compress.threshold",-15.)

   target = interactive_float("norm.target",-13.)
   k_up = interactive_float("norm.kup",0.005)
   k_down = interactive_float("norm.kdn",0.1)

   s = normalize(target=target,k_up=k_up,k_down=k_down,s)
   s = compress(gain=gain,ratio=ratio,threshold=threshold,s)
 end



 hvalnice  = playlist(id="hvalnice", reload=43200, mode="normal",
 "/mp3/hvalnice/hvalnice")
 vecernice = playlist(id="vecernice", reload=43200, mode="normal",
 "/mp3/hvalnice/vecernice")
 rv1 = playlist (id="rozni_venec_1", reload=43200, mode="normal",
 "/mp3/rozni_venec/rozni_venec1")
 rv2 = playlist (id="rozni_venec_2", reload=43200, mode="normal",
 "/mp3/rozni_venec/rozni_venec2")
 rv3 = playlist (id="rozni_venec_3", reload=43200, mode="normal",
 "/mp3/rozni_venec/rozni_venec3")
 rv4 = playlist (id="rozni_venec_4", reload=43200, mode="normal",
 "/mp3/rozni_venec/rozni_venec4")
 bible = playlist (id="bible", reload=43200, mode="normal",
 "/mp3/bible/playlist_rand")
 hozana = playlist (id="hozana", mode="normal", "/mp3/bible/playlist")
 background = playlist (id="background", reload=43200,
 "/mp3/background/playlist")
 pridiga = smart_crossfade(playlist (id="pridige", reload=43200,
 mode="normal", "/mp3/pridige/playlist"))
 security = single("/mp3/security.mp3")

 mp3 = smart_crossfade( fade_out = 12.0, fade_in = 12.0, start_next =
 12.0, normalize(playlist (reload=43200, "/mp3/mp3/playlist")))
 mp3 = on_metadata(f,mp3)

 ro = strip_blank(input.http(autostart=true, XXXX))
 clock =  normalize(single ("/mp3/jingles/clock.mp3"));


 # dodaj jingle za uro
 bible = add(normalize = true, weights = [4,1], [bible,background])

 # for testing
 #hozana = accelerate (3., before = 10., after = 10., hozana)

 # 10s pause after each track
 hozana = append (hozana, fun(_)->blank(duration=10.))

 # music background
 hozana = add(normalize = true, weights = [6,1], [hozana,background])

 ro=rewrite_metadata([("artist",XXXX), ("title",XXXX),
  ("comment",XXXX)],ro)

 radio=fallback ([
 switch(track_sensitive = false, transitions=[
                 transition(clock),
                 transition(clock),
                 transition(clock),
                 transition(clock),
                 transition(clock),
                 transition(clock),
                 transition(clock),
                 transition(clock),
                 transition(clock),
                 transition(clock),
                 transition(clock),
                 transition(clock),
                 transition(clock),
                 transition(clock),
                 transition(clock),
                 transition(clock),
                 transition(clock)
 ],
 [
   ({ 5h-6h }, ro),
   ({ 8h-8h25 }, hvalnice),

   ({ 9h-9h15 }, pridiga),

   ({ 10h-10h15 }, bible),

   ({ 13h-13h15 }, pridiga),

   ({ 15h-16h }, ro),
   ({ 19h-19h20}, vecernice),
   ({ 20h-20h20 }, ro),

   ({ 1w21h-1w21h35}, rv1),
   ({ 2w21h-2w21h35}, rv2),
   ({ 3w21h-3w21h35}, rv4),
   ({ 4w21h-4w21h35}, rv3),
   ({ 5w21h-5w21h35}, rv2),
   ({ 6w21h-6w21h35}, rv1),
   ({ 7w21h-7w21h35}, rv4),

   ({ 23h-23h15 }, bible),

   ({ true }, mp3)
 ]), security])



 hozana=fallback ([hozana, security])


 pattern =  '$(if $(title),"$(title)","$(filename) (FN)")'
 radio = rewrite_metadata([("title", pattern),
 ("comment",XXXX)],radio)


  # Stream it out
 output.icecast.mp3(description = XXXX,
   name = XXXX,
   url = XXXX,
   host = XXXX, port = 8000,
   password = XXXX, mount = "play.mp3", restart = true,
   radio)

 output.icecast.mp3(description = XXXX,
   name = XXXX,
   url = XXXX,
   host = XXXX, port = 8000,
   password = XXXX, mount = XXXX,
   bitrate = 56,
   samplerate = 22050,
   stereo = true,
         restart = true,
   hozana)
 }}}

-- 
Ticket URL: <http://savonet.rastageeks.org/ticket/205>
Savonet <http://savonet.rastageeks.org/>
Let's program our stream !
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Savonet-trac mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-trac

Reply via email to