NetBSD-Bugs archive

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

kern/40462: bnx0: Double mbuf allocation failure!



>Number:         40462
>Category:       kern
>Synopsis:       bnx0: Double mbuf allocation failure!
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jan 23 17:15:00 +0000 2009
>Originator:     Jarle Greipsland
>Release:        NetBSD 5.0_BETA
>Organization:
        
>Environment:
        
        
System: NetBSD nyc.uninett.no 5.0_BETA NetBSD 5.0_BETA (NYC) #1: Thu Jan  8 
16:38:34 CET 2009 
jarle%nyc.uninett.no@localhost:/usr/obj/sys/arch/i386/compile/NYC i386
Architecture: i386
Machine: i386
>Description:
The system is an IBM e-series rack server with two built-in ethernet
ports.  The ports are driven by the bnx driver.  It had been running for
some time using only one network port, and I was trying to bring up the
second port when it paniced.  I gathered some console log output, and tried
again.  Same panic.

Console log:

panic: bnx0: Double mbuf allocation failure!
fatal breakpoint trap in supervisor mode
trap type 1 code 0 eip c0302a5c cs 8 eflags 246 cr2 80699a0 ilevel 6
Stopped in pid 0.2 (system) at  netbsd:breakpoint+0x4:  popl    %ebp
db{0}> 
db{0}> trace
breakpoint(c03ced3b,cc418ed8,c0400bc0,10,5,cbebb012,0,c02ecd48,19a,c37e9a00) at 
netbsd:breakpoint+0x4
panic(c03e9af8,cc48aea4,cc418f0e,cc418f0c,cc418f08,ce493000,cc490004,dbaa,dba1,cbeb6800)
 at netbsd:panic+0x1b8
bnx_rx_intr(cc490000,cc493000,84,60000,8,0,cc490004,c2a30480,0,6) at 
netbsd:bnx_rx_intr+0x3e4
bnx_intr(cc490000,0,0,0,cbca7c80,0,c2c5b680,c0106dad,c2a30480,cbc9eca8) at 
netbsd:bnx_intr+0xe5
intr_biglock_wrapper(c2a30480,cbc9eca8,0,0,0,0,0,0,0,0) at 
netbsd:intr_biglock_wrapper+0x1f
DDB lost frame for netbsd:Xintr_ioapic_level1+0xad, trying 0xcc418f74
Xintr_ioapic_level1() at netbsd:Xintr_ioapic_level1+0xad
--- interrupt ---
--- switch to interrupt stack ---
x86_mwait(0,0,0,c025e152,cbca7c80,cbca4ec0,cbc9ed2c,c024d006,cbca7c80,0) at 
netbsd:x86_mwait+0xc
x86_cpu_idle_mwait(cbca7c80,0,c0400bc0,cbca7c80,c024cf20,cbca7c80,0,c01002e1,cbca7c80,0)
 at netbsd:x86_cpu_idle_mwait+0x44
idle_loop(cbca7c80,0,c01002cd,0,c01002cd,0,0,0,0,0) at netbsd:idle_loop+0xe6
db{0}> ps
 PID           PPID     PGRP        UID S   FLAGS LWPS          COMMAND    WAIT
 1221           651     1221          0 2  0x4000    1         ifconfig
 1255           585     1255       1000 2  0x4000    1              top  select
 1170           761     1170       1003 2  0x4000    1             bash  ttyraw
 761           1003     1003       1003 2   0x100    1             sshd  select
 1003           739     1003          0 2  0x4101    1             sshd   netio
 902            371      371         12 2  0x4100    1           pickup  kqueue
 651            760      651          0 2  0x4000    1             tcsh   pause
 760            775      760       1000 2  0x4000    1             bash    wait
 775            741      741       1000 2  0x4000    1            xterm  select
 741            678      741       1000 2  0x4000    1              csh   pause
 678            354      354       1000 2   0x100    1             sshd  select
 354            739      354          0 2  0x4100    1             sshd   netio
 739              1      739          0 2       0    1             sshd  select
 585            559      585       1000 2  0x4000    1             bash    wait
 559            571      571       1000 2   0x100    1             sshd  select
 571              1      571          0 2  0x4101    1             sshd   netio
 452              1      452          0 2  0x4000    1            getty  ttyraw
 409            371      371         12 2  0x4100    1             qmgr  kqueue
 404              1      404          0 2  0x4000    1            getty  ttyraw
 405              1      405          0 2  0x4000    1            getty  ttyraw
 406              1      406          0 2  0x4000    1            getty  ttyraw
 394              1      394          0 2       0    1             cron nanoslp
 360              1      360          0 2       0    1            inetd  kqueue
 371              1      371          0 2  0x4100    1           master  kqueue
 255              1      255         15 2   0x100    1             ntpd   pause
 154              1      154         14 2   0x100    5            named       *
 119              1      119          0 2       0    1          syslogd
 1                0        1          0 2  0x4001    1             init    wait
