kern/52916: vinum causes panic after start/stop/... cycle, easy
to reproduce
Pawel Malachowski
pawmal at unia.3lo.lublin.pl
Tue Jun 24 11:30:16 PDT 2003
The following reply was made to PR kern/52916; it has been noted by GNATS.
From: "Pawel Malachowski" <pawmal at unia.3lo.lublin.pl>
To: Greg 'groggy' Lehey <grog at FreeBSD.org>
Cc: Freebsd-gnats-submit at FreeBSD.org
Subject: Re: kern/52916: vinum causes panic after start/stop/... cycle, easy to reproduce
Date: Tue, 24 Jun 2003 20:25:23 +0200
On 24 Jun 2003 at 8:33, Greg 'groggy' Lehey wrote:
> [...] In particular, I need a gdb backtrace, not a ddb
> backtrace. But if it looks the same, keep the dump and I'll look at
> it (or get you to look at it) when I know what I'm looking for.
As I said before, there was no crashdump.
System tries do dump after first panic but fails with second panic.
However, I discovered that when I change dumpdev from /dev/da0s1b
to /dev/da1s1b (second, unused disk), dumping can be done with
success.
I've installed fresh 4.8-RELEASE from CD, updated kernel and userland
do todays 4.8-STABLE. Also vinum resetconfig was done to remove previous
configuration from second hard drive.
# vinum list
0 drives:
0 volumes:
0 plexes:
0 subdisks:
GENERIC kernel was used with the following additions:
makeoptions DEBUG=-g
pseudo-device vinum
options VINUMDEBUG
The following vinum-test.sh was used:
#!/bin/sh
i=1
while [ 1 ]
do
echo Start $i
(sync;sync;sync;sync;sync;sync;sync;sync;sync;sync;sync;sync) &
vinum start
echo Stop $i
vinum stop
i=$(($i + 1))
done
This script was running without problems about 300 times, then I started
`make buildworld' and system crashed immediately.
Here is backtrace:
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x3ef85e4c
fault code = supervisor read, page not present
instruction pointer = 0x8:0xc023c864
stack pointer = 0x10:0xe18d0d70
frame pointer = 0x10:0xe18d0d84
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 6129 (rm)
interrupt mask = none
trap number = 12
panic: page fault
syncing disks...
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x3ef85e4c
fault code = supervisor read, page not present
instruction pointer = 0x8:0xc023c864
stack pointer = 0x10:0xe18d0b20
frame pointer = 0x10:0xe18d0b34
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 6129 (rm)
interrupt mask = none
trap number = 12
panic: page fault
Uptime: 9m2s
dumping to dev #da/0x20009, offset 2621464
dump 767 766 765 764 763 762 761 760 759 758 757 756 755 754 753 752 751 750 749 748 747 746 745
[cut]
(kgdb) bt
#0 dumpsys () at ../../kern/kern_shutdown.c:487
#1 0xc0232867 in boot (howto=260) at ../../kern/kern_shutdown.c:316
#2 0xc0232c8c in poweroff_wait (junk=0xc042a18c, howto=-1069376369)
at ../../kern/kern_shutdown.c:595
#3 0xc03a620e in trap_fatal (frame=0xe18d0ae0, eva=1056464460) at ../../i386/i386/trap.c:974
#4 0xc03a5ee1 in trap_pfault (frame=0xe18d0ae0, usermode=0, eva=1056464460)
at ../../i386/i386/trap.c:867
#5 0xc03a5a9f in trap (frame={tf_fs = 16, tf_es = 16, tf_ds = -814809072, tf_edi = 16,
tf_esi = 1056464276, tf_ebp = -510850252, tf_isp = -510850292, tf_ebx = 4, tf_edx = 2,
tf_ecx = -814803112, tf_eax = -814803112, tf_trapno = 12, tf_err = 0,
tf_eip = -1071396764, tf_cs = 8, tf_eflags = 66050, tf_esp = -1023903520,
tf_ss = -814803112}) at ../../i386/i386/trap.c:466
#6 0xc023c864 in dscheck (bp=0xcf6f1758, ssp=0xc31b6800) at ../../kern/subr_diskslice.c:184
#7 0xc023c4d5 in diskstrategy (bp=0xcf6f1758) at ../../kern/subr_disk.c:246
#8 0xc026bcb4 in spec_strategy (ap=0xe18d0b80) at ../../miscfs/specfs/spec_vnops.c:479
#9 0xc0258682 in bwrite (bp=0xcf6f1758) at vnode_if.h:944
#10 0xc025df46 in vop_stdbwrite (ap=0xe18d0bb0) at ../../kern/vfs_default.c:344
#11 0xc025dd91 in vop_defaultop (ap=0xe18d0bb0) at ../../kern/vfs_default.c:152
#12 0xc02589d2 in bawrite (bp=0xcf6f1758) at vnode_if.h:1193
#13 0xc026bb58 in spec_fsync (ap=0xe18d0c10) at ../../miscfs/specfs/spec_vnops.c:396
#14 0xc033fe33 in ffs_sync (mp=0xc2f82c00, waitfor=2, cred=0xc1adc900, p=0xc055a520)
at vnode_if.h:558
#15 0xc0262e7b in sync (p=0xc055a520, uap=0x0) at ../../kern/vfs_syscalls.c:577
#16 0xc0232602 in boot (howto=256) at ../../kern/kern_shutdown.c:235
#17 0xc0232c8c in poweroff_wait (junk=0xc042a18c, howto=-1069376369)
at ../../kern/kern_shutdown.c:595
#18 0xc03a620e in trap_fatal (frame=0xe18d0d30, eva=1056464460) at ../../i386/i386/trap.c:974
#19 0xc03a5ee1 in trap_pfault (frame=0xe18d0d30, usermode=0, eva=1056464460)
at ../../i386/i386/trap.c:867
#20 0xc03a5a9f in trap (frame={tf_fs = -510853104, tf_es = -1070333936, tf_ds = -1023934448,
tf_edi = 2909664, tf_esi = 1056464276, tf_ebp = -510849660, tf_isp = -510849700,
tf_ebx = 12, tf_edx = 2, tf_ecx = -814693552, tf_eax = -814693552, tf_trapno = 12,
tf_err = 0, tf_eip = -1071396764, tf_cs = 8, tf_eflags = 66050, tf_esp = -1023903520,
tf_ss = -814693552}) at ../../i386/i386/trap.c:466
#21 0xc023c864 in dscheck (bp=0xcf70c350, ssp=0xc31b6800) at ../../kern/subr_diskslice.c:184
#22 0xc023c4d5 in diskstrategy (bp=0xcf70c350) at ../../kern/subr_disk.c:246
#23 0xc026bcb4 in spec_strategy (ap=0xe18d0dcc) at ../../miscfs/specfs/spec_vnops.c:479
#24 0xc034784d in ufs_strategy (ap=0xe18d0e10) at vnode_if.h:944
#25 0xc0347f1d in ufs_vnoperate (ap=0xe18d0e10) at ../../ufs/ufs/ufs_vnops.c:2376
#26 0xc0258682 in bwrite (bp=0xcf70c350) at vnode_if.h:944
#27 0xc025df46 in vop_stdbwrite (ap=0xe18d0e4c) at ../../kern/vfs_default.c:344
#28 0xc025dd91 in vop_defaultop (ap=0xe18d0e4c) at ../../kern/vfs_default.c:152
#29 0xc0347f1d in ufs_vnoperate (ap=0xe18d0e4c) at ../../ufs/ufs/ufs_vnops.c:2376
#30 0xc0258a09 in bowrite (bp=0xcf70c350) at vnode_if.h:1193
#31 0xc0344054 in ufs_dirremove (dvp=0xe18d4780, ip=0xc31b6600, flags=32776, isrmdir=0)
at ../../ufs/ufs/ufs_lookup.c:1051
#32 0xc0345eb7 in ufs_remove (ap=0xe18d0ecc) at ../../ufs/ufs/ufs_vnops.c:721
#33 0xc0347f1d in ufs_vnoperate (ap=0xe18d0ecc) at ../../ufs/ufs/ufs_vnops.c:2376
#34 0xc026427f in unlink (p=0xd9f89520, uap=0xe18d0f80) at vnode_if.h:583
#35 0xc03a64bd in syscall2 (frame={tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 1,
tf_esi = 134717440, tf_ebp = -1077938368, tf_isp = -510849068, tf_ebx = 134778368,
tf_edx = 134778448, tf_ecx = 0, tf_eax = 10, tf_trapno = 7, tf_err = 2,
tf_eip = 134523416, tf_cs = 31, tf_eflags = 643, tf_esp = -1077938412, tf_ss = 47})
at ../../i386/i386/trap.c:1175
#36 0xc0397375 in Xint0x80_syscall ()
#37 0x8048367 in ?? ()
#38 0x804813e in ?? ()
(kgdb) up 6
#6 0xc023c864 in dscheck (bp=0xcf6f1758, ssp=0xc31b6800) at ../../kern/subr_diskslice.c:184
184 } else {
(kgdb) list
179 }
180 if (lp == NULL) {
181 labelsect = -LABELSECTOR - 1;
182 endsecno = sp->ds_size;
183 slicerel_secno = secno;
184 } else {
185 labelsect = lp->d_partitions[LABEL_PART].p_offset;
186 if (labelsect != 0) Debugger("labelsect != 0 in dscheck()");
187 pp = &lp->d_partitions[dkpart(bp->b_dev)];
188 endsecno = pp->p_size;
(kgdb) up 15
#21 0xc023c864 in dscheck (bp=0xcf70c350, ssp=0xc31b6800) at ../../kern/subr_diskslice.c:184
184 } else {
--
Pawe³ Ma³achowski
More information about the freebsd-bugs
mailing list