NetBSD-Bugs archive

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

kern/38375: LOCKDEBUG panic with 4.99.58 SMP kernels



>Number:         38375
>Category:       kern
>Synopsis:       LOCKDEBUG panic with 4.99.58 SMP kernels
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Apr 06 11:40:00 +0000 2008
>Originator:     Havard Eidnes
>Release:        NetBSD 4.99.58, dated ~Apr 5 2008
>Organization:
        I try...
>Environment:
System: NetBSD 4.99.58 (GENERIC.MP) #6: Sat Apr  5 08:57:30 CEST 2008 
he%quattro.urc.uninett.no@localhost:/u/build/HEAD/obj/sparc64/sys/arch/sparc64/compile/GENERIC.MP
Architecture: sparc64
Machine: sparc64
>Description:

        After recent MD advances in SMP support on sparc64, it appears
        we are now hitting machine-independent problems.  In particular,
        this is the console log for this particular panic I observed,
        while running a DEBUG + DIAGNOSTIC + LOCKDEBUG sparc64 SMP kernel,
        with "greater than" replaced with ":" in an attempt to not mess
        up for GNATS:

NetBSD/sparc64 (torbidinsu.urc.uninett.no) (console)

login: Kernel lock error: _kernel_unlock: assertion failed: nlocks <= 0

lock address : 0x00000000018d3a00 type     :               spin
shared holds :                  0 exclusive:                  1
shares wanted:                  0 exclusive:                  0
current cpu  :                  3 last held:                  2
current lwp  : 0x0000000010d57180 last held: 0x000000000f9ea3a0
last locked  : 0x000000000132f3d0 unlocked : 0x000000000143e380
initialized  : 0x00000000012b1800
curcpu holds :                  0 wanted by: 000000000000000000

panic: LOCKDEBUG
Stopped in pid 465.1 (systat) at        netbsd:cpu_Debugger+0x4:        nop
db{3}: trace
lockdebug_abort1(18eb928, 18eb928, 151c730, 1686530, 1, 1) at 
netbsd:lockdebug_abort1+0x7c
lockdebug_abort(18d3a00, 181b280, 151c730, 1686530, 1f4, 10ca6a90) at 
netbsd:lockdebug_abort+0x7c
_kernel_unlock(1, 0, 0, fffffff, 18d3800, 10d57180) at 
netbsd:_kernel_unlock+0x78
cdev_read(0, 10e27bf0, 0, badcafe, badcafe, badcafe) at netbsd:cdev_read+0x60
spec_read(10e27a48, 1346228, 151cc00, 10d57180, 10b1d9e0, badcafe) at 
netbsd:spec_read+0x1e0
ufsspec_read(10e27a48, 10001, badcafe, 0, 0, 0) at netbsd:ufsspec_read+0x48
VOP_READ(10b1d9e0, 10e27bf0, 0, 10f9d0c0, b8, 17) at netbsd:VOP_READ+0x6c
vn_read(10fa0700, 10fa0700, 10e27bf0, 10f9d0c0, 1, 23e400) at 
netbsd:vn_read+0x88
dofileread(16, 10fa0700, 262000, 10000, 0, 1) at netbsd:dofileread+0x60
sys_read(0, 10e27dc0, 10e27e00, 10e24000, 9600, 798) at netbsd:sys_read+0x60
syscall_plain(10e27ed0, 3, 40d39594, 44e, 40d39594, 800) at 
netbsd:syscall_plain+0x12c
?(0, 262000, 10000, badcafe, badcafe, badcafe) at 0x10093e4
db{3}: x/i 0x000000000132f3d0
netbsd:do_sys_sendmsg+0x2f0:    call            netbsd:_kernel_lock
db{3}: x/i 0x000000000143e380
netbsd:intr_biglock_wrapper+0x20:       call            netbsd:_kernel_unlock
db{3}: x/i 0x00000000012b1800
netbsd:main+0x20:       call            netbsd:kernel_lock_init
db{3}: 
db{3}: ps
 PID           PPID     PGRP        UID S   FLAGS LWPS          COMMAND    WAIT
 290            349      349         12 2  0x4100    1           pickup  select
 561            376      561       1000 2  0x4100    1     screen-4.0.2   pause
 435            456      435       1000 2  0x4000    1         rtorrent
 456            479      456       1000 2  0x4000    1             tcsh   pause
 479              1      479       1000 2   0x101    1     screen-4.0.2  select
