Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: Segment faults 43



rahrenbe@cc.hut.fi(Rolf Ahrenberg)  04.12.04 00:31

Once upon a time "Rolf Ahrenberg " shaped the electrons to say...

>On Fri, 3 Dec 2004, Klaus Schmidinger wrote:

>>  virtual void Activate(bool On) {}
>>               // to do things like starting/stopping a thread.

>Just a little notice: osdteletext plugins doesn't use this method at
>all, but my latest patch for it does. You (not Klaus :) might want to
>check it out if it cures the crashing - I cannot do that by myself,
>because everything is working nicely on my setup ;)

>vdr-osdteletext-0.4.1-fixed-a-little-bit-more.diff.gz


Bad news:
VDR is still artefacting(pixeling?) and is dying when i switch to the
second DVB-T channel. Then segfaults.

It's the first time I'm aware of a kernel message like:
"3:35 kernel: StopHWFilter error"




msi:~/video/VDR#
msi:~/video/VDR# tail -f /var/log/syslog
2:58 vdr[20277]: assuming manual start of VDR
3:02 vdr[20277]: max. latency time 2 seconds

Time warp????

3:18 vdr[20277]: switching to channel 74
3:18 vdr[20300]: TS buffer on device 1 thread ended (pid=20300, tid=196621)
3:18 vdr[20298]: buffer stats: 4700 (0%) used
3:18 vdr[20298]: receiver on device 1 LNB: 1, numDevices 0 thread ended (pid=20298, tid=180236)
3:18 vdr[20277]: buffer stats: 0 (0%) used
3:18 vdr[20277]: INFO: cReceiver called with 0 -1 4369 4370 0 0
3:21 kernel: setting parameters for 771
3:21 vdr[20343]: transfer thread started (pid=20343, tid=213003)
3:21 vdr[20277]: INFO: cReceiver called with 0 -1 4372 0 0 0
3:21 vdr[20277]: creating directory /vtx/T-8468-2561-128
3:21 vdr[20344]: receiver on device 4 LNB: 4, numDevices 3 thread started (pid=20344, tid=229388)
3:21 vdr[20346]: TS buffer on device 4 thread started (pid=20346, tid=262158)
3:21 vdr[20277]: max. latency time 3 seconds
3:24 vdr[20282]: changing pids of channel 151 from 901+901:902:204 to 701+701:702:204
3:25 vdr[20277]: switching to channel 75
3:25 vdr[20343]: transfer thread ended (pid=20343, tid=213003)
3:25 vdr[20277]: buffer stats: 66740 (3%) used
3:25 vdr[20346]: TS buffer on device 4 thread ended (pid=20346, tid=262158)
3:25 vdr[20344]: buffer stats: 70688 (3%) used
3:25 vdr[20344]: receiver on device 4 LNB: 4, numDevices 3 thread ended (pid=20344, tid=229388)
3:25 vdr[20277]: buffer stats: 0 (0%) used
3:25 vdr[20277]: INFO: cReceiver called with 0 -1 545 546 547 559
3:25 kernel: setting parameters for 771
3:25 vdr[20353]: transfer thread started (pid=20353, tid=278539)
3:25 vdr[20277]: INFO: cReceiver called with 0 -1 551 0 0 0
3:25 vdr[20277]: creating directory /vtx/T-8468-514-514
3:25 vdr[20354]: receiver on device 4 LNB: 4, numDevices 3 thread started (pid=20354, tid=294924)
3:25 vdr[20356]: receiver on device 4 LNB: 4, numDevices 3 thread started (pid=20356, tid=327694)
3:25 vdr[20357]: TS buffer on device 4 thread started (pid=20357, tid=344079)
3:25 vdr[20358]: TS buffer on device 4 thread started (pid=20358, tid=360464)
3:25 kernel: setting parameters for 771
3:25 last message repeated 2 times
3:30 vdr[20357]: buffer usage: 70% (tid=294924)
3:30 vdr[20357]: buffer usage: 80% (tid=294924)
3:30 vdr[20357]: buffer usage: 90% (tid=294924)
3:31 vdr[20354]: ERROR: skipped 177 bytes to sync on TS packet on device 4

