:) 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.

_______________________________________________
mythtv-dev mailing list
[email protected]
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

Reply via email to