:465            427      465       1000 2  0x4100    1           systat
 427            404      427       1000 2  0x4000    1             tcsh   pause
 376            405      376       1000 2  0x4000    1             tcsh   pause
 404            364      364       1000 2  0x4000    1            xterm  select
 364            399      364       1000 2  0x4000    1             tcsh   pause
 399            387      387       1000 2   0x100    1             sshd  select
 405            304      304       1000 2  0x4000    1            xterm  select
 387            263      387          0 2  0x4100    1             sshd   netio
 304            393      304       1000 2  0x4000    1             tcsh   pause
 393            398      398       1000 2   0x100    1             sshd  select
 398            263      398          0 2  0x4100    1             sshd   netio
 378            349      349         12 2  0x4100    1             qmgr  select
 388              1      388          0 2  0x4000    1            getty     tty
 375              1      375          0 2       0    1             cron nanoslp
 358              1      358          0 2       0    1            inetd  kqueue
 349              1      349          0 2  0x4100    1           master  select
 263              1      263          0 2       0    1             sshd  select
 246              1      246          0 2       0    1             ntpd   pause
 165              1      165          0 2       0    1     lfs_cleanerd segment
 156              1      156          0 2       0    1        mount_mfs  mfsidl
 114              1      114          0 2       0    1          syslogd  kqueue
 1                0        1          0 2  0x4001    1             init    wait
 0               -1        0          0 2 0x20002   38           system       *
db{3}: 
db{3}: x/x,8 0x000000000f9ea3a0
netbsd:main+0x20:       400069d8    1000000     7fff1b2e    1000000     40011a04
    1000000     40012302    1000000
db{3}: x/x,8 0x0000000010d57180
0xf9ea3a0:      0           0           0           189afc0     0           0
0xf9ea3b8:      0           100f8000
db{3}: 
db{3}: t/a 0x000000000f9ea3a0
trace: pid 435 lid 1 at 0x10acf0c1
sleepq_block(23, 1, 1681b48, 2, 10, badcafe) at netbsd:sleepq_block+0x9c
selcommon(0, 10acfb68, 1c, 10acfb50, 10acfb5c, 151cfd8) at 
netbsd:selcommon+0x5b0
sys_select(f9ea3a0, 10acfdc0, 10acfe00, badcafe, badcafe, badcafe) at 
netbsd:sys_select+0x50
syscall_plain(10acfed0, 5, 41f39524, a3f7, 41f39524, 800) at 
netbsd:syscall_plain+0x12c
?(1c, 39c0a0, 39c0b0, 39c0c0, ffffffffffffac88, badcafe) at 0x10093e4
db{3}: t/a 0x0000000010d57180
trace: pid 465 lid 1 at 0x10e268f1
sleepq_block(0, 0, 1653c98, 1, e0018000, fffffff) at netbsd:sleepq_block+0x110
db{3}: 
db{3}: machine cpu 2
db{2}: trace
cpu_mp_startup(ffffffffffffffff, 100000000, 0, 0, 0, 0) at 
netbsd:cpu_mp_startup+0x110
db{2}: machine cpu 1
db{1}: tra
cpu_mp_startup(ffffffffffffffff, 100000000, 0, 0, 0, 0) at 
netbsd:cpu_mp_startup+0x110
db{1}: machine cpu 0
db{0}: tra
lwp_trampoline(f0075a4c, 0, 10fc00, fff7fd00, 10e9d8, fff7fe00) at 
netbsd:lwp_trampoline+0x8
db{0}: 
db{3}: ps/l
 PID         LID S     FLAGS       STRUCT LWP *               NAME WAIT
 290           1 3        84           10d56e00             pickup select
 561           1 3        84           10f8d1a0       screen-4.0.2 pause
 435           1 2         4            f9ea3a0           rtorrent
 456           1 3        80            f9ea720               tcsh pause
 479           1 3        84           10f8c3a0       screen-4.0.2 select
