http_load causes 405GP kernel panic w/ linux_2_4_devel

Bryan Rittmeyer bryan at ixiacom.com
Thu Oct 25 12:18:15 EST 2001


Hi,

Looks like linux_2_4_devel is very unstable under high TCP/IP loads
and low amounts of memory on the Walnut.

Here's how to get a *double* kernel panic:

1) download http_load from http://www.acme.com/software/http_load/

2) cross compile for ppc405 using MontaVista JE 2.0 (very easy to do,
just change CC in the Makefile)

3) setup fast webserver on same network as Walnut, with one large page
availible (I used the linux kernel tarball and khttpd on a x86 box).

4) boot Walnut with "mem=8M" or "mem=4M" -- it's probably possible to
make this panic happen with larger amounts of physical memory, but it
is much faster and easier if you restrict mem via cmdline.

5) run "http_load -parallel 200 -fetches 1000 urls" where "urls"
is a file in cwd containing something like
"http://192.168.1.1:8080/linux.tar.gz"

6) sit back and wait a few seconds. you should see something like this:

http://192.168.3.126:8080/foo.htm: check-connect SUCCEEDED, ignoring


http://192.168.3.126:8080/foo.htm: check-connect SUCCEEDED, ignoring


...
http://192.168.3.126:8080/foo.htm: check-connect SUCCEEDED, ignoring


http:/Oops: kernel access of bad area, sig: 11


NIP: C009CB00 XER: 00000000 LR: C009CAD8 SP: C0E25DC0 REGS: c0e25d00
TRAP: 0800    Not tainted

MSR: 00009030 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11


TASK = c0e24000[47] 'http_load' Last syscall: 4


last math 00000000 last altivec 00000000


PLB0: bear= 0x00aff17c acr=   0x00000000 besr=  0x00000000


PLB0 to OPB: bear= 0x00000000 besr0= 0x00000000 besr1= 0x00000000





GPR00: C009CAD8 C0E25DC0 C0E24000 00000000 00001030 C012A514 C0222F38
45442C20

GPR08: C01D6140 00000001 00000010 C0187380 00000018 1001FB04 00000000
00000000

GPR16: 00000000 00000000 10010000 FFFFFFFF 00001032 00E25E40 00000000
C0002860

GPR24: C0003964 00000180 C01E6200 C0FFC028 000005EE C0FF1010 C0FFC000
00000000

Call backtrace:


C009CAD8 C00038C0 C00039F4 C0002860 C003365C C000263C 946ECA52


0FF3C1EC 0FF3CE20 0FF2E280 0FF29558 0FF31C58 10002468 100017F8


0FF06298 00000000


ppc405_eth_serr: Receive channel 0


   -----  latched error  -----


   DE: descriptor error


   -----  cumulative errors  -----


   DEI: descriptor error interrupt


PPC405 Ethernet driver received a receive descriptor error


EMAC DEBUG **********


EMAC_M0  ==> 0x18000000


EMAC_M1  ==> 0x8788000


EMAC_TXM0==> 0x0


EMAC_TXM1==> 0x380f0000


EMAC_RXM ==> 0x580000


EMAC_ISR ==> 0x42


EMAC_IER ==> 0x1af0000


EMAC_IAH ==> 0x4


EMAC_IAL ==> 0xace310b1


EMAC_VLAN_TPID_REG ==> 0x8808





  MAL DEBUG **********


  MCR      ==> 0x7c082


  ESR      ==> 0x40100000


  IER      ==> 0x1f


  DBR      ==> 0x0


  TXCASR   ==> 0x80000000


  TXCARR   ==> 0x80000000


  TXEOBISR ==> 0x0


  TXDEIR   ==> 0x0


  RXCASR   ==> 0x0


  RXCARR   ==> 0x0


  RXEOBISR ==> 0x80000000


  RXDEIR   ==> 0x80000000


  TXCTP0R  ==> 0xff6000


  TXCTP1R  ==> 0xf80000


  RXCTP0R  ==> 0xff1000


  RCBS0    ==> 0x80








dumping the receive descriptors:  current slot is 2


Desc 00: status 0x1c00, length  70, addr 0x224010


Desc 01: status 0x1c00, length  70, addr 0x223010


Desc 02: status 0x1c00, length 1518, addr 0x780010


Desc 03: status 0x1c00, length 1518, addr 0x25f010


Desc 04: status 0x1c00, length 1518, addr 0x25e010


Desc 05: status 0x1c00, length 1518, addr 0x25d010


Desc 06: status 0x1c00, length 1518, addr 0x25c010


Desc 07: status 0x1c00, length  70, addr 0x25b010


Desc 08: status 0x1c00, length  70, addr 0x259010


Desc 09: status 0x1c00, length  70, addr 0x258010


Desc 10: status 0x1c00, length  70, addr 0x257010


Desc 11: status 0x1c00, length  70, addr 0x256010


Desc 12: status 0x1c00, length  70, addr 0x255010


Desc 13: status 0x1c00, length  70, addr 0x254010


Desc 14: status 0x1c00, length  70, addr 0x253010


Desc 15: status 0x1c00, length  70, addr 0x252010


