[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openbsd-bugs
Subject:    kernel/5039: panic in psycho_ue after xl lockup on sparc64
From:       greg-xlbug () y2006 ! nest ! cx
Date:       2006-02-27 4:07:32
Message-ID: 20060227040732.10967.qmail () home ! nest ! cx
[Download RAW message or body]

> Number:         5039
> Category:       kernel
> Synopsis:       panic in psycho_ue after xl lockup on sparc64
> Confidential:   yes
> Severity:       serious
> Priority:       low
> Responsible:    bugs
> State:          open
> Quarter:        
> Keywords:       
> Date-Required:
> Class:          sw-bug
> Submitter-Id:   net
> Arrival-Date:   Mon Feb 27 04:20:02 GMT 2006
> Closed-Date:
> Last-Modified:
> Originator:     Gregory Steuck
> Release:        3.8
> Organization:
net
> Environment:
	System      : OpenBSD 3.8
	Architecture: OpenBSD.sparc64
	Machine     : sparc64
> Description:
	3Com 3c905 (xl) card on my sparc64 sometimes gets stuck under
	pretty modest traffic (100KB). No traffic seems to be sent or
	received in this condition. At this stage the card can
	be unlocked by doing 'ifconfig xl0 down' then 'ifconfig xl0 up'.

	Last time for a change I tried to do 'ifconfig xl0 up' directly
	without bringing the interface down first. This caused a kernel
	panic as recorded below. Dmesg follows.

	The machine is used as a NAT/router with hme0 facing outside and
	xl0 inside a local network. The traffic that causes a lockup
	is a bunch of passthrough NATed/RDRed TCP connections.

	I can try 3.9-beta snapshots if this is likely to make
	a difference.

% cu -l /dev/tty00
Connected
OpenBSD/sparc64 (u5.nest.cx) (console)
login: greg
% sudo ifconfig xl0 up
panic: psycho0: uncorrectable DMA error AFAR 1d463c0 (pa=0 tte=0/886012) AFSR \
4b0000ff00800000 kdb breakpoint at 130bc60
Stopped at      Debugger+0x4:   nop
RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
ddb> trace
psycho_ue(21b3f24, 7, e0017ec8, 10a88c, 12dd8e0, 13bcd620) at psycho_ue+0x7c
sparc_interrupt(0, c00ee000, 4000, 99ac4b0, 0, 0) at sparc_interrupt+0x20c
iommu_dvmamap_unload(21afd00, 4000, 2242800, 0, 4de, 8) at iommu_dvmamap_unload+0x7c
xl_freetxrx(2251000, 2251000, 2242800, 0, 0, 0) at xl_freetxrx+0x114
xl_init(2251000, 2251078, 21afd80, 7, 8c43, 7) at xl_init+0x20
xl_ioctl(0, 80206910, 13bcdc70, 13bcdc70, 0, 0) at xl_ioctl+0x1d0
ifioctl(96e92c0, 80206910, 13bcdc70, 9730cd0, 100a1cc, 0) at ifioctl+0x374
sys_ioctl(0, 13bcddd0, 13bcddc0, 0, 0, 180c6a8) at sys_ioctl+0x10c
syscall(13bcded0, 36, 10a888, 10a88c, 0, 0) at syscall+0x280
softtrap(3, 80206910, fffffffffffeda30, 0, 0, 0) at softtrap+0x184
ddb> ps
   PID   PPID   PGRP    UID  S       FLAGS  WAIT       COMMAND
* 7071  18274   7071      0  7      0x4006             ifconfig
 26103   1621  13798   2850  3      0x4184  netcon     tcpserver
 21894  13493  13798   2853  3      0x4084  piperd     qmail-clean
   646  13493  13798   2854  3      0x4084  select     qmail-rspawn
 21365  13493  13798      0  3      0x4084  select     qmail-lspawn
   356  13493  13798   2851  3      0x4084  piperd     multilog
 32551  14706  13798   1010  3      0x4084  piperd     multilog
 32551  14706  13798   1010  3      0x4084  piperd     multilog
 14332  24466  13798   2855  3      0x4084  netcon     tcpserver
 23114  24445  13798   1002  3      0x4184  netcon     tcpserver
 10425  22214  13798   2100  3      0x4184  netio      tinydns
 28974  16905  13798    509  3      0x4184  netcon     tcpserver
 28703   5082  13798   1007  3      0x4084  piperd     multilog
 13493  10058  13798   2855  3      0x4084  select     qmail-send
  1436  24351  13798   2200  3      0x4084  piperd     multilog
  9572  10739  13798   1003  3      0x4184  netcon     tcpserver
 19808  30448  13798   2200  3      0x4084  piperd     multilog
 27883   9007  13798   2200  3      0x4084  piperd     multilog
 24384  15763  13798   2100  3      0x4184  netcon     tcpserver
 22867  18630  13798   2100  3      0x4184  netio      tinydns
 18274      1  18274   1001  3      0x4086  pause      zsh
 11547  22873  13798   2000  3      0x4186  poll       dnscache
 23323  30925  13798   1013  3      0x4086  piperd     multilog
 17589  19785  13798      0  3      0x4086  netcon     tcpserver
 17827  30269  13798   1013  3      0x4086  piperd     multilog
 23767   9338  13798      0  3      0x4086  netcon     tcpserver
  2448   9734  13798   2200  3      0x4086  piperd     multilog
  5082  13798  13798      0  3      0x4086  poll       supervise
 16905  13798  13798      0  3      0x4086  poll       supervise
 14706  13798  13798      0  3      0x4086  poll       supervise
  1621  13798  13798      0  3      0x4086  poll       supervise
 10739  13798  13798      0  3      0x4086  poll       supervise
 10058  13798  13798      0  3      0x4086  poll       supervise
 24466  13798  13798      0  3      0x4086  poll       supervise
 24445  13798  13798      0  3      0x4086  poll       supervise
 30269  13798  13798      0  3      0x4086  poll       supervise
  9338  13798  13798      0  3      0x4086  poll       supervise
 30925  13798  13798      0  3      0x4086  poll       supervise
 19785  13798  13798      0  3      0x4086  poll       supervise
  9007  13798  13798      0  3      0x4086  poll       supervise
 18630  13798  13798      0  3      0x4086  poll       supervise
 30448  13798  13798      0  3      0x4086  poll       supervise
 22214  13798  13798      0  3      0x4086  poll       supervise
 24351  13798  13798      0  3      0x4086  poll       supervise
 15763  13798  13798      0  3      0x4086  poll       supervise
  9734  13798  13798      0  3      0x4086  poll       supervise
   910      1    910      0  3        0x84  select     cron
 22873  13798  13798      0  3      0x4086  poll       supervise
 13798      1  13798      0  3      0x4086  nanosleep  svscan
 28592      1  28592      0  3        0x84  select     sshd
 13008      1  13008     77  3       0x184  poll       dhcpd
 13185  19107  19107     83  3       0x184  poll       ntpd
 19107      1  19107      0  3        0x84  poll       ntpd
  3933    326    326     73  3       0x104  biowait    syslogd
   326      1    326      0  3        0x84  netio      syslogd
 20284      1  20284     77  3       0x184  poll       dhclient
 31555      1     52      0  3        0x86  poll       dhclient
 28004      1  28004      0  3        0x84  mfsidl     mount_mfs
     9      0      0      0  3    0x100204  crypto_wa  crypto
     8      0      0      0  3    0x100204  aiodoned   aiodoned
     7      0      0      0  3    0x100204  syncer     update
     6      0      0      0  3    0x100204  cleaner    cleaner
     5      0      0      0  3    0x100204  reaper     reaper
     4      0      0      0  3    0x100204  pgdaemon   pagedaemon
     3      0      0      0  3    0x100204  pftm       pfpurge
     2      0      0      0  3    0x100204  kmalloc    kmthread
     1      0      1      0  3      0x4084  wait       init
     0     -1      0      0  3     0x80204  scheduler  swapper

console is /pci@1f,0/pci@1,1/ebus@1/se@14,400000:a
Copyright (c) 1982, 1986, 1989, 1991, 1993
	The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2005 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 3.8 (GENERIC) #606: Thu Sep  1 18:37:59 MDT 2005
    deraadt@sparc64.openbsd.org:/usr/src/sys/arch/sparc64/compile/GENERIC
total memory = 402653184
avail memory = 357310464
using 2457 buffers containing 20127744 bytes of memory
bootpath: /pci@1f,0/pci@1,1/ide@3,0/disk@2,0
mainbus0 (root): Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 360MHz)
cpu0 at mainbus0: SUNW,UltraSPARC-IIi @ 360 MHz, version 0 FPU
cpu0: physical 32K instruction (32 b/l), 16K data (32 b/l), 256K external (64 b/l)
psycho0 at mainbus0 addr 0xfffc4000
SUNW,sabre: impl 0, version 0: ign 7c0 bus range 0 to 2; PCI bus 0
DVMA map: c0000000 to e0000000
IOTDB: 1d46000 to 1dc6000
pci0 at psycho0
ppb0 at pci0 dev 1 function 1 "Sun Simba PCI-PCI" rev 0x13
pci1 at ppb0 bus 1
ebus0 at pci1 dev 1 function 0 "Sun PCIO Ebus2" rev 0x01
auxio0 at ebus0 addr 726000-726003, 728000-728003, 72a000-72a003, 72c000-72c003, \
72f000-72f003 power at ebus0 addr 724000-724003 ipl 37 not configured
SUNW,pll at ebus0 addr 504000-504002 not configured
sab0 at ebus0 addr 400000-40007f ipl 43: rev 3.2
sabtty0 at sab0 port 0: console i/o
sabtty1 at sab0 port 1
comkbd0 at ebus0 addr 3083f8-3083ff ipl 41: no keyboard
com0 at ebus0 addr 3062f8-3062ff ipl 42: mouse: ns16550a, 16 byte fifo
lpt0 at ebus0 addr 3043bc-3043cb, 30015c-30015d, 700000-70000f ipl 34: polled
fdthree at ebus0 addr 3023f0-3023f7, 706000-70600f, 720000-720003 ipl 39 not \
configured clock1 at ebus0 addr 0-1fff: mk48t59: hostid xxxxxxxx
flashprom at ebus0 addr 0-fffff not configured
audioce0 at ebus0 addr 200000-2000ff, 702000-70200f, 704000-70400f, 722000-722003 ipl \
35 ipl 36: nvaddrs 0 audio0 at audioce0
hme0 at pci1 dev 1 function 1 "Sun HME" rev 0x01: address 08:00:xx:xx:xx:xx
nsphy0 at hme0 phy 1: DP83840 10/100 PHY, rev. 1
hme0: using ivec 3021 for interrupt
vgafb0 at pci1 dev 2 function 0 "ATI Mach64 GP" rev 0x5c
wsdisplay0 at vgafb0
wsdisplay0: screen 0 added (std, sun emulation)
pciide0 at pci1 dev 3 function 0 "CMD Technology PCI0646" rev 0x03: DMA, channel 0 \
                configured to native-PCI, channel 1 configured to native-PCI
