You are here: Home » Topic » svn1586: race condition crash when building database

svn1586: race condition crash when building database

FireFly Media Server (formerly mt-daapd) Firefly Media Server Forums Firefly Media Server Nightlies Feedback svn1586: race condition crash when building database

This topic contains 0 replies, has 1 voice, and was last updated by  Anonymous 9 years, 10 months ago.

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #2175

    Anonymous

    mt-daapd crashes on initial db build, when a browser with the web frontend is open. After initiating “full scan”, the crash occurs between the calls

    /* make sure our indexes exist */
    db_sqliteX_exec(NULL,E_DBG,”create index idx_path on “
    “songs(path,idx)”);
    db_sqliteX_exec(NULL,E_DBG,”create index idx_songid on “
    “playlistitems(songid)”);
    db_sqliteX_exec(NULL,E_DBG,”create index idx_playlistid on “
    “playlistitems(playlistid,songid)”);

    if they interfere with a web request from the browser. If the browser window is closed after initiating the scan, the error doesn’t occur.

    Here is the log:

    Ending song scan
    Executing: commit transaction
    Rows: 1
    Executing: pragma synchronous = normal
    Rows: 1
    Executing: create index idx_path on songs(path,idx)
    select(7, 5.000000)
    Thread 203: Entering ws_dispatcher (Connection from 192.168.1.21)
    Thread 203: got request
    Request: GET /xml-rpc?method=stats HTTP/1.1
    Thread 203: Read: Host: ts:3689
    Thread 203: Adding header *Host=ts:3689*
    Added *Host=ts:3689*
    Thread 203: Read: User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
    Thread 203: Adding header *User-Agent=Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11*
    Added *User-Agent=Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11*
    Thread 203: Read: Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
    Thread 203: Adding header *Accept=text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5*
    Added *Accept=text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5*
    Thread 203: Read: Accept-Language: en-us,en;q=0.8,de-de;q=0.5,de;q=0.3
    Thread 203: Adding header *Accept-Language=en-us,en;q=0.8,de-de;q=0.5,de;q=0.3*
    Added *Accept-Language=en-us,en;q=0.8,de-de;q=0.5,de;q=0.3*
    Thread 203: Read: Accept-Encoding: gzip,deflate
    Thread 203: Adding header *Accept-Encoding=gzip,deflate*
    Added *Accept-Encoding=gzip,deflate*
    Thread 203: Read: Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Thread 203: Adding header *Accept-Charset=ISO-8859-1,utf-8;q=0.7,*;q=0.7*
    Added *Accept-Charset=ISO-8859-1,utf-8;q=0.7,*;q=0.7*
    Thread 203: Read: Keep-Alive: 300
    Thread 203: Adding header *Keep-Alive=300*
    Added *Keep-Alive=300*
    Thread 203: Read: Connection: keep-alive
    Thread 203: Adding header *Connection=keep-alive*
    Added *Connection=keep-alive*
    Thread 203: Read: X-Requested-With: XMLHttpRequest
    Thread 203: Adding header *X-Requested-With=XMLHttpRequest*
    Added *X-Requested-With=XMLHttpRequest*
    Thread 203: Read: X-Prototype-Version: 1.4.0
    Thread 203: Adding header *X-Prototype-Version=1.4.0*
    Added *X-Prototype-Version=1.4.0*
    Thread 203: Read: Referer: http://ts:3689/index.html
    Thread 203: Adding header *Referer=http://ts:3689/index.html*
    Added *Referer=http://ts:3689/index.html*
    Thread 203: Read: Authorization: Basic OmZpcmVmbHk=
    Thread 203: Adding header *Authorization=Basic OmZpcmVmbHk=*
    Added *Authorization=Basic OmZpcmVmbHk=*
    Thread 203: Read:
    Thread 203: Headers parsed!
    Checking to see if connection matches close
    And it does NOT
    Thread 203: Connection type HTTP/1.1
    : Connection: persist
    Thread 203: parsing GET args
    Thread 203: Entering ws_getgetvars (method=stats)
    Thread 203: Adding arg method = stats
    Added *method=stats*
    Thread 203: Done parsing GET/POST args!
    Thread 203: Original URI: /xml-rpc
    Thread 203: Translated URI: /xml-rpc
    Thread 203: Preparing to find handler
    Checking /xml-rpc against handler for /
    Thread 203: URI Match!
    Thread 203: Time is 1201462706 seconds after epoch
    Thread 203: Setting time header
    Added *Date=Sun, 27 Jan 2008 19:38:26 GMT*
    Added *Connection=keep-alive*
    Added *Server=mt-daapd/svn-1586*
    Added *Content-Type=text/html*
    Added *Content-Language=en_us*
    Thread 203: 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 OmZpcmVmbHk=
    Decoded :firefly
    Decoded user=, pw=firefly
    in main_auth
    Checking url /xml-rpc
    Checking url /xml-rpc
    Dispatching auth for /xml-rpc to config auth
    Added *HTTP_USER=*
    Added *HTTP_PASSWD=firefly*
    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: Sun, 27 Jan 2008 19:38:26 GMT
    Status inquiry
    Processing rendezvous message
    select(7, 5.000000)
    Returning status 0
    Rows: 1
    Executing: delete from config where term=’rescan’
    Rows: 0
    Executing: pragma synchronous = off
    Rows: 0
    Executing: begin transaction
    Rows: 0
    Executing: select count(*) FROM songs
    Thread 203: xml-rpc served
    Entering config_set_status
    Exiting config_set_status
    Thread 203: Terminating
    Thread 203: Freeing request headers
    Thread 203: Freeing response headers
    Thread 203: Freeing request vars
    Thread 203: Closing fd
    With thread 203 exiting, 0 are still running
    Processing playlists
    Starting playlist scan
    Finished playlist loop
    Executing: end transaction
    Rows: 0
    Executing: pragma synchronous=normal
    Rows: 0
    Executing: create index idx_songid on playlistitems(songid)
    Query: create index idx_songid on playlistitems(songid)
    Error: library routine called out of sequence
    Aborting
    Processing rendezvous message
    Rendezvous socket closed (daap server crashed?) Aborting.
    Aborting

Viewing 1 post (of 1 total)

You must be logged in to reply to this topic.