[vdr] vdr with nexus-s rev 2.1 crashes with ttxtsubs and osdteletext when zapping

Magnus Andersson maan at svankan2.mine.nu
Mon Jul 4 23:46:38 CEST 2005


>> vdr-1.3.25
>> vdr-1.3.20-sc.diff
>> subtitles-3.7-ttxtsub-0.0.5.diff ( changes remux.c )
>
> Ok, now I have a source file that seems to match. And the
> subtitles-patch does modify some code around the area where the crash
> happens. cTS2PES (backtrace #8) and cRemux (backtrace #9) behave
> differently with this patch.
>
> These are the two code fragments that appear in the backtrace:
>
>>   cTS2PES::~cTS2PES()
>>   {
>>     if (tsErrors || ccErrors)
>>        dsyslog("cTS2PES got %d TS errors, %d TS continuity errors",
>> tsErrors, ccErrors);
>>-->  free(buf);
>>     delete repacker;
>>   }
>
>>   cRemux::~cRemux()
>>   {
>>     for (int t = 0; t < numTracks; t++)
>>         delete ts2pes[t];
>>     delete resultBuffer;
>>-->}

I think you are right "TS continuity errors" it can explain why hardware
encoder is more sensetive than vdr-xine. VDR should be more stable if
there is a short stop in mpeg stream or channel keys. Sometimes when I use
vdr-xine and switch to DVB-T channel FTA or pay channels after 1/10 sek No
signal picture that comes whith vdr-xine show up for a short while and
then it continues. If I do the sam thing with FF it can freeze for a short
while instead of No signal picure and after about 10 sek.... crash or
change channel to 1.


Here is a NEW crash with osdteletext only. I removed the ttxsubs patch but
I had to patch with vdr-1.3.1-softcsa-0.0.8.diff also my family wanted to
watch tv but it does not touch remux.c. :-)

I do not understand why it crashes because the new channel (DVB-T) start
ok but after about 10 sek it crash or change to FTA channel one. As I said
before if I connect DVB-S card locally it works which is strange because
that data is not interesting any more except if I record a DVB-S channel.
If I record a DVB-S it works without problems.


