On Sat, 11 Sep 2004 10:19 pm, Francois Romieu wrote:
> ...
> R12 is confusing me.
>
> Can you do two more subsequent tests with the patch attached ?
> They apply against vanilla 2.6.9-rc1-bk{11/17}.
Sure. This is from r8169-dbg-a.patch:
----------- [cut here ] --------- [please bite here ] ---------
Kernel BUG at r8169:1701
invalid operand: 0000 [1]
CPU 0
Modules linked in: snd_pcm_oss snd_mixer_oss snd_via82xx snd_ac97_codec
snd_pcm snd_timer snd_page_alloc snd_mpu401_uart sx
Pid: 0, comm: swapper Not tainted 2.6.9-rc1-bk17-r8169-a
RIP: 0010:[<ffffffffa00e9f24>]
<ffffffffa00e9f24>{:r8169:rtl8169_rx_interrupt+436}
RSP: 0018:ffffffff8039bc38 EFLAGS: 00010206
RAX: 0000000000000000 RBX: 0000000000000c00 RCX: 0000000000000000
RDX: 0000000000000600 RSI: 000000003ea17012 RDI: 00000100023c3070
RBP: 0000010036e71360 R08: 0000000000000000 R09: 0000000000000000
R10: 000001003f613b28 R11: 0000000000000001 R12: 0000000000000bfc
R13: 0000000000000000 R14: 0000000000000000 R15: 00000100370e7000
FS: 0000002a95577da0(0000) GS:ffffffff803f3040(0000) knlGS:0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000002a95557000 CR3: 0000000000101000 CR4: 00000000000006e0
Process swapper (pid: 0, threadinfo ffffffff803f6000, task ffffffff802ef480)
Stack: 0000000000000bfc ffffffffa00ea3e0 0000010000000286 0000010036e71000
000001003fc36880 0000000000008001 ffffff0000056000 0000000000000014
0000010036e71360 0000010036e71000
Call Trace:<IRQ> <ffffffffa00ea3e0>{:r8169:pci_unmap_single+0}
<ffffffffa00ea0f3>{:r8169:rtl8169_interrupt+147}
<ffffffff8011252c>{handle_IRQ_event+44} <ffffffff801126c3>{do_IRQ+147}
<ffffffff8010de20>{default_idle+0} <ffffffff80110051>{ret_from_intr+0}
<EOI> <ffffffff8010de44>{default_idle+36}
<ffffffff8010deca>{cpu_idle+26}
<ffffffff803f9723>{start_kernel+339}
Code: 0f 0b a9 a5 0e a0 ff ff ff ff a5 06 48 8b 7c 24 20 8b 87 9c
RIP <ffffffffa00e9f24>{:r8169:rtl8169_rx_interrupt+436} RSP <ffffffff8039bc38>
<0>Kernel panic - not syncing: Aiee, killing interrupt handler!
Whereas this one is from r8169-dbg-b.patch:
----------- [cut here ] --------- [please bite here ] ---------
Kernel BUG at r8169:1702
invalid operand: 0000 [1]
CPU 0
Modules linked in: r8169 af_packet ide_cd cdrom via_rhine mii crc32 floppy
radeon reiserfs dm_mod uhci_hcd ehci_hcd usbcorx
Pid: 0, comm: swapper Not tainted 2.6.9-rc1-bk17-r8169-b
RIP: 0010:[<ffffffffa00e9f24>]
<ffffffffa00e9f24>{:r8169:rtl8169_rx_interrupt+436}
RSP: 0018:ffffffff8039bc38 EFLAGS: 00010206
RAX: 0000000000000000 RBX: 0000000000000c00 RCX: 0000000000000000
RDX: 0000000000000600 RSI: 000000003ef4d012 RDI: 00000100023c3070
RBP: 0000010038ee4360 R08: 0000000000000000 R09: 0000000000000000
R10: 000001003f614e28 R11: 000001003bacdda0 R12: 0000000000000bfc
R13: 0000000000000000 R14: 0000000000000000 R15: 0000010036f70000
FS: 0000002a9556dd40(0000) GS:ffffffff803f3040(0000) knlGS:0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 00000039cbb8bd60 CR3: 0000000000101000 CR4: 00000000000006e0
Process swapper (pid: 0, threadinfo ffffffff803f6000, task ffffffff802ef480)
Stack: 0000000000000bfc ffffffffa00ea3e0 0000010000000286 0000010038ee4000
000001003fc36b80 0000000000008001 ffffff0000056000 0000000000000014
0000010038ee4360 0000010038ee4000
Call Trace:<IRQ> <ffffffffa00ea3e0>{:r8169:pci_unmap_single+0}
<ffffffffa00ea0f3>{:r8169:rtl8169_interrupt+147}
<ffffffff8011252c>{handle_IRQ_event+44} <ffffffff801126c3>{do_IRQ+147}
<ffffffff8010de20>{default_idle+0} <ffffffff80110051>{ret_from_intr+0}
<EOI> <ffffffff8010de44>{default_idle+36}
<ffffffff8010deca>{cpu_idle+26}
<ffffffff803f9723>{start_kernel+339}
Code: 0f 0b a9 a5 0e a0 ff ff ff ff a6 06 48 8b 7c 24 20 8b 87 9c
RIP <ffffffffa00e9f24>{:r8169:rtl8169_rx_interrupt+436} RSP <ffffffff8039bc38>
<0>Kernel panic - not syncing: Aiee, killing interrupt handler!
> I assume the oops happen immediately and you can not even tell if a few
> packets were transmitted/received, right ?
Not really. If I disconnect the network cable, then it does not crash on
2.6.9-rc1-bk17, and on r8169-dbg-a.patch and .r8169-dbg-b.patch too.
So from this machine if I ping a remote machine, ping never succeeds, but it
does not crash either. OTOH, when I ping from a remote machine, it crashes
instantaneously. (So it seems it is somehow related to RX related
functionality).
> I'll welcome the objdump -S of both r8169.o modules as well as the section
> of the vmlinux file where skb_over_panic() appears.
With objdumb of r8169 I have no problems (please refer to the attachments),
but I do not know how to extract the skb_over_panic() section from vmlinux.
Could you please explain it to me as to how to do that?, perhaps in a private
email.
Thank you.
Hari.
objdump-2.6.9-rc1-bk17-r8169.bz2
Description: BZip2 compressed data
objdump-2.6.9-rc1-bk17-r8169-dbg-b.patch.bz2
Description: BZip2 compressed data
objdump-2.6.9-rc1-bk17-r8169-dbg-a.patch.bz2
Description: BZip2 compressed data
|