[mythtv] Backend segfaulting repeatedly during recording DVB
Tj
htpc at treblid.dyndns.org
Wed Feb 23 01:50:21 UTC 2005
:) I also have the same problems. Trouble is it's rater hard to debug
and watch TV at the same time, and this crash does not happen often for me.
Ed Wildgoose wrote:
>
>
> Whilst we are talking valgrind. I am assuming the following are
> harmless? Can anyone translate why they come up at all?
>
> ==20552== Thread 10:
> ==20552== Conditional jump or move depends on uninitialised value(s)
> ==20552== at 0x1CFBD40F: __udivdi3 (in
> /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/libgcc_s.so.1)
> ==20552== by 0x805C9ED: EncoderLink::cacheFreeSpace()
> (encoderlink.cpp:183)
> ==20552== by 0x808EE7C: Scheduler::FillEncoderFreeSpaceCache()
> (scheduler.cpp:229)
> ==20552== by 0x8092B9D: Scheduler::RunScheduler() (scheduler.cpp:883)
> ==20552==
>
If I'm not wrong, it means you are using the variable straight away
without initialising it. When I debug my mythbackend crash, it would
sometimes show this line. I think that part looks legit, since that
struct variable doesn't have any pointers inside that's invalid. but
somehow my mythbackend will sometimes crash here.
>
> ==20552==
> ==20552== Thread 20:
> ==20552== Syscall param ioctl(generic) contains uninitialised or
> unaddressable byte(s)
> ==20552== at 0x1D06EA09: ioctl (in /lib/libc-2.3.4.so)
> ==20552== by 0x1BD8D44E: DVBRecorder::SetDemuxFilters()
> (dvbrecorder.cpp:346)
> ==20552== by 0x1BD8EDA5: DVBRecorder::StartRecording()
> (dvbrecorder.cpp:532)
> ==20552== by 0x1BD36DA1: SpawnEncode(void*) (tv_rec.cpp:48)
> ==20552== Address 0x1EF63C61 is on thread 20's stack
>
This is the part with the QValueList iterator right? Does that block
look ok? It looks legit to me (though I am not 100% sure as I dun use QT
containers)... Again my mythbackend crashes here sometimes.
I changed Iterator to const_iterator and ATM still waiting for my
mythbackend to crash and see if it makes any difference (dun think
const_iterator will do anything though)..
While ur at it, look for the DVBRecorder destructor and change the
delete to delete[]. This may be the cause of the crash but I'm not sure
yet as I am still waiting for mythbackend to crash (it needs at least
30hrs to crash). (I posted a patch with a topic of "delete vs delete[]
in dvbrecorder").
Sad that I forgot what's heap, what's stack, etc, or whether any of this
is applicable.
Try these three changes and see if your still having problems. Please
post any gdb/valgrind logs when it crashes on you again. thanks.
Regards.
More information about the mythtv-dev
mailing list