pciide0: using ivec 1820 for native-PCI interrupt
atapiscsi0 at pciide0 channel 0 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <LG, CD-ROM CRD-8322B, 1.05> SCSI0 5/cdrom removable
cd0(pciide0:0:0): using PIO mode 4, DMA mode 2
wd0 at pciide0 channel 1 drive 0: <IBM-DTTA-350840>
wd0: 16-sector PIO, LBA, 8063MB, 16514064 sectors
wd0(pciide0:1:0): using PIO mode 4, DMA mode 2
ppb1 at pci0 dev 1 function 0 "Sun Simba PCI-PCI" rev 0x13
pci2 at ppb1 bus 2
xl0 at pci2 dev 1 function 0 "3Com 3c905 100Base-TX" rev 0x00: ivec 10, address \
00:xx:xx:xx:xx:xx nsphy1 at xl0 phy 24: DP83840 10/100 PHY, rev. 1
wi0 at pci2 dev 2 function 0 "Intersil PRISM2.5" rev 0x01: ivec 14
wi0: PRISM2.5 ISL3874A(Mini-PCI) (0x8013), Firmware 1.0.7 (primary), 1.3.6 (station), \
address 00:xx:xx:xx:xx:xx "Linksys EG1032" rev 0x12 at pci2 dev 3 function 0 not \
configured pcons at mainbus0 not configured
No counter-timer -- using %tick at 360MHz as system clock.
root on wd0a
rootdev=0xc00 rrootdev=0x1a00 rawdev=0x1a02
panic: psycho0: uncorrectable DMA error AFAR 1d463c0 (pa=0 tte=0/886012) AFSR \
4b0000ff00800000 kdb breakpoint at 130bc60
Stopped at	Debugger+0x4:	nop
RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
ddb>    PID   PPID   PGRP    UID  S       FLAGS  WAIT       COMMAND         
* 7071  18274   7071      0  7      0x4006             ifconfig        
 26103   1621  13798   2850  3      0x4184  netcon     tcpserver       
 21894  13493  13798   2853  3      0x4084  piperd     qmail-clean     
   646  13493  13798   2854  3      0x4084  select     qmail-rspawn    
 21365  13493  13798      0  3      0x4084  select     qmail-lspawn    
   356  13493  13798   2851  3      0x4084  piperd     multilog        
 32551  14706  13798   1010  3      0x4084  piperd     multilog        
 14332  24466  13798   2855  3      0x4084  netcon     tcpserver       
 23114  24445  13798   1002  3      0x4184  netcon     tcpserver       
 10425  22214  13798   2100  3      0x4184  netio      tinydns         
 28974  16905  13798    509  3      0x4184  netcon     tcpserver       
 28703   5082  13798   1007  3      0x4084  piperd     multilog        
 13493  10058  13798   2855  3      0x4084  select     qmail-send      
  1436  24351  13798   2200  3      0x4084  piperd     multilog        
  9572  10739  13798   1003  3      0x4184  netcon     tcpserver       
 19808  30448  13798   2200  3      0x4084  piperd     multilog        
 27883   9007  13798   2200  3      0x4084  piperd     multilog        
 24384  15763  13798   2100  3      0x4184  netcon     tcpserver       
 22867  18630  13798   2100  3      0x4184  netio      tinydns         
 18274      1  18274   1001  3      0x4086  pause      zsh             
 11547  22873  13798   2000  3      0x4186  poll       dnscache        
 23323  30925  13798   1013  3      0x4086  piperd     multilog        
 17589  19785  13798      0  3      0x4086  netcon     tcpserver       
 17827  30269  13798   1013  3      0x4086  piperd     multilog        
 23767   9338  13798      0  3      0x4086  netcon     tcpserver       
  2448   9734  13798   2200  3      0x4086  piperd     multilog        
  5082  13798  13798      0  3      0x4086  poll       supervise       
 16905  13798  13798      0  3      0x4086  poll       supervise       
 14706  13798  13798      0  3      0x4086  poll       supervise       
  1621  13798  13798      0  3      0x4086  poll       supervise       
 10739  13798  13798      0  3      0x4086  poll       supervise       
 10058  13798  13798      0  3      0x4086  poll       supervise       
 24466  13798  13798      0  3      0x4086  poll       supervise       
 24445  13798  13798      0  3      0x4086  poll       supervise       
 30269  13798  13798      0  3      0x4086  poll       supervise       
  9338  13798  13798      0  3      0x4086  poll       supervise       
 30925  13798  13798      0  3      0x4086  poll       supervise       
 19785  13798  13798      0  3      0x4086  poll       supervise       
  9007  13798  13798      0  3      0x4086  poll       supervise       
 18630  13798  13798      0  3      0x4086  poll       supervise       
 30448  13798  13798      0  3      0x4086  poll       supervise       
 22214  13798  13798      0  3      0x4086  poll       supervise       
 24351  13798  13798      0  3      0x4086  poll       supervise       
 15763  13798  13798      0  3      0x4086  poll       supervise       
  9734  13798  13798      0  3      0x4086  poll       supervise       
   910      1    910      0  3        0x84  select     cron            
 22873  13798  13798      0  3      0x4086  poll       supervise       
 13798      1  13798      0  3      0x4086  nanosleep  svscan          
 28592      1  28592      0  3        0x84  select     sshd            
 13008      1  13008     77  3       0x184  poll       dhcpd           
 13185  19107  19107     83  3       0x184  poll       ntpd            
 19107      1  19107      0  3        0x84  poll       ntpd            
  3933    326    326     73  3       0x104  biowait    syslogd         
   326      1    326      0  3        0x84  netio      syslogd         
 20284      1  20284     77  3       0x184  poll       dhclient        
 31555      1     52      0  3        0x86  poll       dhclient        
 28004      1  28004      0  3        0x84  mfsidl     mount_mfs       
     9      0      0      0  3    0x100204  crypto_wa  crypto          
     8      0      0      0  3    0x100204  aiodoned   aiodoned        
     7      0      0      0  3    0x100204  syncer     update          
     6      0      0      0  3    0x100204  cleaner    cleaner         
     5      0      0      0  3    0x100204  reaper     reaper          
     4      0      0      0  3    0x100204  pgdaemon   pagedaemon      
     3      0      0      0  3    0x100204  pftm       pfpurge         
     2      0      0      0  3    0x100204  kmalloc    kmthread        
     1      0      1      0  3      0x4084  wait       init            
     0     -1      0      0  3     0x80204  scheduler  swapper         
