Reply To: Requesting a rescan crashes svn-1696

#18171
Anonymous
Inactive

I’ve done some more trouble shooting, and just for the sake of documentation, I thought I’d make another post.

I think the problem lies somewhere in the webserver. Deleting songs3.db and then restarting mt-daapd doesn’t cause the server to crash when it rescans my music directory… Only when I use the web interface does the crash actually happen. But browsers are horrible tools for capturing debug information, so I thought I’d try another route…

Issuing the following command on the terminal:

wget --delete-after "http://USERDOESNTMATTER:mt-daapd@localhost:3689/config-update.html?action=rescan"

Yields the following output:


--2009-03-26 14:11:32-- http://USERDOESNTMATTER:*password*@localhost:3689/config-update.html?action=rescan
Resolving localhost... 127.0.0.1
Connecting to localhost|127.0.0.1|:3689... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Connecting to localhost|127.0.0.1|:3689... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `config-update.html?action=rescan'

[ ] 3,211 --.-K/s in 0.02s

2009-03-26 14:11:32 (129 KB/s) - `config-update.html?action=rescan' saved [3211]

Removing config-update.html?action=rescan.
*** glibc detected *** /usr/local/sbin/mt-daapd: free(): invalid pointer: 0x00007fff67a88178 ***
======= Backtrace: =========
/lib64/libc.so.6[0x7fa25eaed118]
/lib64/libc.so.6(cfree+0x76)[0x7fa25eaeec76]
/usr/local/sbin/mt-daapd(db_sqlite2_enum_end+0x5e)[0x42cade]
/usr/local/sbin/mt-daapd(db_sql_fetch_row+0x163)[0x42da73]
/usr/local/sbin/mt-daapd(db_sql_fetch_path+0x4b)[0x42fceb]
/usr/local/sbin/mt-daapd(db_fetch_path+0x35)[0x4159a5]
/usr/local/sbin/mt-daapd(scan_filename+0x22d)[0x4145fd]
/usr/local/sbin/mt-daapd[0x414c0b]
/usr/local/sbin/mt-daapd(scan_init+0x89)[0x4155c9]
/usr/local/sbin/mt-daapd(main+0x78b)[0x40e51b]
/lib64/libc.so.6(__libc_start_main+0xe6)[0x7fa25ea97586]
/usr/local/sbin/mt-daapd[0x40d769]
======= Memory map: ========
00400000-0046b000 r-xp 00000000 08:41 5627905 /usr/local/sbin/mt-daapd
0066b000-0066c000 r--p 0006b000 08:41 5627905 /usr/local/sbin/mt-daapd
0066c000-00670000 rw-p 0006c000 08:41 5627905 /usr/local/sbin/mt-daapd
00670000-006d2000 rw-p 00670000 00:00 0 [heap]
7fa254000000-7fa254021000 rw-p 7fa254000000 00:00 0
7fa254021000-7fa258000000 ---p 7fa254021000 00:00 0
7fa25ba46000-7fa25ba47000 ---p 7fa25ba46000 00:00 0
7fa25ba47000-7fa25c247000 rw-p 7fa25ba47000 00:00 0
7fa25c247000-7fa25c248000 ---p 7fa25c247000 00:00 0
7fa25c248000-7fa25ca48000 rw-p 7fa25c248000 00:00 0
7fa25ca48000-7fa25ca49000 ---p 7fa25ca48000 00:00 0
7fa25ca49000-7fa25d249000 rw-p 7fa25ca49000 00:00 0
7fa25d249000-7fa25d25f000 r-xp 00000000 08:41 5619904 /lib64/libgcc_s.so.1
7fa25d25f000-7fa25d45f000 ---p 00016000 08:41 5619904 /lib64/libgcc_s.so.1
7fa25d45f000-7fa25d460000 r--p 00016000 08:41 5619904 /lib64/libgcc_s.so.1
7fa25d460000-7fa25d461000 rw-p 00017000 08:41 5619904 /lib64/libgcc_s.so.1
7fa25d461000-7fa25d462000 ---p 7fa25d461000 00:00 0
7fa25d462000-7fa25dc62000 rw-p 7fa25d462000 00:00 0
7fa25dc62000-7fa25dc63000 ---p 7fa25dc62000 00:00 0
7fa25dc63000-7fa25e463000 rw-p 7fa25dc63000 00:00 0
7fa25e463000-7fa25e468000 r-xp 00000000 08:41 3752987 /usr/local/lib/mt-daapd/plugins/rsp.so
7fa25e468000-7fa25e667000 ---p 00005000 08:41 3752987 /usr/local/lib/mt-daapd/plugins/rsp.so
7fa25e667000-7fa25e668000 r--p 00004000 08:41 3752987 /usr/local/lib/mt-daapd/plugins/rsp.so
7fa25e668000-7fa25e669000 rw-p 00005000 08:41 3752987 /usr/local/lib/mt-daapd/plugins/rsp.so
7fa25e669000-7fa25e674000 r-xp 00000000 08:41 3752985 /usr/local/lib/mt-daapd/plugins/out-daap.so
7fa25e674000-7fa25e873000 ---p 0000b000 08:41 3752985 /usr/local/lib/mt-daapd/plugins/out-daap.so
7fa25e873000-7fa25e874000 r--p 0000a000 08:41 3752985 /usr/local/lib/mt-daapd/plugins/out-daap.so
7fa25e874000-7fa25e876000 rw-p 0000b000 08:41 3752985 /usr/local/lib/mt-daapd/plugins/out-daap.so
7fa25e876000-7fa25e878000 r-xp 00000000 08:41 3752989 /usr/local/lib/mt-daapd/plugins/ssc-script.so
7fa25e878000-7fa25ea77000 ---p 00002000 08:41 3752989 /usr/local/lib/mt-daapd/plugins/ssc-script.so
7fa25ea77000-7fa25ea78000 r--p 00001000 08:41 3752989 /usr/local/lib/mt-daapd/plugins/ssc-script.so
7fa25ea78000-7fa25ea79000 rw-p 00002000 08:41 3752989 /usr/local/lib/mt-daapd/plugins/ssc-script.so
7fa25ea79000-7fa25ebc8000 r-xp 00000000 08:41 5619806 /lib64/libc-2.9.so
7fa25ebc8000-7fa25edc8000 ---p 0014f000 08:41 5619806 /lib64/libc-2.9.so
7fa25edc8000-7fa25edcc000 r--p 0014f000 08:41 5619806

/sigh… same output on all the logs… Damn thing crashed again.

But, this is interesting… while it’s been a while since I last got down and dirty writing code, I still remember enough to tell you that that right there looks an awful lot like a trace of exactly what was happening when mt-daapd/Firefly crashed. However, since I didn’t write this code, and since I’m not at all familiar with it, I may be wrong. And since I also know I’mlimited in my knowledge of the subject at hand, I’m going to not even going to try to speak on something I can barely interpret, much less understand…

fizzle, given your helpful nature, you may know enough to shed a bit more light on this output, but I’d also really appreciate Ron weighing in on this matter too… Or, for that matter, anyone else who knows what’s going on here and can provide a suggestion. Bonus points to anyone who’s a code jockey and deals with this kind of stuff for a living.

Anyone have any ideas?