Hi > Until 2 days ago, tuning to 'FRANCE 3' (french channed available on > hot-bird) worked perfectly. > > But now, vdr core dumps any time I try to tune to 'FRANCE 3'. I've > tried with vdr 1.3.42 (vanilla), 1.3.39 (debian) or 1.3.42 (Darren > Salt's) > > Here's the stacktrace done with vanilla 1.4.42: > > > (gdb) bt > #0 0xffffe410 in __kernel_vsyscall () > #1 0xb7d556d1 in raise () from /lib/tls/i686/cmov/libc.so.6 > #2 0xb7d56f9b in abort () from /lib/tls/i686/cmov/libc.so.6 > #3 0xb7f48e51 in __gnu_cxx::__verbose_terminate_handler () > from /usr/lib/libstdc++.so.6 > #4 0xb7f46765 in __gxx_personality_v0 () from /usr/lib/libstdc++.so.6 > #5 0xb7f467a2 in std::terminate () from /usr/lib/libstdc++.so.6 > #6 0xb7f4690a in __cxa_throw () from /usr/lib/libstdc++.so.6 > #7 0xb7f46d51 in operator new () from /usr/lib/libstdc++.so.6 > #8 0xb7f46e1d in operator new[] () from /usr/lib/libstdc++.so.6 > #9 0x0810f283 in SI::CharArray::DataOwnData::assign (this=0x83f2910, d=0x0, > s=4294967295) at util.c:123 > #10 0x0810f7cc in SI::CharArray::assign (this=0x83f29b8, > data=0x6 <Address 0x6 out of bounds>, size=6, doCopy=true) at util.c:61 > #11 0x081162b3 in SI::CaDescriptor::Parse (this=0x83f29b8) at descriptor.c:332 > #12 0x0810f52d in SI::Parsable::CheckParse (this=0x6) at util.c:181 > #13 0x0811104a in SI::DescriptorLoop::createDescriptor (this=0xb7b662b0, > i=@0xb7b66354, returnUnimplemetedDescriptor=true) at si.c:162 > #14 0x081112af in SI::DescriptorLoop::getNext (this=0xb7b662b0, it=@0xb7b66354) > at si.c:110 > #15 0x080d2d82 in cPatFilter::Process (this=0x83be480, Pid=100, Tid=2 '\002', > Data=0xb7b66414 "\002?\202\004M?", Length=133) at pat.c:380 > #16 0x080e67fe in cSectionHandler::Action (this=0x83ac438) at sections.c:212 > #17 0x08100200 in cThread::StartThread (Thread=0x83ac438) at thread.c:243 > #18 0xb7f80e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 > #19 0xb7dfd8ce in clone () from /lib/tls/i686/cmov/libc.so.6 > > > line #12 is suspect with this=0x6 > Line #15 is also interesting. > > Can someone help in debuggin this ? > > I think you'll get the core when you tune to 'FRANCE 3' even without a > subcription: > > FRANCE 3:10834:vC34:S13.0E:27500:520:530:0:1:1105:176:11600:0 > > You can try this quick and dirty change: --- ../../vdr-1.3.42/libsi/util.c 2005-05-28 16:15:29.000000000 +0200 +++ util.c 2006-02-16 19:30:10.000000000 +0100 @@ -120,6 +120,9 @@ void CharArray::DataOwnData::assign(const unsigned char*d, unsigned int s) { Delete(); size=s; + if (size > 10000) { + size=10000; + } unsigned char *newdata=new unsigned char[size]; memcpy(newdata, d, size); data=newdata; --- Helmut