Hi,

You can write down the stack trace adresses manually on a piece of paper and then look up the adresses after the next reboot and driver load in the kernel symbol table:

$ cat /proc/ksyms | sort | less

Unfortunately I couldn't do that as ksyms only includes the exported module symbols so I would have had to export all "private" dvb functions too. But I found another way to get the kernel oops message and to ksymoops it.


First two things I noticed:
° When I setup the network device and run tcpdump -ni dvb0_0 only, allone, nothing happens. I can dump as many packets as I want without any problems.
° The actual kernel hang only happens when I try to run the T-DSL Satellit proxy application (http://ipviasky.de/tsky/down/downtslinux.html) after having tcpdump'ed packets. After approx. half a minute I get that fatal oops. Seems that the driver has both problems with promisc mode and multiple network connections/filters..


Here's the oops:

Unable to handle kernel paging request at virtual address ccb37000
cca13113
*pde = 0bf3b067
Oops: 0002
CPU: 0
EIP: 0010:[<cca13113>] Tainted: P
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010216
eax: ffffffb8 ebx: 00000104 ecx: 3ffbdff3 edx: c91a4018
esi: c606c77d edi: ccb37000 ebp: ffffffb8 esp: cbf7fd4c
ds: 0018 es: 0018 ss: 0018
Process kupdated (pid: 7, stackpage=cbf7f000)
Stack: cca2f000 cca2f026 cca134b7 cca2f000 cca2f014 c5f64791 ffffffb8 cca2f000
cca30074 c5f6468d db5b00fb 00000104 c91a4018 cca13761 cca2f000 c5f6468d
c5f64000 0000068d c91a412c 00002000 c91a4124 cca138df c91a4018 c5f6468d
Call Trace: [<cca134b7>] [<cca13761>] [<cca138df>] [<cca22abc>] [<cca22095>]
[<cca22abc>] [<c011c5d0>] [<c011c413>] [<c011c23f>] [<c01088bb>] [<c01052a0>]
[<c01052a0>] [<c010adf8>] [<c01052a0>] [<c01052a0>] [<c01052cc>] [<c0105332>]
[<c0105000>] [<c010504f>]
Code: f3 a5 a8 02 74 02 66 a5 a8 01 74 01 a4 5e 5f c3 90 83 ec 04



>>EIP; cca13113 <[dvb-core]dvb_dmx_memcopy+13/24> <=====


>>edx; c91a4018 <_end+8e32794/c4dc7dc>
>>esi; c606c77d <_end+5cfaef9/c4dc7dc>
>>esp; cbf7fd4c <_end+bc0e4c8/c4dc7dc>

Trace; cca134b7 <[dvb-core]dvb_dmx_swfilter_section_packet+31f/49c>
Trace; cca13761 <[dvb-core]dvb_dmx_swfilter_packet+12d/184>
Trace; cca138df <[dvb-core]dvb_dmx_swfilter+df/11c>
Trace; cca22abc <[dvb-bt8xx]dvb_bt8xx_tasklet+0/13>
Trace; cca22095 <[dvb-bt8xx]dvb_bt8xx_task+35/58>
Trace; cca22abc <[dvb-bt8xx]dvb_bt8xx_tasklet+0/13>
Trace; c011c5d0 <bh_action+4c/88>
Trace; c011c413 <tasklet_action+67/a0>
Trace; c011c23f <do_softirq+6f/cc>
Trace; c01088bb <do_IRQ+db/ec>
Trace; c01052a0 <default_idle+0/34>
Trace; c01052a0 <default_idle+0/34>
Trace; c010adf8 <call_do_IRQ+5/d>
Trace; c01052a0 <default_idle+0/34>
Trace; c01052a0 <default_idle+0/34>
Trace; c01052cc <default_idle+2c/34>
Trace; c0105332 <cpu_idle+3e/54>
Trace; c0105000 <_stext+0/0>
Trace; c010504f <rest_init+4f/50>

Code;  cca13113 <[dvb-core]dvb_dmx_memcopy+13/24>
00000000 <_EIP>:
Code;  cca13113 <[dvb-core]dvb_dmx_memcopy+13/24>   <=====
   0:   f3 a5                     repz movsl %ds:(%esi),%es:(%edi)   <=====
Code;  cca13115 <[dvb-core]dvb_dmx_memcopy+15/24>
   2:   a8 02                     test   $0x2,%al
Code;  cca13117 <[dvb-core]dvb_dmx_memcopy+17/24>
   4:   74 02                     je     8 <_EIP+0x8>
Code;  cca13119 <[dvb-core]dvb_dmx_memcopy+19/24>
   6:   66 a5                     movsw  %ds:(%esi),%es:(%edi)
Code;  cca1311b <[dvb-core]dvb_dmx_memcopy+1b/24>
   8:   a8 01                     test   $0x1,%al
Code;  cca1311d <[dvb-core]dvb_dmx_memcopy+1d/24>
   a:   74 01                     je     d <_EIP+0xd>
Code;  cca1311f <[dvb-core]dvb_dmx_memcopy+1f/24>
   c:   a4                        movsb  %ds:(%esi),%es:(%edi)
Code;  cca13120 <[dvb-core]dvb_dmx_memcopy+20/24>
   d:   5e                        pop    %esi
Code;  cca13121 <[dvb-core]dvb_dmx_memcopy+21/24>
   e:   5f                        pop    %edi
Code;  cca13122 <[dvb-core]dvb_dmx_memcopy+22/24>
   f:   c3                        ret
Code;  cca13123 <[dvb-core]dvb_dmx_memcopy+23/24>
  10:   90                        nop
Code;  cca13124 <[dvb-core]dvb_dmx_swfilter_sectionfilter+0/74>
  11:   83 ec 04                  sub    $0x4,%esp

<0>Kernel panic: Aiee: killing interrupt handler!

1 warning issued. Results may not be reliable.


I hope you've got an idea what's going wrong.. Thanks for your help, -André.

--
http://www.steinsoft.net
        cout << "Happy Coding!" << endl;



--
Info:
To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as 
subject.



Reply via email to