:465       :   1 7  a0000004           10d57180             systat
 427           1 3        80           10f8c020               tcsh pause
 376           1 3        80           10d56000               tcsh pause
 404           1 3        84           10b05c40              xterm select
 364           1 3        80           10f8caa0               tcsh pause
 399           1 3        84           10f8ce20               sshd select
 405           1 3        84           10d56380              xterm select
 387           1 3        80            f9ebc20               sshd netio
 304           1 3        80           10b051c0               tcsh pause
 393           1 3        84           10f8d520               sshd select
 398           1 3        80            f9eb8a0               sshd netio
 378           1 3        84           10f8d8a0               qmgr select
 388           1 3        80           10d57880              getty tty
 375           1 3        84           10d57500               cron nanoslp
 358           1 3        80            f9ea020              inetd kqueue
 349           1 3        84           10b04740             master select
 263           1 3        80           10d56a80               sshd select
 246           1 3        84           10d56700               ntpd pause
 165           1 3        84           10d57c00       lfs_cleanerd segment
 156           1 3        80           10b05540          mount_mfs mfsidl
 114           1 3        84           10b04ac0            syslogd kqueue
 1             1 3        80            f9e8000               init wait
 0            46 3       204           10b04040         lfs_writer lfswriter
              45 3       204            f9e8e00            physiod physiod
              44 3       204            f9eaaa0        vmem_rehash vmem_rehash
              43 3       204            f9eae20           aiodoned aiodoned
              42 3       204            f9eb1a0            ioflush syncer
              41 3       204            f9eb520           pgdaemon pgdaemon
              40 3       204            f9e9180          cryptoret crypto_wait
              31 3       204            f9e9500           scsibus1 sccomp
              30 3       204            f9e9880           scsibus0 sccomp
              29 3       204            f9e9c00            envctrl envidle
              28 3       204            f9dc040             sysmon smtaskq
              27 3  80000204            f9dc3c0            xcall/3 xcall
              26 1  80000204            f9dc740          softser/3
              25 1  80000204            f9dcac0          softclk/3
              24 1  80000204            f9dce40          softbio/3
              23 1  80000204            f9dd1c0          softnet/3
              22 1  80000205            f9dd540             idle/3
              21 3  80000204            f9dd8c0            xcall/2 xcall
              20 1  80000204            f9ddc40          softser/2
              19 1  80000204            f9d8020          softclk/2
              18 1  80000204            f9d83a0          softbio/2
              17 1  80000204            f9d8720          softnet/2
              16 7  a0000205            f9d8aa0             idle/2
              15 3  80000204            f9d8e20            xcall/1 xcall
              14 1  80000204            f9d91a0          softser/1
              13 1  80000204            f9d9520          softclk/1
              12 1  80000204            f9d98a0          softbio/1
              11 1  80000204            f9d9c20          softnet/1
              10 7  a0000205            f9ca000             idle/1
               9 3       204            f9ca380           pmfevent pmfevent
               8 3       204            f9ca700              vrele vrele
               7 3  80000204            f9caa80            xcall/0 xcall
               6 1  80000204            f9cae00          softser/0
               5 1  80000204            f9cb180          softclk/0
               4 1  80000204            f9cb500          softbio/0
               3 1  80000204            f9cb880          softnet/0
               2 7  a0000205            f9cbc00             idle/0
               1 3       204            181bce0            swapper schedule
db{3}: 



        The dmesg for the system follows:

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 4.99.58 (GENERIC.MP) #6: Sat Apr  5 08:57:30 CEST 2008
        
