Reply To: svn 1586 crashed when scan

#12158
yllu
Participant

I use some other files including media and non-media file to run mt-daapd, and changed rescan-interval to 20 seconds.
Here is the end of mt-daapd.log file in one of my test.

2007-08-24 03:43:07 (40018260): Found /_store/#u#aBD#j/X5#d#fN/#oIYO#d/#aT#gB0/J#fPG#l
2007-08-24 03:43:07 (40018260): Found J#fPG#l.. recursing
2007-08-24 03:43:07 (40018260): Found /_store/#u#aBD#j/X5#d#fN/#oIYO#d/#aT#gB0/J#fPG#l/#v#c
2007-08-24 03:43:07 (40018260): Found /_store/#u#aBD#j/X5#d#fN/#oIYO#d/#aT#gB0/J#fPG#l/#v#c.refcount.1
2007-08-24 03:43:07 (40018260): Processing rendezvous message
2007-08-24 03:43:07 (40018260): Rendezvous socket closed (daap server crashed?) Aborting.
2007-08-24 03:43:07: Aborting

I also use strace to get some log at the same time.

03:43:07 lstat64("/_store", {st_mode=S_IFDIR|0777, st_size=562949953421312, ...}) = 0
03:43:07 lstat64("/_store/#u#aBD#j", {st_mode=S_IFDIR|0777, st_size=562949953421312, ...}) = 0
03:43:07 lstat64("/_store/#u#aBD#j/X5#d#fN", {st_mode=S_IFDIR|0777, st_size=562949953421312, ...}) = 0
03:43:07 lstat64("/_store/#u#aBD#j/X5#d#fN/#oIYO#d", {st_mode=S_IFDIR|0777, st_size=562949953421312, ...}) = 0
03:43:07 lstat64("/_store/#u#aBD#j/X5#d#fN/#oIYO#d/#aT#gB0", {st_mode=S_IFDIR|0777, st_size=562949953421312, ...}) = 0
03:43:07 lstat64("/_store/#u#aBD#j/X5#d#fN/#oIYO#d/#aT#gB0/J#fPG#l", {st_mode=S_IFDIR|0777, st_size=562949953421312, ...}) = 0
03:43:07 lstat64("/_store/#u#aBD#j/X5#d#fN/#oIYO#d/#aT#gB0/J#fPG#l/#v#c.refcount.1", {st_mode=S_IFREG|0777, st_size=562949953421312, ...}) = 0
03:43:07 time(NULL) = 1187898187
03:43:07 write(3, "2007-08-24 03:43:07 (40018260): "..., 150) = 150
03:43:07 write(2, "Found /_store/#u#aBD#j/X5#d#fN/#"..., 118) = 118
03:43:07 stat64("/_store/#u#aBD#j/X5#d#fN/#oIYO#d/#aT#gB0/J#fPG#l/#v#c.refcount.1", {st_mode=S_IFREG|0777, st_size=562949953421312, ...}) = 0
03:43:07 lstat64("/_store", {st_mode=S_IFDIR|0777, st_size=562949953421312, ...}) = 0
03:43:07 lstat64("/_store/#u#aBD#j", {st_mode=S_IFDIR|0777, st_size=562949953421312, ...}) = 0
03:43:07 lstat64("/_store/#u#aBD#j/X5#d#fN", {st_mode=S_IFDIR|0777, st_size=562949953421312, ...}) = 0
03:43:07 lstat64("/_store/#u#aBD#j/X5#d#fN/#oIYO#d", {st_mode=S_IFDIR|0777, st_size=562949953421312, ...}) = 0
03:43:07 lstat64("/_store/#u#aBD#j/X5#d#fN/#oIYO#d/#aT#gB0", {st_mode=S_IFDIR|0777, st_size=562949953421312, ...}) = 0
03:43:07 lstat64("/_store/#u#aBD#j/X5#d#fN/#oIYO#d/#aT#gB0/J#fPG#l", {st_mode=S_IFDIR|0777, st_size=562949953421312, ...}) = 0
03:43:07 lstat64("/_store/#u#aBD#j/X5#d#fN/#oIYO#d/#aT#gB0/J#fPG#l/#v#c.refcount.1", {st_mode=S_IFREG|0777, st_size=562949953421312, ...}) = 0
03:43:07 stat64("/_store/#u#aBD#j/X5#d#fN/#oIYO#d/#aT#gB0/J#fPG#l/#v#c.refcount.1", {st_mode=S_IFREG|0777, st_size=562949953421312, ...}) = 0
03:43:07 getdents64(0x15, 0x40b3e028, 0x20000, 0xffffffff) = 0
03:43:07 munmap(0x40b3e000, 135168) = 0
03:43:07 close(21) = 0
03:43:07 getdents64(0x14, 0x40b1d028, 0x20000, 0xffffffff) = 0
03:43:07 munmap(0x40b1d000, 135168) = 0
03:43:07 close(20) = 0
03:43:07 getdents64(0x13, 0x40afc028, 0x20000, 0xffffffff) = 0
03:43:07 --- SIGSEGV (Segmentation fault) @ 0 (0) ---

mt-daapd end up with segmentation fault.

Besides, I found that mt-daapd not always stopped after scanning a specific file.
However, the end of the log is always the same – “Processing rendezvous message. Rendezvous socket closed (daap server crashed?) Aborting.”
And the end of strace log is always the same too.
It seems like program’s bug, not due to non-supported file.