ddb> psycho_ue(21b3f24, 7, e0017ec8, 10a88c, 12dd8e0, 13bcd620) at psycho_ue+0x7c
sparc_interrupt(0, c00ee000, 4000, 99ac4b0, 0, 0) at sparc_interrupt+0x20c
iommu_dvmamap_unload(21afd00, 4000, 2242800, 0, 4de, 8) at iommu_dvmamap_unload+0x7c
xl_freetxrx(2251000, 2251000, 2242800, 0, 0, 0) at xl_freetxrx+0x114
xl_init(2251000, 2251078, 21afd80, 7, 8c43, 7) at xl_init+0x20
xl_ioctl(0, 80206910, 13bcdc70, 13bcdc70, 0, 0) at xl_ioctl+0x1d0
ifioctl(96e92c0, 80206910, 13bcdc70, 9730cd0, 100a1cc, 0) at ifioctl+0x374
sys_ioctl(0, 13bcddd0, 13bcddc0, 0, 0, 180c6a8) at sys_ioctl+0x10c
syscall(13bcded0, 36, 10a888, 10a88c, 0, 0) at syscall+0x280
softtrap(3, 80206910, fffffffffffeda30, 0, 0, 0) at softtrap+0x184
ddb> syncing disks... 35 34 


> How-To-Repeat:
	Unfortunately I cannot reproduce this condition predictably
	but it happens quite often under normal routing load.

> Fix:


> Release-Note:
> Audit-Trail:
> Unformatted:


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic