Mailing List archive

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

[linux-dvb] Kernel Oops while in interrupt





Problem:
When i record with the second card,
the record is unusable.
I get a lot of garbage in the buffer, causing vdr to
complain "ERROR: can't record MPEG1!"
There are artefacts (if the image changes, those
changes are not update on the lower half of screen) and 
sound drops resp. audio/video asyncs.

When i record of the first card, the artefacts are very 
rare (once in 10 Minutes maybe..sometimes only audio ran out of sync.) 

When i use a slower board (i810,celeron 700, FSB66MHz)
the quality of the second card is Ok too,
so i assume that antanna and card is OK.
(Swapped antenna wires etc. too)

A better quality i get too too, when i place
a software delay in vdr remux...slowing down the CPU.

I looks very much like a buffer management problem,
maybe caused by a non-working locking mechanism?



To increase the problem:
When i record on both cards or record on the second
and replay on the the first card i ofte get a kernel "uups"

Because the is in the interrupt routine, it is not
written to syslog etc. so i can only retype it (the machine
has only one serial port, which is occupied by lirc-RC)

----

  Unable to handle kernel paging request at virutal address d949e000
printing eip:
d92287d3
*pde 16563067
*pte 00000000
oops: 0002
Cpu: 0
EIP: 0010:[{d92287d3}]
EFLAGS: 000101221
eax: ffffffc5 ebx: d938806c ecx:3ffbe8ad edx:00000232
esi: d8ebf0e3 edi: d948dfff ebp: fffffc5 esp:d6881f04

process vdr ....


....Stack dump (see .jpg)

call trace: 
d9244afc d922cdf5 d9244d90 d9244afc d891b0c0 d92336d70 d8910c0 
d9236d70 d891b0c0 d9244afc d891b0c0 d89191dd d891b0c0
d9244afc c0107d7d d891b0c0 c0107eae c0109d48

Code:
f3 a5 a8 02 74 02 66 a5 a8 01 74 01 a4 01 ab 5c 10 00 00 8b

(0) Kernel pamic: Aieee, killing interrupt handler.
In interrupt handler - not syncing.
-----

(There may be a mixup between "0" and "8" because the 
font is very very bad and i have only a (little tilt) jpg.)


That code seems to be some kind of "memcpy" (copy_to_user?)
and always the same.


This oops is coming mostly from inside "swapper",
this time from "vdr". (That's clear because that error
occurs while in interrupt, and swapper resp. vdr are very active
so it is likely that the Interrrupt Ooops occurs while those 
procssess are active.) 

The problem is in dvb-driver range, not in vdr 
as these addresses proofs:



Some values from ksyms:

d9228000  __insmod_dvb_demux_Odvb_demux.o_M3BB3A31B_V132106  [dvb_demux]
d9228060  __insmod_dvb_demux_S.text_L8979   [dvb_demux]
d9228060  dmx_register_demux                [dvb_demux]
d92280f4  dmx_unregister_demux              [dvb_demux]
d9228164  dmx_get_demuxes                   [dvb_demux]
d922817c  dvb_crc32                         [dvb_demux]
d92281b4  dvb_set_crc32                     [dvb_demux]
d922825c  DvbDmxSWFilterPackets             [dvb_demux]
d92287d3  ->>> Ooooops
d9229bf0  DvbDmxInit                        [dvb_demux]
d9229e10  DvbDmxRelease                     [dvb_demux]
d9229e48  DvbDmxSWFilterPacket              [dvb_demux]
d922a3a0  __insmod_dvb_demux_S.data_L1056   [dvb_demux]
d922a3a0  dmx_muxs                          [dvb_demux]

d922c000  __insmod_dvb_Odvb.o_M3BB3AC74_V132106  [dvb]
d922c060  __insmod_dvb_S.text_L45159        [dvb]
d922ccf0  IR_handle                         [dvb]
d922cd04  CI_handle                         [dvb]
d922db20  SendCICommand                     [dvb]


d922425c  set_up_grabbing                   [saa7146_v4l]
d92242e8  saa7146_std_grab_irq_callback_rps0  [saa7146_v4l]
d9224404  calculate_clipping_registers_mask  [saa7146_v4l]
d92244cc  set_pixel                         [saa7146_v4l]
d9224518  set_box                           [saa7146_v4l]