/root/video/VDR/runvdr: line 90: 20277 Segmentation fault      su -c "$VDRCMD" $VDRUSR
Sat 3:35 CET 2004
restarting VDR

4minutes to start?

3:35 vdr[20277]: switching to channel 76
3:35 vdr[20353]: transfer thread ended (pid=20353, tid=278539)
3:35 vdr[20277]: cTS2PES got 0 TS errors, 11 TS continuity errors
3:35 vdr[20277]: cTS2PES got 0 TS errors, 12 TS continuity errors
3:35 vdr[20277]: cTS2PES got 0 TS errors, 12 TS continuity errors
3:35 vdr[20277]: cTS2PES got 0 TS errors, 11 TS continuity errors
3:35 vdr[20277]: buffer stats: 77268 (3%) used
3:35 vdr[20358]: TS buffer on device 4 thread ended (pid=20358, tid=360464)
3:35 vdr[20354]: buffer stats: 50760 (2%) used
3:35 vdr[20354]: receiver on device 4 LNB: 4, numDevices 3 thread ended (pid=20354, tid=327694)
3:35 vdr[20277]: buffer stats: 0 (0%) used
3:35 vdr[20277]: INFO: cReceiver called with 0 -1 561 562 0 0
3:35 vdr[20372]: transfer thread started (pid=20372, tid=376843)
3:35 vdr[20277]: INFO: cReceiver called with 0 -1 567 0 0 0
3:35 vdr[20277]: creating directory /vtx/T-8468-514-515
3:35 vdr[20373]: receiver on device 4 LNB: 4, numDevices 3 thread started (pid=20373, tid=393228)
3:35 vdr[20375]: TS buffer on device 4 thread started (pid=20375, tid=426000)
3:35 kernel: StopHWFilter error
3:35 logger[20377]: /root/video/VDR/runvdr restarting VDR
3:35 lircd 0.7.0[20263]: removed client




ll core*
26243072 Dec  4 13:31 core.1806
43806720 Dec  4 13:33 core.20356


first core:


Core was generated by `./vdr -l 3 -w 60 -s /video/pwroff'.
Program terminated with signal 11, Segmentation fault.
#0  0x40165422 in ?? ()
#0  0x40165422 in ?? ()
#1  0x40164e80 in ?? ()
#2  0x40164145 in ?? ()
#3  0x4015b593 in ?? ()
#4  0x401baddc in ?? ()
#5  0x401bad32 in ?? ()
#6  0x0807dfc1 in Save__6cSetup (this=0x817f3c0) at config.c:547
#7  0x080c5c33 in main (argc=7, argv=0xbffffda4) at vdr.c:917
.gdbinit:3: Error in sourced command file:
No function contains program counter for selected frame.


Second core:
Core was generated by `./vdr -P osdteletext -l 3 -w 60 -s /video/pwroff'.
Program terminated with signal 11, Segmentation fault.
#0  0x08081435 in ?? ()
#0  0x08081435 in _._9cTSBuffer (this=0x85ce3b8, __in_chrg=3) at device.c:992
#1  0x08085403 in CloseDvr__10cDvbDevice (this=0x8580fa8) at dvbdevice.c:1144
#2  0x080810a9 in Action__7cDevice (this=0x8580fa8) at device.c:900
#3  0x080bcda5 in StartThread__7cThreadP7cThread (Thread=0x8580fa8) at thread.c:227
#4  0x40044d53 in ?? ()
Dump of assembler code for function _._9cTSBuffer:
0x8081408 <_._9cTSBuffer>:      push   %ebp
0x8081409 <_._9cTSBuffer+1>:    mov    %esp,%ebp
0x808140b <_._9cTSBuffer+3>:    sub    $0x14,%esp
0x808140e <_._9cTSBuffer+6>:    push   %ebx
0x808140f <_._9cTSBuffer+7>:    mov    0x8(%ebp),%ebx
0x8081412 <_._9cTSBuffer+10>:   movl   $0x80f8324,0x28(%ebx)
0x8081419 <_._9cTSBuffer+17>:   movb   $0x0,0x34(%ebx)
0x808141d <_._9cTSBuffer+21>:   add    $0xfffffff8,%esp
0x8081420 <_._9cTSBuffer+24>:   push   $0x3
0x8081422 <_._9cTSBuffer+26>:   push   %ebx
0x8081423 <_._9cTSBuffer+27>:   call   0x80bceac <Cancel__7cThreadi>
0x8081428 <_._9cTSBuffer+32>:   add    $0x10,%esp
0x808142b <_._9cTSBuffer+35>:   mov    0x38(%ebx),%edx
0x808142e <_._9cTSBuffer+38>:   test   %edx,%edx
0x8081430 <_._9cTSBuffer+40>:   je     0x8081443 <_._9cTSBuffer+59>
0x8081432 <_._9cTSBuffer+42>:   add    $0xfffffff8,%esp
0x8081435 <_._9cTSBuffer+45>:   mov    0x78(%edx),%eax   <======GPF
0x8081438 <_._9cTSBuffer+48>:   push   $0x3
0x808143a <_._9cTSBuffer+50>:   push   %edx
0x808143b <_._9cTSBuffer+51>:   mov    0x14(%eax),%eax
0x808143e <_._9cTSBuffer+54>:   call   *%eax
0x8081440 <_._9cTSBuffer+56>:   add    $0x10,%esp


