Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 May 2002 12:37:26 -0700 (PDT)
From:      Paul Herman <pherman@frenchfries.net>
To:        freebsd-stable@FreeBSD.ORG
Subject:   Re: panic: softdep_disk_write_complete: lock is held
Message-ID:  <20020517123019.V1458-100000@mammoth.eat.frenchfries.net>
In-Reply-To: <20020517115857.Y1458-100000@mammoth.eat.frenchfries.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 17 May 2002, Paul Herman wrote:

> In 4.6-PRERELEASE I have found a reproducible panic on my machine.

Sorry (replying to my own message.)  The last backtrace was a 2nd
panic while syncing disks after the first one.  Here's the full
backtrace:

panicstr: softdep_lock: locking against myself
panic messages:
---
panic: softdep_disk_write_complete: lock is held

syncing disks... panic: softdep_lock: locking against myself
Uptime: 1m59s
wi0: timeout in wi_seek to 146/3c; last status 403c

dumping to dev #ad/0x30001, offset 789504
dump ata0: resetting devices .. done
126 [CTRL-C to abort] [CTRL-C to abort] 125 124 [CTRL-C to abort] 123 122 121 120 119 118 117 116 115 114 113 112 [CTRL-C to abort] 111 [CTRL-C to abort] 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
---
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
487		if (dumping++) {
(kgdb) bt
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
#1  0xc01ecfb3 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:316
#2  0xc01ed3d8 in poweroff_wait (junk=0xc03d5600, howto=-1056611328)
    at /usr/src/sys/kern/kern_shutdown.c:595
#3  0xc02f04c2 in acquire_lock (lk=0xc04259bc)
    at /usr/src/sys/ufs/ffs/ffs_softdep.c:261
#4  0xc02f45dc in softdep_update_inodeblock (ip=0xc1056400, bp=0xc377d5dc,
    waitfor=0) at /usr/src/sys/ufs/ffs/ffs_softdep.c:3813
#5  0xc02ef611 in ffs_update (vp=0xccdedd40, waitfor=0)
    at /usr/src/sys/ufs/ffs/ffs_inode.c:106
#6  0xc02f7932 in ffs_sync (mp=0xc1006400, waitfor=2, cred=0xc0b2a580,
    p=0xc0478300) at /usr/src/sys/ufs/ffs/ffs_vfsops.c:1022
#7  0xc021c72f in sync (p=0xc0478300, uap=0x0)
    at /usr/src/sys/kern/vfs_syscalls.c:576
#8  0xc01ecd4e in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:235
#9  0xc01ed3d8 in poweroff_wait (junk=0xc03d6540, howto=-1015245560)
    at /usr/src/sys/kern/kern_shutdown.c:595
#10 0xc02f3b24 in softdep_disk_write_complete (bp=0xc37c9b84)
    at /usr/src/sys/ufs/ffs/ffs_softdep.c:3228
#11 0xc0214631 in biodone (bp=0xc37c9b84) at /usr/src/sys/kern/vfs_bio.c:2703
#12 0xc0216730 in cluster_callback (bp=0xc377880c)
    at /usr/src/sys/kern/vfs_cluster.c:549
#13 0xc0214604 in biodone (bp=0xc377880c) at /usr/src/sys/kern/vfs_bio.c:2698
#14 0xc015ca1f in ad_interrupt (request=0xc1157880)
    at /usr/src/sys/dev/ata/ata-disk.c:694
#15 0xc01540e8 in ata_intr (data=0xc0f9ff00)
    at /usr/src/sys/dev/ata/ata-all.c:614
#16 0xc0369f12 in vec14 ()
#17 0xc01cbe32 in wihap_data_input (sc=0xc0f9a000, rxfrm=0xcc920cd0,
    m=0xc0b2f500) at /usr/src/sys/dev/wi/wi_hostap.c:1082
#18 0xc01c6e16 in wi_rxeof (sc=0xc0f9a000) at /usr/src/sys/dev/wi/if_wi.c:720
#19 0xc01c710e in wi_intr (xsc=0xc0f9a000) at /usr/src/sys/dev/wi/if_wi.c:856
#20 0xc0375d92 in generic_bcopy ()
#21 0xc0225537 in spec_strategy (ap=0xcc920e0c)
    at /usr/src/sys/miscfs/specfs/spec_vnops.c:453
#22 0xc0224fc1 in spec_vnoperate (ap=0xcc920e0c)
    at /usr/src/sys/miscfs/specfs/spec_vnops.c:119
#23 0xc02ffb5d in ufs_vnoperatespec (ap=0xcc920e0c)
    at /usr/src/sys/ufs/ufs/ufs_vnops.c:2440
#24 0xc02ff45d in ufs_strategy (ap=0xcc920e50) at vnode_if.h:944
#25 0xc02ffb2d in ufs_vnoperate (ap=0xcc920e50)
    at /usr/src/sys/ufs/ufs/ufs_vnops.c:2422