Core was generated by `./vdr -D 0 -D 1 -P sc -P osdteletext'.
Program terminated with signal 6, Aborted.

warning: current_sos: Can't read pathname for load map: Input/output error

Reading symbols from /usr/lib/libjpeg.so.62...done.
Loaded symbols for /usr/lib/libjpeg.so.62
Reading symbols from /lib/libpthread.so.0...done.
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from
/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.5-20050130/libstdc++.so.5...done.
Loaded symbols for
/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.5-20050130/libstdc++.so.5
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from
/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.5-20050130/libgcc_s.so.1...done.
Loaded symbols for
/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.5-20050130/libgcc_s.so.1
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from
/usr/local/src/VDR/PLUGINS/lib/libvdr-sc.so.1.3.25...done.
Loaded symbols for ./PLUGINS/lib/libvdr-sc.so.1.3.25
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libz.so.1...done.
Loaded symbols for /lib/libz.so.1
Reading symbols from /usr/lib/libcrypto.so.0.9.7...done.
Loaded symbols for /usr/lib/libcrypto.so.0.9.7
Reading symbols from
/usr/local/src/VDR/PLUGINS/lib/libvdr-osdteletext.so.1.3.25...done.
Loaded symbols for ./PLUGINS/lib/libvdr-osdteletext.so.1.3.25
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
#0  0xb7d443d1 in kill () from /lib/libc.so.6
(gdb) bt
#0  0xb7d443d1 in kill () from /lib/libc.so.6
#1  0xb7f24091 in pthread_kill () from /lib/libpthread.so.0
#2  0xb7f2446b in raise () from /lib/libpthread.so.0
#3  0xb7d44164 in raise () from /lib/libc.so.6
#4  0xb7d4563d in abort () from /lib/libc.so.6
#5  0xb7eeed67 in __cxa_call_unexpected ()
   from /usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.5-20050130/libstdc++.so.5
#6  0xb7eeeda4 in std::terminate ()
   from /usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.5-20050130/libstdc++.so.5
#7  0xb7eef2c8 in __cxa_pure_virtual ()
   from /usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.5-20050130/libstdc++.so.5
#8  0x080cfa07 in cRingBuffer::EnableGet (this=0x855c070) at ringbuffer.c:77
#9  0xb7b8a701 in cRingTxtFrames::Signal ()
   from ./PLUGINS/lib/libvdr-osdteletext.so.1.3.25
#10 0xb7b89de3 in cTxtReceiver::~cTxtReceiver ()
   from ./PLUGINS/lib/libvdr-osdteletext.so.1.3.25
#11 0xb7b89820 in cTxtStatus::CheckDeleteReceiver ()
   from ./PLUGINS/lib/libvdr-osdteletext.so.1.3.25
#12 0xb7b894c8 in cTxtStatus::ChannelSwitch ()
   from ./PLUGINS/lib/libvdr-osdteletext.so.1.3.25
#13 0x080e0763 in cStatus::MsgChannelSwitch (Device=0x8524338,
ChannelNumber=0)
    at status.c:29
#14 0x0808fc49 in cDevice::SetChannel (this=0x8524338, Channel=0x81caec8,
---Type <return> to continue, or q <return> to quit---
    LiveView=true) at device.c:576
#15 0x0808f95b in cDevice::SwitchChannel (this=0x8524338, Channel=0x81caec8,
    LiveView=true) at device.c:516
#16 0xb7cfbeb3 in cCam::Process (this=0x85313a0, filter=0x85315e0,
    data=0x2 <Address 0x2 out of bounds>, len=78) at cam.c:439
#17 0xb7cf9d9f in cAction::Action (this=0x85313a0) at filter.c:285
#18 0x080e5f46 in cThread::StartThread (Thread=0x85313a0) at thread.c:233
#19 0xb7f2116b in pthread_start_thread () from /lib/libpthread.so.0
#20 0xb7dd0a6a in clone () from /lib/libc.so.6



>
>
> Try running without the subtitles-patch and check whether this has an
> influence or not.
>

See above!

Here is /var/log/messages

Jul  4 21:17:06 vdr vdr[9202]: switching to channel 18
Jul  4 21:17:06 vdr vdr[9867]: TS buffer on device 1 thread ended
(pid=9867, tid
=1851404)
Jul  4 21:17:06 vdr vdr[9866]: buffer stats: 2256 (0%) used
Jul  4 21:17:06 vdr vdr[9866]: receiver on device 1 thread ended
(pid=9866, tid=
1835019)
Jul  4 21:17:06 vdr vdr[9202]: buffer stats: 0 (0%) used
Jul  4 21:17:07 vdr vdr[9872]: transfer thread started (pid=9872,
tid=1933324)
Jul  4 21:17:07 vdr vdr[9873]: receiver on device 2 thread started
(pid=9873, ti
d=1949709)
Jul  4 21:17:07 vdr vdr[9875]: TS buffer on device 2 thread started
(pid=9875, t
id=1982480)
Jul  4 21:17:08 vdr vdr[9872]: setting audio track to 1
Jul  4 21:17:22 vdr vdr[9766]: switching to channel 1
Jul  4 21:17:22 vdr vdr[9872]: transfer thread ended (pid=9872, tid=1933324)
Jul  4 21:17:22 vdr vdr[9766]: buffer stats: 40984 (1%) used
Jul  4 21:17:22 vdr vdr[9875]: TS buffer on device 2 thread ended
(pid=9875, tid
=1982480)
Jul  4 21:17:22 vdr vdr[9873]: buffer stats: 37600 (1%) used
Jul  4 21:17:22 vdr vdr[9873]: receiver on device 2 thread ended
(pid=9873, tid=
1949709)
Jul  4 21:17:22 vdr vdr[9202]: switching to channel 18
Jul  4 21:17:22 vdr vdr[9202]: buffer stats: 0 (0%) used
Jul  4 21:17:22 vdr 0.7.0[7792]: removed client
Jul  4 21:20:01 vdr cron[9885]: (root) CMD (test -x /usr/sbin/run-crons &&
/usr/
sbin/run-crons )

Thanks again!

/Magnus

> Cheers,
>
> Udo
>
>
> _______________________________________________
> vdr mailing list
> vdr at linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>





More information about the vdr mailing list