he%quattro.urc.uninett.no@localhost:/u/build/HEAD/obj/sparc64/sys/arch/sparc64/compile/GENERIC.MP
total memory = 4096 MB
avail memory = 4006 MB
mainbus0 (root): SUNW,Ultra-4 (Sun Enterprise 450): hostid 80b147ad
cpu0 at mainbus0: SUNW,UltraSPARC-II @ 400 MHz, UPA id 0
cpu0: 32K instruction (32 b/l), 16K data (32 b/l), 4096K external (64 b/l)
cpu1 at mainbus0: SUNW,UltraSPARC-II @ 400 MHz, UPA id 1
cpu1: 32K instruction (32 b/l), 16K data (32 b/l), 4096K external (64 b/l)
cpu2 at mainbus0: SUNW,UltraSPARC-II @ 400 MHz, UPA id 2
cpu2: 32K instruction (32 b/l), 16K data (32 b/l), 4096K external (64 b/l)
cpu3 at mainbus0: SUNW,UltraSPARC-II @ 400 MHz, UPA id 3
cpu3: 32K instruction (32 b/l), 16K data (32 b/l), 4096K external (64 b/l)
psycho0 at mainbus0 addr 0xfffb4000
psycho0: SUNW,psycho: impl 0, version 4: ign 7c0 bus range 0 to 0; PCI bus 0
extent `psycho mem' (0x0 - 0x7fffffff), flags = 0x0
     0x0 - 0x16fff
extent `psycho io' (0x0 - 0xffff), flags = 0x0
     0x0 - 0x8ff
decreasing interrupt retry timeout from fffff to 0xff
DVMA map: fe000000 to ffffe000
IOTSB: 4344000 to 434c000
memory range: 000001ff 80000000
pci0 at psycho0
ebus0 at pci0 dev 1 function 0
ebus0: Sun Microsystems PCIO Ebus2, revision 0x01
auxio0 at ebus0 addr 726000-726003, 728000-728003, 72a000-72a003, 
72c000-72c003,72f000-72f003
power at ebus0 addr 724000-724003 ipl 2021 ipl 2034 not configured
SUNW,pll at ebus0 addr 504000-504002 not configured
sc at ebus0 addr 500000-500007 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
com0 at ebus0 addr 3083f8-3083ff ipl 41: ns16550a, working fifo
kbd0 at com0
com1 at ebus0 addr 3062f8-3062ff ipl 42: ns16550a, working fifo
ms0 at com1
wsmouse0 at ms0 mux 0
lpt0 at ebus0 addr 3043bc-3043cb, 300398-300399, 700000-70000f ipl 2018
fdthree at ebus0 addr 3023f0-3023f7, 706000-70600f, 720000-720003 ipl 2023 not 
configured
clock0 at ebus0 addr 0-1fff: mk48t59
flashprom at ebus0 addr 0-fffff, 0-fffff not configured
envctrl0 at ebus0 addr 600000-600003 ipl 2024 ipl 2021
envctrl0: Ultra Enterprise 450 environmental monitoring
envctrl0: PS 0: 550W, online
envctrl0: PS 1: 550W, online
envctrl0: PS 2: absent
hme0 at pci0 dev 1 function 1: Sun Happy Meal Ethernet, rev. 1
hme0: interrupting at ivec 37e1
hme0: Ethernet address 08:00:20:b1:47:ad
nsphy0 at hme0 phy 1: DP83840 10/100 media interface, rev. 1
nsphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
esiop0 at pci0 dev 3 function 0: Symbios Logic 53c875 (ultra-wide scsi)
esiop0: using on-board RAM
esiop0: interrupting at ivec 1fe0
esiop0: alloc new tag DSA table at PHY addr 0xfe066000
scsibus0 at esiop0: 16 targets, 8 luns per target
esiop1 at pci0 dev 2 function 0: Symbios Logic 53c875 (ultra-wide scsi)
esiop1: using on-board RAM
esiop1: interrupting at ivec 1fe6
esiop1: alloc new tag DSA table at PHY addr 0xfe068000
scsibus1 at esiop1: 16 targets, 8 luns per target
psycho1 at mainbus0 addr 0xfffc6000
psycho1: SUNW,psycho: impl 0, version 4: ign 7c0 bus range 128 to 128; PCI bus 
128
extent `psycho mem' (0x0 - 0x7fffffff), flags = 0x0
     0x0 - 0xfff
extent `psycho io' (0x0 - 0xffff), flags = 0x0
     0x0 - 0x3ff