c0107d78  disable_irq
c0107dcc  enable_irq
c0107ef0  request_irq
c0107f94  free_irq
c010800c  probe_irq_on
c01080f8  probe_irq_mask
c010815c  probe_irq_off
c0108414  disable_irq_mhonarcnc
c010af30  do_gettimeofday





PIII 1000
MSI-6351 (AKA: MS-6215 NetPc)Intel i815 Chipset FSB133
376MB RAM in 2 Modules
0.96 vdr
dvb-20010927
Kernel 2.4.10 on debian 2.2
DVB-s 2.1
DVB-s nova
lirc_serial lirc-0.6.4pre3

I always had artefacts in recording (live viewing there are
not one of them) and the sound became async very often.
These bad bad recordings began approx. at the 11. September.
That correlates with update to kernel 2.4.9,
but it has no sense down grading, because with the 2.4.8
there were artefacts too.


Any hints?


Sep 29 15:15:47 msi kernel: i2c-core.o: I2C adapter 40004: I2C level transfers not supported
Sep 29 15:15:47 msi kernel: i2c-core.o: I2C adapter 50000: I2C level transfers not supported
Sep 29 15:15:47 msi kernel: i2c-core.o: driver i2c TV tuner driver registered.
Sep 29 15:15:47 msi kernel: saa7146_core.o: saa7146(1): bus:1, rev:1, mem:0xd891d000.
Sep 29 15:15:48 msi kernel: L64781: probably an EEPROM @ 0x55, skipping ...
Sep 29 15:15:48 msi kernel: i2c-core.o: client [stv0299] registered to adapter [saa7146(1)](pos. 0).
Sep 29 15:15:48 msi kernel: tuner: chip found @ 0x6
Sep 29 15:15:48 msi kernel: i2c-core.o: client [i2c tv tuner chip] registered to adapter [saa7146(1)](pos. 1).
Sep 29 15:15:48 msi kernel: i2c-core.o: adapter saa7146(1) registered as adapter 4.
Sep 29 15:15:48 msi kernel: saa7146_core.o: saa7146(2): bus:1, rev:1, mem:0xd8da0000.
Sep 29 15:15:48 msi kernel: saa7146_core.o: saa7146(2): bus:1, rev:1,
mem:0xd8da0000.
Sep 29 15:15:49 msi kernel: L64781: probably an EEPROM @ 0x55, skipping ...
Sep 29 15:15:49 msi kernel: i2c-core.o: client [stv0299] registered toadapter [saa7146(2)](pos. 0).
Sep 29 15:15:49 msi kernel: tuner: chip found @ 0x61
Sep 29 15:15:49 msi kernel: i2c-core.o: client [i2c tv tuner chip] registeredto adapter [saa7146(2)](pos. 1).
Sep 29 15:15:49 msi kernel: i2c-core.o: adapter saa7146(2) registered as adapter 5.
Sep 29 15:15:51 msi kernel: dvb0: AV7111 - firm f0240009, rtsl b0250018, vid 71010068, app 00010002
Sep 29 15:15:51 msi kernel: devfs: devfs_register(): device already registered: "video0"
<3>dvb: 2 dvb(s) found!

Sep 29 15:15:53 msi PAM_unix[489]: (su) session opened for user root by (uid=0)
Sep 29 15:15:54 msi vdr[489]: ERROR (dvbapi.c,3167): Bad file descriptor
Sep 29 15:15:54 msi lircd-0.6.4pre3[362]: accepted new client on /dev/lircd
Sep 29 13:16:24 msi vdr[489]: ERROR: time warp detected (-7197 seconds)
Sep 29 13:16:30 msi kernel: lirc_serial: AIEEEE: your clock just jumped backwards
Sep 29 13:16:30 msi kernel: lirc_serial0 1 3bb5ad8e 3bb5c9a4 49226 5deee
Sep 29 13:27:25 msi vdr[497]: ERROR: unknown picture type '4'
Sep 29 13:27:33 msi vdr[497]: ERROR: can't record MPEG1!
Sep 29 13:27:54 msi vdr[497]: ERROR: can't record MPEG1!
Sep 29 13:28:56 msi vdr[497]: ERROR: can't record MPEG1!

Sep 29 13:31:11 msi vdr[497]: ERROR: can't record MPEG1!
Sep 29 13:33:19 msi vdr[497]: ERROR: can't record MPEG1!
Sep 29 13:33:47 msi vdr[497]: ERROR: unknown picture type '4'
Sep 29 13:34:03 msi vdr[497]: ERROR: can't record MPEG1!



-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.


Home | Main Index | Thread Index