Martin Cap wrote:
Stefan Huelswitt wrote:
But normaly the plugin uses mmap() to read the file (if you haven't disabled this by intent), so that the code part you mentioned isn't used at all.
Hu ! I haven't changed anything the first time I compiled and ran the plugin and it did not work then. How could this happen ? I will have to check this first. Thanks for your help so far and I'll get back to this later this evening.
Hu, Hu ! I reinstalled the plugin from sources and still don't have no such luck. I played with the code as I said in my initial mail, which made the backtrace wrong, here's the correct one. Sorry for the extra confusion !
#0 0xb7f446a1 in __read_nocancel () from /lib/tls/libpthread.so.0 #1 0xb7692e32 in cStream::Stream (this=0x92bab70, data=@0xb1385618, len=@0xb138561c, rest=0x7ff9 <Address 0x7ff9 out of bounds>) at stream.c:256 #2 0xb7699b66 in cScanID3::DoScan (this=0x92bac18) at decoder-mp3.c:38 #3 0xb76989ee in cMP3Decoder::Start (this=0x92baad0) at decoder-mp3.c:155 #4 0xb769165d in cMP3Player::Action (this=0x92829a0) at player-mp3.c:1798 #5 0x080ef2a2 in cThread::StartThread () #6 0xb7f3fb63 in start_thread () from /lib/tls/libpthread.so.0 #7 0xb7df418a in clone () from /lib/tls/libc.so.6
So the dead-lock happens at line 256. Strange, obviously. (I can output what r + errno give me when returning from read() and post it here.)