memory range: 000001ff 00000000
pci1 at psycho1
timer0 at mainbus0 addr 0xfff9fc00 irq vectors 7ec
mc at mainbus0 not configured
psycho2 at mainbus0 addr 0xfff5e000
psycho2: SUNW,psycho: impl 0, version 4: ign 100 bus range 0 to 0; PCI bus 0
extent `psycho mem' (0x0 - 0x7fffffff), flags = 0x0
     0x0 - 0xfff
extent `psycho io' (0x0 - 0xffff), flags = 0x0
     0x0 - 0x3ff
decreasing interrupt retry timeout from fffff to 0xff
DVMA map: fe000000 to ffffe000
IOTSB: 43b6000 to 43be000
memory range: 000001c9 80000000
pci2 at psycho2
psycho3 at mainbus0 addr 0xfff70000
psycho3: SUNW,psycho: impl 0, version 4: ign 100 bus range 128 to 128; PCI bus 
128
extent `psycho mem' (0x0 - 0x7fffffff), flags = 0x0
     0x0 - 0xfff
extent `psycho io' (0x0 - 0xffff), flags = 0x0
     0x0 - 0x3ff
memory range: 000001c9 00000000
pci3 at psycho3
psycho4 at mainbus0 addr 0xfff36000
psycho4: SUNW,psycho: impl 0, version 4: ign 180 bus range 0 to 0; PCI bus 0
extent `psycho mem' (0x0 - 0x7fffffff), flags = 0x0
     0x0 - 0x180ffff
extent `psycho io' (0x0 - 0xffff), flags = 0x0
     0x0 - 0x3ff
decreasing interrupt retry timeout from fffff to 0xff
DVMA map: fe000000 to ffffe000
IOTSB: 43be000 to 43c6000
memory range: 000001cd 80000000
pci4 at psycho4
genfb0 at pci4 dev 4 function 0: 3D Labs GLINT Permedia 2V
genfb0: bogus parameters, unable to continue
psycho5 at mainbus0 addr 0xfff48000
psycho5: SUNW,psycho: impl 0, version 4: ign 180 bus range 128 to 128; PCI bus 
128
extent `psycho mem' (0x0 - 0x7fffffff), flags = 0x0
     0x0 - 0xfff
extent `psycho io' (0x0 - 0xffff), flags = 0x0
     0x0 - 0x3ff
memory range: 000001cd 00000000
pci5 at psycho5
pcons at mainbus0 not configured
Using %tick -- intr in 4000000 cycles
Using %tick -- intr in 4000000 cycles
Using %tick -- intr in 4000000 cycles
scsibus0: waiting 2 seconds for devices to settle...
Using %tick -- intr in 4000000 cycles
wskbd0 at kbd0 mux 1
scsibus1: waiting 2 seconds for devices to settle...
esiop0: alloc newcdb at PHY addr 0xfe06a000
sd0 at scsibus0 target 0 lun 0: <FUJITSU, MAJ3182M SUN18G, 0804> disk fixed
sd0: 17274 MB, 7508 cyl, 19 head, 248 sec, 512 bytes/sect x 35378533 sectors
sd0: sync (50.00ns offset 16), 16-bit (40.000MB/s) transfers, tagged queueing
sd1 at scsibus0 target 1 lun 0: <FUJITSU, MAJ3182M SUN18G, 0804> disk fixed
sd1: 17274 MB, 7508 cyl, 19 head, 248 sec, 512 bytes/sect x 35378533 sectors
sd1: sync (50.00ns offset 16), 16-bit (40.000MB/s) transfers, tagged queueing
kbd0: reset failed
esiop1: alloc newcdb at PHY addr 0xfe06c000
cd0 at scsibus1 target 6 lun 0: <TOSHIBA, XM6201TASUN32XCD, 1103> cdrom 
removable
cd0: sync (100.00ns offset 16), 8-bit (10.000MB/s) transfers
raidattach: Asked for 8 units
Kernelized RAIDframe activated
Searching for RAID components...
root on sd0a dumps on sd0b
mountroot: trying lfs...
mountroot: trying ffs...
root file system type: ffs
init: copying out path `/sbin/init' 11

>How-To-Repeat:
        Try to use a sparc64 SMP kernel for a while -- this particular
        machine runs rtorrent for the 4.0 release ISO images, and has a 4.0
        user-land.
>Fix:
        Sorry, don't know.



Home | Main Index | Thread Index | Old Index