Next try:

~/video/VDR# tail -f /var/log/syslog
3:46:25 vdr[20418]: changing pids of channel 151 from 701+701:702:204 to 901+901:902:204
3:47:09 vdr[20411]: switching to channel 74 (That's DVB-T)
3:47:09 vdr[20435]: TS buffer on device 1 thread ended (pid=20435, tid=196621)
3:47:09 vdr[20434]: buffer stats: 4700 (0%) used
3:47:09 vdr[20434]: receiver on device 1 LNB: 1, numDevices 0 thread ended (pid=20434, tid=180236)
3:47:09 vdr[20411]: buffer stats: 0 (0%) used
3:47:09 vdr[20411]: INFO: cReceiver called with 0 -1 4369 4370 0 0
3:47:10 kernel: setting parameters for 771
3:47:11 vdr[21627]: transfer thread started (pid=21627, tid=213003)
3:47:11 vdr[20411]: INFO: cReceiver called with 0 -1 4372 0 0 0
3:47:11 vdr[20411]: creating directory /vtx/T-8468-2561-128
3:47:11 vdr[21628]: receiver on device 4 LNB: 4, numDevices 3 thread started (pid=21628, tid=229388)
3:47:11 vdr[21630]: receiver on device 4 LNB: 4, numDevices 3 thread started (pid=21630, tid=262158)
3:47:11 vdr[21631]: TS buffer on device 4 thread started (pid=21631, tid=278543)
3:47:11 vdr[21632]: TS buffer on device 4 thread started (pid=21632, tid=294928)
3:47:14 vdr[21631]: buffer usage: 70% (tid=229388)
3:47:15 vdr[21631]: buffer usage: 80% (tid=229388)
3:47:16 vdr[21631]: buffer usage: 90% (tid=229388)
3:47:17 vdr[21628]: ERROR: skipped 24 bytes to sync on TS packet on device 4
3:47:17 vdr[21628]: ERROR: skipped 143 bytes to sync on TS packet on device 4
3:47:17 vdr[21628]: ERROR: skipped 10 bytes to sync on TS packet on device 4
3:47:24 vdr[20423]: changing pids of channel 151 from 901+901:902:204 to 701+701:702:204
3:47:32 vdr[20411]: switching to channel 75
3:47:32 vdr[21627]: transfer thread ended (pid=21627, tid=213003)
3:47:33 vdr[20411]: cTS2PES got 0 TS errors, 13 TS continuity errors
3:47:33 vdr[20411]: cTS2PES got 0 TS errors, 17 TS continuity errors
3:47:33 vdr[20411]: buffer stats: 61100 (2%) used
/root/video/VDR/runvdr: line 90: 20411 Segmentation fault      su -c "$VDRCMD" $VDRUSR
Sat 3:47:33 CET 2004
restarting VDR
3:47:33 vdr[21632]: TS buffer on device 4 thread ended (pid=21632, tid=294928)
3:47:33 vdr[21628]: buffer stats: 65236 (3%) used
3:47:33 vdr[21628]: receiver on device 4 LNB: 4, numDevices 3 thread ended (pid=21628, tid=262158)
3:47:33 logger[21666]: /root/video/VDR/runvdr restarting VDR
3:47:33 lircd 0.7.0[20263]: removed client
make: *** No rule to make target `rmmod'.  Stop.
make: ìnsmod' is up to date.
Sat 3:47:43 CET 2004
3:47:43 vdr[21699]: VDR version 1.3.17 started
3:47:43 vdr[21699]: loading plugin: ./PLUGINS/lib/libvdr-osdteletext.so.1.3.17
3:47:43 vdr[21699]: loading /video/setup.conf


Core was generated by `./vdr -P osdteletext -l 3 -w 60 -s /video/pwroff'.
Program terminated with signal 11, Segmentation fault.
#0  0x08081435 in ?? ()
#0  0x08081435 in _._9cTSBuffer (this=0x85e2b08, __in_chrg=3) at device.c:992
#1  0x08085403 in CloseDvr__10cDvbDevice (this=0x8580fa8) at dvbdevice.c:1144
#2  0x080810a9 in Action__7cDevice (this=0x8580fa8) at device.c:900
#3  0x080bcda5 in StartThread__7cThreadP7cThread (Thread=0x8580fa8) at thread.c:227
#4  0x40044d53 in ?? ()
Dump of assembler code for function _._9cTSBuffer:
0x8081408 <_._9cTSBuffer>:      push   %ebp
0x8081409 <_._9cTSBuffer+1>:    mov    %esp,%ebp
0x808140b <_._9cTSBuffer+3>:    sub    $0x14,%esp
0x808140e <_._9cTSBuffer+6>:    push   %ebx
0x808140f <_._9cTSBuffer+7>:    mov    0x8(%ebp),%ebx
0x8081412 <_._9cTSBuffer+10>:   movl   $0x80f8324,0x28(%ebx)
0x8081419 <_._9cTSBuffer+17>:   movb   $0x0,0x34(%ebx)
0x808141d <_._9cTSBuffer+21>:   add    $0xfffffff8,%esp
0x8081420 <_._9cTSBuffer+24>:   push   $0x3
0x8081422 <_._9cTSBuffer+26>:   push   %ebx
0x8081423 <_._9cTSBuffer+27>:   call   0x80bceac <Cancel__7cThreadi>
0x8081428 <_._9cTSBuffer+32>:   add    $0x10,%esp
0x808142b <_._9cTSBuffer+35>:   mov    0x38(%ebx),%edx
0x808142e <_._9cTSBuffer+38>:   test   %edx,%edx
0x8081430 <_._9cTSBuffer+40>:   je     0x8081443 <_._9cTSBuffer+59>
0x8081432 <_._9cTSBuffer+42>:   add    $0xfffffff8,%esp
0x8081435 <_._9cTSBuffer+45>:   mov    0x78(%edx),%eax  <======GPF
0x8081438 <_._9cTSBuffer+48>:   push   $0x3
0x808143a <_._9cTSBuffer+50>:   push   %edx
0x808143b <_._9cTSBuffer+51>:   mov    0x14(%eax),%eax


It seems to be always an access to the same memory area...




msi:~/video/VDR# ll thread.*
-rw-r--r--    1 500      users       11406 Nov 20 17:21 thread.c
-rw-r--r--    1 500      users        3710 Oct 24 13:00 thread.h





Home | Main Index | Thread Index