Clicking on Start Scan crashes mt-daapd

FireFly Media Server Firefly Media Server Forums Firefly Media Server Setup Issues Clicking on Start Scan crashes mt-daapd

Viewing 10 posts - 1 through 10 (of 13 total)
  • Author
    Posts
  • #2532
    magnate
    Participant

    Hi All,

    I’ve not re-scanned my collection for a few weeks, during which time mt-daapd has been updated. Now, the moment I click on Start Scan or Start Full Scan, mt-daapd crashes. Here is the log output:

    2008-06-29 12:27:05 (b74de6c0): Serving 11898 songs. Startup complete in 1 seconds
    2008-06-29 12:27:14 (b7494b90): Thread 11: Out of memory
    2008-06-29 12:27:14: Aborting
    2008-06-29 12:27:14 (b6c93b90): Rendezvous socket closed (daap server crashed?) Aborting.
    2008-06-29 12:27:14: Aborting

    That happens, with identical messages, every time I try to (re)scan.

    This is Debian Lenny, whose current version is 0.9~r1696-1.3

    Grateful for any hints or pointers – it would be nice to add my new stuff to my collection.

    Many thanks,

    Chris

    #17336
    stretch
    Participant

    Not sure if it’s OS specific but svn-1696 running an sqlite2 db on the NSLU has bug that causes it to crash when you do a rescan.
    To avoid it you either have to use svn-1586 or svn-1696 with an sqlite3 db.
    A technique that worked for me was to delete the db and then do a full scan when you want to add new stuff.

    #17337
    magnate
    Participant

    @stretch wrote:

    Not sure if it’s OS specific but svn-1696 running an sqlite2 db on the NSLU has bug that causes it to crash when you do a rescan.
    To avoid it you either have to use svn-1586 or svn-1696 with an sqlite3 db.

    I’m using sqlite3.

    A technique that worked for me was to delete the db and then do a full scan when you want to add new stuff.

    Ugh. I’d rather not delete the db if I can help it …

    CC

    #17338
    fizze
    Participant

    How about bumping up the loglevel to 9 before doing the scan?

    Also, a “scan” will only reindex files that were modified since the last scan, or new files.
    So its likely that one of those “new” files has corrupt metadata which leads to firefly crashing.

    #17339
    Anonymous
    Inactive

    I have got the same problem here, with the latest version (0.9~r1696-1.3+b1) from Debian, both on arm (NSLU2) and amd64. I added no new songs. Pushing the “start scan” button crashes the server. Here is a debug level 9 log of the last thread, until the crash:


    2008-07-03 03:21:00 (8bdef65c): Got listen socket 10
    2008-07-03 03:21:00 (e6bd624b): Thread 11:
    2008-07-03 03:21:00 (e6bd624b): Request: POST /xml-rpc HTTP/1.1
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Read: User-Agent: Mozilla/5.0 (compatible; Konqueror/3.5) KHTML/3.5.9 (like Gecko)
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Adding header *User-Agent=Mozilla/5.0 (compatible; Konqueror/3.5) KHTML/3.5.9 (like Gecko)*
    2008-07-03 03:21:00 (e6bd624b): Added *User-Agent=Mozilla/5.0 (compatible; Konqueror/3.5) KHTML/3.5.9 (like Gecko)*
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Read: Referer: http://localhost:3689/index.html
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Adding header *Referer=http://localhost:3689/index.html*
    2008-07-03 03:21:00 (e6bd624b): Added *Referer=http://localhost:3689/index.html*
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Read: Pragma: no-cache
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Adding header *Pragma=no-cache*
    2008-07-03 03:21:00 (e6bd624b): Added *Pragma=no-cache*
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Read: Cache-control: no-cache
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Adding header *Cache-control=no-cache*
    2008-07-03 03:21:00 (e6bd624b): Added *Cache-control=no-cache*
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Read: Accept: text/html, image/jpeg, image/png, text/*, image/*, */*
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Adding header *Accept=text/html, image/jpeg, image/png, text/*, image/*, */**
    2008-07-03 03:21:00 (e6bd624b): Added *Accept=text/html, image/jpeg, image/png, text/*, image/*, */**
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Read: Accept-Encoding: x-gzip, x-deflate, gzip, deflate
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Adding header *Accept-Encoding=x-gzip, x-deflate, gzip, deflate*
    2008-07-03 03:21:00 (e6bd624b): Added *Accept-Encoding=x-gzip, x-deflate, gzip, deflate*
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Read: Accept-Charset: utf-8, utf-8;q=0.5, *;q=0.5
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Adding header *Accept-Charset=utf-8, utf-8;q=0.5, *;q=0.5*
    2008-07-03 03:21:00 (e6bd624b): Added *Accept-Charset=utf-8, utf-8;q=0.5, *;q=0.5*
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Read: Accept-Language: fr, en
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Adding header *Accept-Language=fr, en*
    2008-07-03 03:21:00 (e6bd624b): Added *Accept-Language=fr, en*
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Read: Host: localhost:3689
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Adding header *Host=localhost:3689*
    2008-07-03 03:21:00 (e6bd624b): Added *Host=localhost:3689*
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Read: connection: close
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Adding header *connection=close*
    2008-07-03 03:21:00 (e6bd624b): Added *connection=close*
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Read: x-prototype-version: 1.4.0
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Adding header *x-prototype-version=1.4.0*
    2008-07-03 03:21:00 (e6bd624b): Added *x-prototype-version=1.4.0*
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Read: x-requested-with: XMLHttpRequest
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Adding header *x-requested-with=XMLHttpRequest*
    2008-07-03 03:21:00 (e6bd624b): Added *x-requested-with=XMLHttpRequest*
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Read: Content-type: application/x-www-form-urlencoded
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Adding header *Content-type=application/x-www-form-urlencoded*
    2008-07-03 03:21:00 (e6bd624b): Added *Content-type=application/x-www-form-urlencoded*
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Read: Authorization: Basic Om10LWRhYXBk
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Adding header *Authorization=Basic Om10LWRhYXBk*
    2008-07-03 03:21:00 (e6bd624b): Added *Authorization=Basic Om10LWRhYXBk*
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Read: Connection: Keep-Alive
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Adding header *Connection=Keep-Alive*
    2008-07-03 03:21:00 (e6bd624b): Updating Connection from close to Keep-Alive
    2008-07-03 03:21:00 (e6bd624b): Thread 11: Out of memory
    2008-07-03 03:21:00: Aborting
    2008-07-03 03:21:00 (fca21244): Received a message from daap server
    2008-07-03 03:21:00 (fca21244): Rendezvous socket closed (daap server crashed?) Aborting.
    2008-07-03 03:21:00: Aborting

    It doesn’t seem to start any scan at all, before crashing…

    #17340
    fizze
    Participant

    OOM, there you go! ๐Ÿ˜‰

    What database backend do you use? sqlite or sqlite3?
    There are some known issues with sqlite2 on Unslung, so you might be better off with sqlite3.

    #17341
    Anonymous
    Inactive

    I am using sqlite3 on all the systems.
    The same problem occurs on my machine at work (Debian i386). However, erasing the database generates a new database when the server restarts, with possibly the new songs added.

    here is my config file:


    $Id: mt-daapd.conf.templ 1660 2007-09-12 13:08:04Z rpedde $
    #
    # This is the mt-daapd config file.
    #
    # If you have problems or questions with the format of this file,
    # direct your questions to [email protected].
    #
    # Questions and discussions about the format and content of this
    # config file can probably be obtained by consulting the wiki:
    #
    # http://wiki.fireflymediaserver.org/Config_File
    #
    # Or by asking questions on the forums at
    #
    # http://forums.fireflymediaserver.org
    #
    #

    [general]

    #
    # web_root (required)
    #
    # Location of the admin web pages.
    #
    # If you installed from .RPM, .deb, or tarball with --prefix=/usr, then
    # this is correct.
    #
    # If you installed from tarball without --prefix=/usr, then the correct
    # path is probably /usr/local/share/mt-daapd/admin-root.
    #

    web_root = /usr/share/mt-daapd/admin-root

    #
    # port (required)
    #
    # What port to listen on. It is possible to use a different
    # port, but this is the default iTunes port
    #

    port = 3689

    #
    # admin_pw (required)
    #
    # This is the password to the administrative pages
    #

    admin_pw = xxxxxxx

    #
    # db_type (required)
    #
    # This is what kind of backend database to store the song
    # info in. Valid choices are "sqlite" and "sqlite3".
    #

    db_type = sqlite3

    #
    # db_parms
    #
    # This is any extra information the db needs to connect.
    # in the case of sqlite and sqlite3, this is the name
    # of the directory to store the database in
    #
    # If you installed from RPM or .deb, this path likely already
    # exists. If not, then you must create it. The directory itself
    # must be writable by the "runas" user.
    #

    db_parms = /var/cache/mt-daapd

    #
    # mp3_dir (required)
    #
    # Location of the mp3 files to share. Note that because the
    # files are stored in the database by inode, these must be
    # in the same physical filesystem.
    #

    mp3_dir = /home/boutil/media/musique

    #
    # servername (required)
    #
    # This is both the name of the server as advertised
    # via rendezvous, and the name of the database
    # exported via DAAP. Also know as "What shows up in iTunes".
    #

    servername = Firefly %v on %h

    #
    # runas (required)
    #
    # This is the user to drop privs to if running as
    # root. If mt-daapd is not started as root, this
    # configuration option is ignored. Notice that this
    # must be specified whether the server is running
    # as root or not.
    #
    # This is also ignored on Windows.
    #

    runas = mt-daapd

    #
    # password (optional)
    #
    # This is the password required to listen to MP3 files
    # i.e. the password that iTunes prompts for
    #

    #password = mp3

    #
    # extensions (optional)
    #
    # These are the file extensions that the daap server will
    # try to index and serve. By default, it only indexes and
    # serves .mp3 files. It can also server .m4a and .m4p files,
    # and just about any other files, really. Unfortunately, while
    # it can *attempt* to serve other files (.ogg?), iTunes won't
    # play them. Perhaps this would be useful on Linux with
    # Rhythmbox, once it understands daap. (hurry up!)
    #
    # Failing that, one can use server-side conversion to transcode
    # non-standard (.ogg, .flac) music to wav on the server side.
    # See the ssc_* options below.
    #
    # To be able to index .ogg files, you'll need to have configured
    # with --enable-oggvorbis. For .flac, --enable-flac, for .mpc,
    # --enable-musepack.
    #

    extensions = .mp3,.m4a,.m4p,.ogg,.flac,.mpc

    #
    # ssc_codectypes (optional)
    #
    # List of codectypes for files that the daap server should
    # perform internal format conversion and present to clients
    # as WAV files. The file extensions that these codectypes correspond
    # to must also be present in 'extensions'
    # configuration value, or files are not probed in the first
    # place.
    #
    # Valid codectypes:
    #
    # mp4a - for AAC (.aac, .mp4, .m4a, .m4p)
    # mpeg - for mp3
    # wav - for wav
    # wma - for wma
    # ogg - for ogg
    # flac - for flac (.flac, .fla)
    # mpc for musepack (.mpc, .mpp, .mp+)
    # alac for alac (.m4a)
    #

    # Not needed because ffmpeg is enabled (all file types transcoded to wav.
    # If this behavior is undesired, see the [plugins] section and disable it,
    # or selectively disable codecs below with the never_transcode option.)
    # -joshk
    # ssc_codectypes = ogg,flac,alac

    # never_transcode (optional)
    # Comma separated list of formats to never transcode. (Nothing by default)
    # never_transcode = ogg

    #
    # ssc_prog (optional)
    #
    # Program that is used in server side format conversion.
    # Program must accept following command line syntax:
    # ssc_prog filename offset length ...
    # Parameter filename is the real name of the file that is
    # to be converted and streamed, offset is number of bytes
    # that are skipped from the beginning of the _output_ file
    # before streaming is started, length is length of the song
    # in seconds (or zero). All other possible arguments must
    # be ignored. The resulting wav file (or the rest of
    # the file after initial seek) is written to the standard
    # output by the ssc_prog program. This is typically
    # a script that is a front end for different conversion tools
    # handling different formats.
    #

    # ssc_prog = /usr/bin/mt-daapd-ssc.sh

    #
    # logfile (optional)
    #
    # This is the file to log to. If this is not configured,
    # then it will log to the syslog.
    #
    # Not that the -d switch will control the log verbosity.
    # By default, it runs at log level 1. Log level 9 will churn
    # out scads of useless debugging information. Values in between
    # will vary the amount of logging you get. However, you must log
    # to a file to see this debugging information (debug information will
    # not appear in syslog.)
    #

    #logfile = /var/log/mt-daapd.log

    #
    # rescan_interval
    #
    # How often to check the file system to see if any mp3 files
    # have been added or removed.
    #
    # if not specified, the default is 0, which disables background scanning.
    #
    # If background rescanning is disabled, a scan can still be forced from the
    # "status" page of the administrative web interface
    #
    # Setting a rescan_interval lower than the time it takes to rescan
    # won't hurt anything, it will just waste CPU, and make connect times
    # to the daap server longer.
    #
    #

    #rescan_interval = 300

    # always_scan
    #
    # The default behavior is not not do background rescans of the
    # filesystem unless there are clients connected. The thought is to
    # allow the drives to spin down unless they are in use. This might be
    # of more importance in IDE drives that aren't designed to be run
    # 24x7. Forcing a scan through the web interface will always work
    # though, even if no users are connected.

    # always_scan = 0

    #
    # scan_type
    #
    #
    # This sets how aggressively mp3 files should be scanned to determine
    # file length. There are three values:
    #
    # 0 (Normal)
    # Just scan the first mp3 frame to try and calculate size. This will
    # be accurate for most files, but VBR files without an Xing tag will
    # probably have wildly inaccurate file times. This is the default.
    #
    # 1 (Aggressive)
    # This checks the bitrates of 10 frames in the middle of the song.
    # This will still be inaccurate for VBR files without an Xing tag,
    # but they probably won't be quite as inaccurate as 0. This takes
    # more time, obviously, although the time hit will only happen the
    # first time you scan a particular file.
    #
    # 2 (Painfully aggressive)
    # This walks through the entire song, counting the number of frames.
    # This should result in accurate song times, but will take the most
    # time. Again, this will only have to be incurred the first time
    # the file is indexed.
    #

    scan_type = 2

    #
    # compress
    #
    # Whether to use gzip content-encoding when transferring playlists etc.
    # This was contributed as a patch by Ciamac Moallemi just prior to the 0.2.1
    # release, and as such, hasn't gotten as much testing as other features.
    #
    # This feature should substantially speed up transfers of large databases
    # and playlists.
    #
    # It will eventually default to 1, but currently it defaults to 0.
    #

    #compress = 0

    [plugins]
    plugin_dir = /usr/lib/mt-daapd/plugins
    plugins = rsp.so,ssc-ffmpeg.so


    [scanning]

    # should playlists be processed at all?
    #
    process_playlists = 1


    # should itunes xml files be processed?
    #
    process_itunes = 1

    # should m3u files be processed?
    #
    process_m3u = 1
    #17342
    Anonymous
    Inactive

    looking at the syslog, i found this when I tried to restart the server…


    $ tail /var/log/syslog
    Jul 4 18:52:16 amoeba mt-daapd[18246]: Starting signal handler
    Jul 4 18:52:16 amoeba mt-daapd[18247]: *** WARNING *** The program 'mt-daapd' uses the HOWL compatibility layer of Avahi.
    Jul 4 18:52:16 amoeba mt-daapd[18247]: *** WARNING *** Please fix your application to use the native API of Avahi!
    Jul 4 18:52:16 amoeba mt-daapd[18247]: *** WARNING *** For more information see
    Jul 4 18:52:16 amoeba mt-daapd[18248]: Initializing database
    Jul 4 18:52:16 amoeba mt-daapd[18248]: Full reload...
    Jul 4 18:52:16 amoeba mt-daapd[18248]: Starting mp3 scan
    Jul 4 18:52:17 amoeba kernel: [216194.018452] mt-daapd[18248]: segfault at bf370b78 ip b7628c9a sp bf370b78 error 6 in libc-2.7.so[b75ef000+155000]
    Jul 4 18:52:17 amoeba mt-daapd[18247]: Rendezvous socket closed (daap server crashed?) Aborting.
    #17343
    fizze
    Participant

    You are using libc-2.7? ๐Ÿ˜•
    That looks like an unstable release, I’d advise to using libc-2.6.

    #17344
    Anonymous
    Inactive

    @fizze wrote:

    You are using libc-2.7? ๐Ÿ˜•
    That looks like an unstable release, I’d advise to using libc-2.6.

    Unfortunately, it seems that I have no choice, since debian ships only 2.7 version for lenny and sid. All the packages I use depend on libc6 >= 2.7….

Viewing 10 posts - 1 through 10 (of 13 total)
  • The forum ‘Setup Issues’ is closed to new topics and replies.