You are here: Home » Topic » New problems with Solaris and 1586

New problems with Solaris and 1586

This topic contains 6 replies, has 4 voices, and was last updated by  bfranke 10 years, 4 months ago.

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #1547

    bfranke
    Participant

    Hi there,

    I’ve updated from 1538 to 1586 on my SPARC/Solaris 9 machine, but I experience a few problems. (The reason for updating was some spurious crashes). mt-daapd starts up, does it scan, and gets ready. I can access the user interface via a web browser and change settings etc., but as soon as I want to play a song from within iTunes (on Mac) I get a segmentation fault on the server. (In fact, I also get a seg. fault if I try to do something in the web interface when the file scan is still running). Running mt-daapd in GDB in order to get a stack trace doesn’t work as it simply won’t run that far as that I could do anything with iTunes, mt-daapd seems to get stuck at some point when executed within GDB (see below). Any ideas? Thanks!

    Bjoern

    # /opt/csw/bin/gdb /usr/local/sbin/mt-daapd
    GNU gdb 6.1
    Copyright 2004 Free Software Foundation, Inc.
    GDB is free software, covered by the GNU General Public License, and you are
    welcome to change it and/or distribute copies of it under certain conditions.
    Type “show copying” to see the conditions.
    There is absolutely no warranty for GDB. Type “show warranty” for details.
    This GDB was configured as “sparc-sun-solaris2.8″…
    (gdb) run -f -d9 -c /usr/local/etc/mt-daapd.conf -y
    Starting program: /usr/local/sbin/mt-daapd -f -d9 -c /usr/local/etc/mt-daapd.conf -y
    Got general/web_root, convert to general/web_root (/usr/local/share/mt-daapd/admin-root)
    Found existing section
    Got general/port, convert to general/port (3689)
    Found existing section
    Got general/admin_pw, convert to general/admin_pw (mt-daapd)
    Found existing section
    Got general/db_type, convert to general/db_type (sqlite3)
    Found existing section
    Got general/db_parms, convert to general/db_parms (/usr/local/var/cache/mt-daapd)
    Found existing section
    Got general/mp3_dir, convert to general/mp3_dir (/export/home0/samba/data/music/)
    Found existing section
    Found 1 tokens in /export/home0/samba/data/music/
    Token 1: /export/home0/samba/data/music/
    Got general/servername, convert to general/servername (Firefly %v on %h)
    Found existing section
    Got general/runas, convert to general/runas (nobody)
    Found existing section
    Got general/playlist, convert to general/playlist (/usr/local/etc/mt-daapd.playlist)
    Found existing section
    Got general/extensions, convert to general/extensions (.mp3,.m4a,.m4p)
    Found existing section
    Got general/ssc_codectypes, convert to general/ssc_codectypes (ogg,flac,alac)
    Found existing section
    Got general/ssc_prog, convert to general/ssc_prog (/usr/local/bin/mt-daapd-ssc.sh)
    Found existing section
    Expanding precomments to 2048
    Expanding precomments to 4096
    Got general/scan_type, convert to general/scan_type (1)
    Found existing section
    Got general/rescan_interval, convert to general/rescan_interval (900)
    Found existing section
    Got plugins/plugin_dir, convert to plugins/plugin_dir (/usr/local/share/mt-daapd/plugins)
    Found existing section
    Checking existence of /usr/local/share/mt-daapd/admin-root
    Checking existence of /usr/local/share/mt-daapd/admin-root
    Checking existence of /usr/local/var/cache/mt-daapd
    Checking existence of /usr/local/var/cache/mt-daapd
    Checking existence of /usr/local/share/mt-daapd/plugins
    Checking existence of /usr/local/share/mt-daapd/plugins
    Loading new config file.
    Firefly Version svn-1586: Starting with debuglevel 9
    Attempting to load plugin /usr/local/share/mt-daapd/plugins/out-daap.so
    Loaded plugin /usr/local/share/mt-daapd/plugins/out-daap.so (daap/svn-1586)
    New transcode codec list:
    Attempting to load plugin /usr/local/share/mt-daapd/plugins/rsp.so
    Loaded plugin /usr/local/share/mt-daapd/plugins/rsp.so (rsp/svn-1586)
    New transcode codec list:
    Attempting to load plugin /usr/local/share/mt-daapd/plugins/ssc-script.so
    Loaded plugin /usr/local/share/mt-daapd/plugins/ssc-script.so (ssc-script/svn-1586)
    New transcode codec list: ogg,flac,alac
    Plugin loaded: ssc-script/svn-1586
    Plugin loaded: rsp/svn-1586
    Plugin loaded: daap/svn-1586
    Starting rendezvous daemon
    Starting signal handler
    Opening database
    [New LWP 1]
    [New LWP 2]
    [New LWP 3]
    [LWP 2 exited]
    [New LWP 2]
    [LWP 3 exited]
    [New LWP 3]
    Executing: select value from config where term=’version’
    Results: 0
    Initializing database
    Executing: select count(*) FROM songs
    Executing: select value from config where term=’rescan’
    Executing: vacuum
    Rows: 1
    Executing: create index idx_path on songs(path,idx)
    Query: create index idx_path on songs(path,idx)
    Error: index idx_path already exists
    Executing: create index idx_songid on playlistitems(songid)
    Query: create index idx_songid on playlistitems(songid)
    Error: index idx_songid already exists
    Executing: create index idx_playlistid on playlistitems(playlistid,songid)
    Query: create index idx_playlistid on playlistitems(playlistid,songid)
    Error: index idx_playlistid already exists
    Starting web server from /usr/local/share/mt-daapd/admin-root on port 3689
    Listening on port 3689
    Starting server thread
    [New LWP 4]
    Registering rendezvous names

    Program received signal SIGPIPE, Broken pipe.
    0xff0a09f4 in _write () from /usr/lib/libc.so.1
    (gdb)

    #11643

    fizze
    Participant

    well, the errors during db upgrade/scan are alright, there seems to be some problem with renzdezvous.
    What are your compile options? 😉

    #11644

    you’ll want to get gdb to ignore signals (ie let the mt-daapd signal handlers deal with them)

    i believe the syntax is something like:
    handle SIGPIPE ignore

    rerun and see how you go
    ray

    #11645

    bfranke
    Participant

    Thanks for your quick responses.

    I’ve now set GDB to ignore SIGPIPE (handle SIGPIPE nostop ignore). Now I can run the server within GDB (still, for some mysterious reasons, sometimes GDB is put in the background after a short while and only becomes active again after I get it back into the foreground with fg %1).

    mt-daapd seems to run for a while, I can use the web interface, but it stops working as soon as I click on any song in the iTunes shared resource. Ok, having said this and having this checked over again, this is rather weird. Killed GDB and mt-daapd, started everything up again, and I got somewhat further. Again, killed everything and started up everything again it appears to work. The only change I am aware of is that I have waited until all file scanning activity had ceased, before I accessed the iTunes shared resource.

    BTW, the options of “configure” are –enable-sqlite3, compiler options are -g -O2.

    I’ll check again, maybe I can narrow down the situation when it works and when it doesn’t.

    Cheers,

    Bjoern

    #11646

    bfranke
    Participant

    Here’s some additional info. I still haven’t found out what to do to make it crash (or actually to avoid this), sometime it works, but not always. If it gets stuck, however, this is the last output I can see in the GDB window.

    Cheers,

    Bjoern

    Executing: INSERT INTO updated VALUES (306)
    Rows: 1
    Skipping file, not modified
    Found /export/home0/samba/data/music/Depeche Mode/The Singles 86_98 (Disc 2)/._2-08 Useless.m4a
    Found /export/home0/samba/data/music/Depeche Mode/The Singles 86_98 (Disc 2)/2-09 Only When I Lose Myself.m4a
    Executing: select * from songs where path=’/export/home0/samba/data/music/Depeche Mode/The Singles 86_98 (Disc 2)/2-09 Only When I Lose Myself.m4a’ and idx=0
    Thread 19: URI Match!
    Thread 19: Time is 1184188401 seconds after epoch
    Thread 19: Setting time header
    Added *Date=Wed, 11 Jul 2007 21:13:21 GMT*
    Added *Connection=keep-alive*
    Added *Server=mt-daapd/svn-1586*
    Added *Content-Type=text/html*
    Added *Content-Language=en_us*
    Thread 19: Using non-default handler
    in main_auth
    Checking url /xml-rpc
    Checking url /xml-rpc
    Dispatching auth for /xml-rpc to config auth
    Checking if pw required for /xml-rpc as admin
    Yep
    Preparing to decode YWRtaW46bXQtZGFhcGQ=
    Decoded admin:mt-daapd
    Decoded user=admin, pw=mt-daapd
    in main_auth
    Checking url /xml-rpc
    Checking url /xml-rpc
    Dispatching auth for /xml-rpc to config auth
    Added *HTTP_USER=admin*
    Added *HTTP_PASSWD=mt-daapd*
    in main_handler
    Checking url /xml-rpc
    Checking url /xml-rpc
    Dispatching /xml-rpc to config handler
    Entering config_handler
    Entering config_set_status
    Exiting config_set_status
    Updating Connection from keep-alive to close
    Entering config_set_status
    Exiting config_set_status
    Added *Cache-Control=no-cache*
    Added *Expires=-1*
    Updating Content-Type from text/html to text/xml; charset=utf-8
    Emitting reponse header Expires: -1
    Emitting reponse header Cache-Control: no-cache
    Emitting reponse header Content-Language: en_us
    Emitting reponse header Content-Type: text/xml; charset=utf-8
    Emitting reponse header Server: mt-daapd/svn-1586
    Emitting reponse header Connection: close
    Emitting reponse header Date: Wed, 11 Jul 2007 21:13:21 GMT
    Status inquiry
    Returning status -1

    #11647

    rpedde
    Participant

    @bfranke wrote:

    Here’s some additional info. I still haven’t found out what to do to make it crash (or actually to avoid this), sometime it works, but not always. If it gets stuck, however, this is the last output I can see in the GDB window.

    Cheers,

    Bjoern

    Executing: INSERT INTO updated VALUES (306)
    Rows: 1
    Skipping file, not modified
    Found /export/home0/samba/data/music/Depeche Mode/The Singles 86_98 (Disc 2)/._2-08 Useless.m4a
    Found /export/home0/samba/data/music/Depeche Mode/The Singles 86_98 (Disc 2)/2-09 Only When I Lose Myself.m4a
    Executing: select * from songs where path=’/export/home0/samba/data/music/Depeche Mode/The Singles 86_98 (Disc 2)/2-09 Only When I Lose Myself.m4a’ and idx=0
    Thread 19: URI Match!
    Thread 19: Time is 1184188401 seconds after epoch
    Thread 19: Setting time header
    Added *Date=Wed, 11 Jul 2007 21:13:21 GMT*
    Added *Connection=keep-alive*
    Added *Server=mt-daapd/svn-1586*
    Added *Content-Type=text/html*
    Added *Content-Language=en_us*
    Thread 19: Using non-default handler
    in main_auth
    Checking url /xml-rpc
    Checking url /xml-rpc
    Dispatching auth for /xml-rpc to config auth
    Checking if pw required for /xml-rpc as admin
    Yep
    Preparing to decode YWRtaW46bXQtZGFhcGQ=
    Decoded admin:mt-daapd
    Decoded user=admin, pw=mt-daapd
    in main_auth
    Checking url /xml-rpc
    Checking url /xml-rpc
    Dispatching auth for /xml-rpc to config auth
    Added *HTTP_USER=admin*
    Added *HTTP_PASSWD=mt-daapd*
    in main_handler
    Checking url /xml-rpc
    Checking url /xml-rpc
    Dispatching /xml-rpc to config handler
    Entering config_handler
    Entering config_set_status
    Exiting config_set_status
    Updating Connection from keep-alive to close
    Entering config_set_status
    Exiting config_set_status
    Added *Cache-Control=no-cache*
    Added *Expires=-1*
    Updating Content-Type from text/html to text/xml; charset=utf-8
    Emitting reponse header Expires: -1
    Emitting reponse header Cache-Control: no-cache
    Emitting reponse header Content-Language: en_us
    Emitting reponse header Content-Type: text/xml; charset=utf-8
    Emitting reponse header Server: mt-daapd/svn-1586
    Emitting reponse header Connection: close
    Emitting reponse header Date: Wed, 11 Jul 2007 21:13:21 GMT
    Status inquiry
    Returning status -1

    I don’t have access to a sparc solaris box that I can handily use, but I don’t think it’s an endian issue or an alignment issue, since it works okay on ppc, mips, arm, etc.

    I’ll try and replicate it on opensolaris and see if that gets me anywhere. Oh… and if you could get it to crash in gdb and get a backtrace, that would be really really helpful.

    — Ron

    #11648

    bfranke
    Participant

    Ok, I’ll give it a try, but I will be away for the next two weeks.

    Cheers,

    Bjoern

Viewing 7 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic.