On Sunday 09 April 2006 15:57, Udo Richter wrote: > J?rg Wendel wrote: > > I have a little problem when replaying recordings. Sometimes (seldom) vdr > > crashes during replay. > > When i check the backtrace its always the same, the mi pointer > > cMarks::Get is wrong. > > > > The backtrace: > > > > #0 Get__6cMarksi (this=0x8621f10, Position=8780) at recording.c:1429 > > 1429 if (mi->position == Position) > > (gdb) bt > > #0 Get__6cMarksi (this=0x8621f10, Position=8780) at recording.c:1429 > > #1 0x080a3546 in Action__10cDvbPlayer (this=0x87a77b8) at > > dvbplayer.c:692 #2 0x080ff884 in StartThread__7cThreadP7cThread > > (Thread=0x87a77c4) at thread.c:244 > > #3 0xb7ee30ba in pthread_start_thread () from /lib/libpthread.so.0 > > If I read the backtrace correctly, then cMarks::Get() is called from > cDvbPlayer::Action(). Since plain vanilla VDR doesn't call cMarks::Get() > from cDvbPlayer::Action(), this crash is most probably caused by a patch. > Cheers, > Udo thanks for the hint, now i've looked in the sources, it seems to be triggered by the cMarks::Get() call of the JumpPlay Patch. But why the mi pointer can go corrupt when Get itterate through the marks? May be a problem with parallel access from different threads? Greetings J?rg