Ticket #334 (new Bugs)

Opened 8 weeks ago

harbor source feeding aborts with exception Ogg_demuxer.Invalid_stream

Reported by: LwarX Owned by: admin
Priority: 1 Milestone:
Component: Liquidsoap Version: 0.9.2+svn
Keywords: Cc:
Mac OSX: no Linux: yes
NetBSD: no Other Operating System: no
FreeBSD: no

Description

Original report: http://savonet.rastageeks.org/ticket/309#comment:8

This time exception handling has been disabled and liquidsoap printed exception message to console, then stopped:

$ liquidsoap /etc/liquidsoap/main.liq
Thread 5 killed on uncaught exception Ogg_demuxer.Invalid_stream

/var/log/liquidsoap/main.log (partial):

2010/01/15 19:19:32 [src_4796:3] New metadata chunk "Serakina -- Liam's Visit"
2010/01/15 19:23:45 [src_4796:3] New metadata chunk "Greg Baumont -- Respire ! (The dervish)"
2010/01/15 19:28:48 [src_4796:3] New metadata chunk "sion -- goodbye and so long"
2010/01/15 19:31:50 [src_4796:2] Feeding stopped: Ogg_demuxer.Invalid_stream
2010/01/15 19:31:50 [threads:1] Thread "harbor source feeding" aborts with exception Ogg_demuxer.Invalid_stream!
2010/01/15 19:31:50 [main:3] Shutdown started!
2010/01/15 19:31:50 [main:3] Waiting for threads to terminate...
2010/01/15 19:31:50 [root:3] Shutting down sources...
2010/01/15 19:31:50 [main(dot)ogg:3] Closing connection...
2010/01/15 19:31:50 [threads:3] Thread "root" exited (0 remaining).
2010/01/15 19:31:50 [main:3] Cleaning downloaded files...
2010/01/15 19:31:50 >>> LOG END

Liquidsoap configuration with debug statements added:

#!/usr/bin/liquidsoap

set("log.file.path", "/var/log/liquidsoap/main.log")

set("harbor.bind_addr", "127.0.0.1")
set("harbor.port", 8006)
set("harbor.password", "password1")

output.icecast.vorbis(  host = "127.0.0.1",
                        port = 8008,
                        password = "password2",
                        mount = "main.ogg",
                        restart = true,
                        restart_delay = 3,
                        name = "main",
                        description = "main stream",
                        url = "http://hostname:8008/main.ogg",
                        add(    normalize = false,
                                [input.harbor("stream.ogg",
                                debug=true,
                                dumpfile="/tmp/stream.dump",
                                logfile="/tmp/buffer.log"),
                                blank()]))

This is partial configuration snippet for Music Player Daemon (MPD), which was used as streaming source:

audio_output {
        type            "shout"
        encoding        "ogg"                   # optional
        name            "main"
        host            "localhost"
        port            "8006"
        mount           "/stream.ogg"
        password        "password1"
        quality         "5.0"
        format          "44100:16:1"
}

Message from /var/log/mpd/mpd.log at the moment when harbor died:

Jan 15 19:31 : output: "main" [shout] failed to play: Lost shout connection to localhost:8006: Socket error

And this is the link to saved audio stream dump (152 MB): http://rapidshare.com/files/335700695/stream.dump.html

Software versions installed:

dev-lang/ocaml-3.10.2
dev-ml/ocaml-alsa-0.1.4
dev-ml/ocaml-cry-0.1.1
dev-ml/ocaml-dtools-0.1.6
dev-ml/ocaml-duppy-0.3.1
dev-ml/ocaml-lame-0.2.4
dev-ml/ocaml-mad-0.3.6
dev-ml/ocaml-ogg-0.3.1
dev-ml/ocaml-shout-0.2.7
dev-ml/ocaml-vorbis-0.5.1
dev-ml/pcre-ocaml-6.0.1
media-sound/liquidsoap-0.9.2
Note: See TracTickets for help on using tickets.