*0               -1        0          0 2 0x20002   49           system       *
db{0}> mach cpu 1
using CPU 1
db{0}> trace
_kernel_lock(1,d1796f00,d15fcc1c,c0277b93,c29d1800,90,1001,d1796f00,90,0) at 
netbsd:_kernel_lock+0xb5
soo_ioctl(d1796f00,c0906911,d1388948,0,0,d1629d00,0,c02a34e0,c3761028,c02a34e0) 
at netbsd:soo_ioctl+0x7c
sys_ioctl(d1629d00,d15fcd00,d15fcd28,3,c0906911,bfbfe220,bbbd7d68,ffffffff,0,0) 
at netbsd:sys_ioctl+0x13d
syscall(d15fcd48,b3,ab,1f,1f,3,bfbfe328,bfbfe2c8,bfbfe220,5) at 
netbsd:syscall+0xa9
db{0}> reboot 4

[ ... second panic starts here ... ]
panic: bnx0: Double mbuf allocation failure!
fatal breakpoint trap in supervisor mode
trap type 1 code 0 eip c0302a5c cs 8 eflags 246 cr2 bb5faffc ilevel 6
Stopped in pid 0.2 (system) at  netbsd:breakpoint+0x4:  popl    %ebp
db{0}> trace
breakpoint(c03ced3b,cc418ed8,c0400bc0,10,5,d0f6488c,0,c02ecd48,1d,c374a800) at 
netbsd:breakpoint+0x4
panic(c03e9af8,cc48aea4,cc418f0e,cc418f0c,cc418f08,ce493000,cc490004,25,24,cbe0a800)
 at netbsd:panic+0x1b8
bnx_rx_intr(cc490000,cc493000,84,60000,8,3f8,cc490004,c2a30480,0,6) at 
netbsd:bnx_rx_intr+0x3e4
bnx_intr(cc490000,800,30c10000,0,0,0,c2c5b680,c0106dad,c2a30480,cbc9eca8) at 
netbsd:bnx_intr+0xe5
intr_biglock_wrapper(c2a30480,cbc9eca8,0,0,0,0,0,0,0,0) at 
netbsd:intr_biglock_wrapper+0x1f
DDB lost frame for netbsd:Xintr_ioapic_level1+0xad, trying 0xcc418f74
Xintr_ioapic_level1() at netbsd:Xintr_ioapic_level1+0xad
--- interrupt ---
--- switch to interrupt stack ---
x86_mwait(0,0,0,c025e152,cbca7c80,cbca4ec0,cbc9ed2c,c024d006,cbca7c80,0) at 
netbsd:x86_mwait+0xc
x86_cpu_idle_mwait(cbca7c80,0,c0400bc0,cbca7c80,c024cf20,cbca7c80,0,c01002e1,cbca7c80,0)
 at netbsd:x86_cpu_idle_mwait+0x44
idle_loop(cbca7c80,0,c01002cd,0,c01002cd,0,0,0,0,0) at netbsd:idle_loop+0xe6
db{0}> mach cpu 1
using CPU 1
db{0}> trace
x86_mwait(0,0,0,c025e152,cbcaa2a0,cbca4dc0,cc422d20,c024d006,cbcaa2a0,0) at 
netbsd:x86_mwait+0xc
x86_cpu_idle_mwait(cbcaa2a0,0,c2a16000,0,cc422da0,0,cbcaa2a0,c2a16000,0,c024cf20)
 at netbsd:x86_cpu_idle_mwait+0x44
idle_loop(0,c024cf20,cbcaa2a0,c01002d0,0,c01002cd,0,c01002cd,0,0) at 
netbsd:idle_loop+0xe6
Bad frame pointer: 0xcbcaa2a0
db{0}> reboot 4

        
>How-To-Repeat:
Bring up two bnx interface on a system?
        
>Fix:
        

>Unformatted:
        
        


Home | Main Index | Thread Index | Old Index