On 31 Jul 2005 Martin Cap <macap20001@xxxxxxxxxxxxx> wrote: > Stefan Huelswitt wrote: >> >> Without loocking at the details, I still cannot understand why >> this code part is reached. >> >> For me there are only 3 ways for this: >> 1.) You have disabled USE_MMAP at the beginning of stream.c >> 2.) The file is bigger than MAX_MMAP_SIZE (currently 32mb) >> 3.) mmap() failed for some reason (should give syslog entry if >> run in debug loglevel) >> > when running the plugin (actually vdr) in debug-mode, I get the > following messages on the console (the plugin-thread again locks the > computer with 99% CPU-usage): > > "mgr: background scan thread started (pid=3868) > mgr: scanning (id3) somemp3-file.mp3 > mad: id3-scan, lost sync 4952594c 45425343 SOME_COMMENTS_TAG > mad: id3-scan, lost sync 00000000 07000000 > mgr: waiting for bgr release ... (pass2=0 nono=(nil) scan=0x8299b30)" > > Maybe this helps a little ?! Actualy, not :( What happens was already known (atleast to me). The plugin gets stuck inside the read() call (see your backtrave earlier). In this case this is the background scan thread. Later on the foreground manager thread (mgr) wait for some reaction of the background thread, which never happens -> deadlock. For me there is still the question, why the plugin reaches the offending code part (read) as this shouldn't happen if mmap() works. Try to find out that (see my points above), e.g. add some debug output to cStream::Open() and Stream(). Regards. -- Stefan Huelswitt s.huelswitt@xxxxxx | http://www.muempf.de/