Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] segmentation fault in select() from cFile::FileReady()



Hi,
in either vdr 0.96 and 0.97 if had nummerous crashes. Backtrace
with gdb indicates that the crash happens inside select():

(gdb) bt
#0  0x401dc95e in __select () from /lib/libc.so.6
#1  0xbdffba34 in ?? ()
#2  0x804f91f in Input__13cRecordBuffer (this=0x40700c20) at dvbapi.c:564
#3  0x808488b in Action__22cRingBufferInputThread (this=0x4075e150)
    at ringbuffer.c:22
#4  0x806de3e in StartThread__7cThreadP7cThread (Thread=0x4075e150)
    at thread.c:118
#5  0x4008bca3 in pthread_start_thread () from /lib/libpthread.so.0
(gdb) list dvbapi.c:564
559           if (time(NULL) - t > MAXBROKENTIMEOUT) {
560              esyslog(LOG_ERR, "ERROR: video data stream broken");
561              cThread::EmergencyExit(true);
562              t = time(NULL);
563              }
564           cFile::FileReady(videoDev, 100);
565           if (!recording)
566              break;
567           }
568     

Stack frame #1 should have been a reference to FileReady() but
appearently something has trashed the stack. Right?

I had the same crash inside select() from the LIRC thread calling
cFile::FileReady(), too.

Can't see a reason for this. Or is cFile::FileReady() not thread
save?

-- 
Stefan Huelswitt
huels@iname.com  | http://home.pages.de/~nathan



Home | Main Index | Thread Index