#26 0xc0212262 in bwrite (bp=0xc37bda48) at vnode_if.h:944
#27 0xc021785e in vop_stdbwrite (ap=0xcc920eb4)
    at /usr/src/sys/kern/vfs_default.c:331
#28 0xc02176b9 in vop_defaultop (ap=0xcc920eb4)
    at /usr/src/sys/kern/vfs_default.c:150
#29 0xc02ffb2d in ufs_vnoperate (ap=0xcc920eb4)
    at /usr/src/sys/ufs/ufs/ufs_vnops.c:2422
#30 0xc02131a7 in vfs_bio_awrite (bp=0xc37bda48) at vnode_if.h:1193
#31 0xc02f8f09 in ffs_fsync (ap=0xcc920f18)
    at /usr/src/sys/ufs/ffs/ffs_vnops.c:220
#32 0xc02f78d7 in ffs_sync (mp=0xc1018c00, waitfor=3, cred=0xc0b2a580,
    p=0xc7e255e0) at vnode_if.h:558
#33 0xc021ba89 in sync_fsync (ap=0xcc920f7c)
    at /usr/src/sys/kern/vfs_subr.c:2972
#34 0xc021a113 in sched_sync () at vnode_if.h:558
(kgdb) up 10
#10 0xc02f3b24 in softdep_disk_write_complete (bp=0xc37c9b84)
    at /usr/src/sys/ufs/ffs/ffs_softdep.c:3228
3228			panic("softdep_disk_write_complete: lock is held");
(kgdb) list
3223		struct inodedep *inodedep;
3224		struct bmsafemap *bmsafemap;
3225
3226	#ifdef DEBUG
3227		if (lk.lkt_held != -1)
3228			panic("softdep_disk_write_complete: lock is held");
3229		lk.lkt_held = -2;
3230	#endif
3231		LIST_INIT(&reattach);
3232		while ((wk = LIST_FIRST(&bp->b_dep)) != NULL) {
(kgdb) print *bp
$1 = {b_hash = {le_next = 0xc37d05dc, le_prev = 0xc37ee084}, b_vnbufs = {
    tqe_next = 0xc37c9508, tqe_prev = 0xc37c9a40}, b_freelist = {
    tqe_next = 0xc37c9508, tqe_prev = 0xc37ad5ac}, b_act = {tqe_next = 0x0,
    tqe_prev = 0xc0fd20a4}, b_flags = 537006628, b_qindex = 0,
  b_xflags = 2 '\002', b_lock = {lk_interlock = {lock_data = 0},
    lk_flags = 1024, lk_sharecount = 0, lk_waitcount = 0,
    lk_exclusivecount = 1, lk_prio = 20, lk_wmesg = 0xc03bde90 "bufwait",
    lk_timo = 0, lk_lockholder = -2}, b_error = 0, b_bufsize = 16384,
  b_runningbufspace = 0, b_bcount = 16384, b_resid = 0, b_dev = 0xffffffff,
  b_data = 0xc477b000 "\201Y\035¢æÛÿ\\\"G\230êF\"9ÉÞ4\223¡°Ú\201hßf y\227\021U\177奵²¤Æïm\001¼áÉÿC\177puë¾F\rZó\212GÏ^\025ß¹/`O\213Ï(\aX\013?ÜêW»7\fä",
  b_kvabase = 0xc477b000 "\201Y\035¢æÛÿ\\\"G\230êF\"9ÉÞ4\223¡°Ú\201hßf y\227\021U\177奵²¤Æïm\001¼áÉÿC\177puë¾F\rZó\212GÏ^\025ß¹/`O\213Ï(\aX\013?ÜêW»7\fä",
  b_kvasize = 16384, b_lblkno = 720, b_blkno = 28896, b_offset = 11796480,
  b_iodone = 0, b_iodone_chain = 0x0, b_vp = 0xccf79840, b_dirtyoff = 0,
  b_dirtyend = 0, b_rcred = 0x0, b_wcred = 0x0, b_pblkno = 26866808,
  b_saveaddr = 0x0, b_driver1 = 0x0, b_driver2 = 0x0, b_caller1 = 0x0,
  b_caller2 = 0x0, b_pager = {pg_spc = 0x0, pg_reqpage = 0}, b_cluster = {
    cluster_head = {tqh_first = 0xc37c9508, tqh_last = 0xc37788c0},
    cluster_entry = {tqe_next = 0xc37c9508, tqe_prev = 0xc37788c0}},
  b_pages = {0xc099b3bc, 0xc0997f78, 0xc08c8cb4, 0xc0999a30,
    0x0 <repeats 28 times>}, b_npages = 4, b_dep = {lh_first = 0xc1157bc0},
  b_chain = {parent = 0x0, count = 0}}
(kgdb) quit

-Paul.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020517123019.V1458-100000>