[vdr] MP3-plugin problems with slow cpu

Stefan Huelswitt s.huelswitt at gmx.de
Sun Jul 31 17:09:49 CEST 2005


On 31 Jul 2005 Martin Cap <macap20001 at compuserve.de> 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 at gmx.de  | http://www.muempf.de/



More information about the vdr mailing list