Desc 16: status 0x1c00, length  70, addr 0x251010


Desc 17: status 0x1c00, length  70, addr 0x250010


Desc 18: status 0x1c00, length  70, addr 0x24f010


Desc 19: status 0x1c00, length  70, addr 0x74e010


Desc 20: status 0x1c00, length  70, addr 0x2a3010


Desc 21: status 0x1c00, length  70, addr 0x24e010


Desc 22: status 0x1c00, length  70, addr 0x24d010


Desc 23: status 0x1c00, length  70, addr 0x24c010


Desc 24: status 0x1c00, length  70, addr 0x24b010


Desc 25: status 0x1c00, length  70, addr 0x24a010


Desc 26: status 0x1c00, length  70, addr 0x249010


Desc 27: status 0x1c00, length  70, addr 0x248010


Desc 28: status 0x1c00, length  70, addr 0x247010


Desc 29: status 0x1c00, length  70, addr 0x246010


Desc 30: status 0x1c00, length  70, addr 0x245010


Desc 31: status 0x1c00, length  70, addr 0x244010


Desc 32: status 0x1c00, length  70, addr 0x243010


Desc 33: status 0x1c00, length  70, addr 0x242010


Desc 34: status 0x1c00, length  70, addr 0x241010


Desc 35: status 0x1c00, length  70, addr 0x240010


Desc 36: status 0x1c00, length  70, addr 0x602010


Desc 37: status 0x1c00, length  70, addr 0x23f010


Desc 38: status 0x1c00, length  70, addr 0x23e010


Desc 39: status 0x1c00, length  70, addr 0x23c010


Desc 40: status 0x1c00, length  70, addr 0x23b010


Desc 41: status 0x1c00, length  70, addr 0x23a010


Desc 42: status 0x1c00, length  70, addr 0x239010


Desc 43: status 0x1c00, length  70, addr 0x238010


Desc 44: status 0x1c00, length 247, addr 0x237010


Desc 45: status 0x1c00, length  70, addr 0x236010


Desc 46: status 0x1c00, length  70, addr 0x358010


Desc 47: status 0x1c00, length  70, addr 0x235010


Desc 48: status 0x1c00, length  70, addr 0x234010


Desc 49: status 0x1c00, length  70, addr 0x233010


Desc 50: status 0x1c00, length  70, addr 0x232010


Desc 51: status 0x1c00, length  70, addr 0x231010


Desc 52: status 0x1c00, length  70, addr 0x230010


Desc 53: status 0x1c00, length  70, addr 0x22f010


Desc 54: status 0x1c00, length  70, addr 0x22e010


Desc 55: status 0x1c00, length  70, addr 0x22d010


Desc 56: status 0x1c00, length  70, addr 0x22c010


Desc 57: status 0x1c00, length  70, addr 0x22b010


Desc 58: status 0x1c00, length  70, addr 0x22a010


Desc 59: status 0x1c00, length  70, addr 0x229010


Desc 60: status 0x1c00, length  70, addr 0x228010


Desc 61: status 0x1c00, length  70, addr 0x227010


Desc 62: status 0x1c00, length  70, addr 0x226010


Desc 63: status 0x5c00, length  70, addr 0x225010


Oops: kernel access of bad area, sig: 11


NIP: C009CD8C XER: 20000000 LR: C009CD38 SP: C0E25AB0 REGS: c0e259f0
TRAP: 0800    Not tainted

MSR: 00009030 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11


TASK = c0e24000[47] 'http_load' Last syscall: 4


last math 00000000 last altivec 00000000


PLB0: bear= 0x00aff17c acr=   0x00000000 besr=  0x00000000


PLB0 to OPB: bear= 0x00000000 besr0= 0x00000000 besr1= 0x00000000





GPR00: 00001C00 C0E25AB0 C0E24000 00000035 00001030 00000001 00000020
C0160000

GPR08: 00001E7A 00000000 000005EE 00000010 00000018 1001FB04 00000000
00000000

GPR16: 00000000 00000000 10010000 FFFFFFFF 00001032 00E25B30 00000000
C0002860

GPR24: C0003964 00000002 C01E6200 00000010 C0FFC000 C0FFC020 00000002
00000008

Call backtrace:


C009CD38 C00038C0 C00039F4 C0002860 C00029F0 C000B020 C000AE98


C0002868 C009CAD8 C00038C0 C00039F4 C0002860 C003365C C000263C


946ECA52 0FF3C1EC 0FF3CE20 0FF2E280 0FF29558 0FF31C58 10002468


100017F8 0FF06298 00000000


Kernel panic: Aiee, killing interrupt handler!


In interrupt handler - not syncing


  <0>Rebooting in 180 seconds..



---

This panic looks like a PPC 405GP ethernet driver issue,
perhaps with some VM interaction thrown in. I have
access to a BDI2000 and may be able to help debug.

Feel free to e-mail me privately if you'd like my
kernel configuration or any additional info... should
be fairly easy to reproduce with the above recipe, though.

Regards,

-Bryan

--
Bryan Rittmeyer
mailto:bryan at ixiacom.com


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list