panic on heavy read/writes (5.1 + vinum)
Hari Bhaskaran
subscr at spider.netmails.net
Mon Aug 18 20:15:34 PDT 2003
ok, here is it, trace for kernel panic
NOTE: There seems to a problem in the .gdbinit files
(I may need your help on that).
panic: free locked buf
panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x14
fault code = supervisor write, page not present
instruction pointer = 0x8:0xc02d15f9
stack pointer = 0x10:0xd257d858
frame pointer = 0x10:0xd257d88c
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 = 94137 (genattrtab)
trap number = 12
panic: page fault
syncing disks, buffers remaining... 2220 2220 panic: free locked buf
Uptime: 5h12m33s
Dumping 256 MB
ata0: resetting devices ..
done
16 32 48 64 80 96 112 128 144 160 176 192 208 224 240
---
And here is the output on gdb f & bt commands
(kgdb) f 1
#1 0xc0303b9a in boot ()
(kgdb) bt
#0 0xc030366b in doadump ()
#1 0xc0303b9a in boot ()
#2 0xc0303e53 in panic ()
#3 0xc2758926 in freerq (rq=0xc2ebc8c0) at /usr/src/sys/dev/vinum/vinuminterrupt.c:252
#4 0xc275882a in complete_rqe (bp=0xc2633024) at /usr/src/sys/dev/vinum/vinuminterrupt.c:
230
#5 0xc0346451 in bufdone ()
#6 0xc0346354 in bufdonebio ()
#7 0xc03461b2 in biodone ()
#8 0xc02d159e in g_dev_done ()
#9 0xc03461b2 in biodone ()
#10 0xc02d3d42 in g_io_schedule_up ()
#11 0xc02d3f38 in g_up_procbody ()
#12 0xc02f109e in fork_exit ()
Now this trace may be wrong because gdb gave this error when it loaded.
Reading symbols from /usr/obj/usr/src/sys/DEBUG/modules/usr/src/sys/modules/vinum/vinum.ko
.debug...done.
Loaded symbols for /usr/obj/usr/src/sys/DEBUG/modules/usr/src/sys/modules/vinum/vinum.ko.d
ebug
#0 0xc030366b in doadump ()
.gdbinit:4: Error in sourced command file:
Attempt to extract a component of a value that is not a structure.
I have all these in separate files (output, gdbinit files etc) in a zip.
BTW, I was doing a make buildworld while the machine crashed.
And yes, both kernel and vinum.ko have debugging info.
ettukaali# file /boot/kernel/kernel
/boot/kernel/kernel: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked (uses shared libs), not stripped
ettukaali# ls -al /boot/kernel/kernel
-r-xr-xr-x 1 root wheel 5455085 Aug 17 23:07 /boot/kernel/kernel
ettukaali# file /boot/kernel/vinum.ko
/boot/kernel/vinum.ko: ELF 32-bit LSB shared object, Intel 80386, version 1 (FreeBSD), not stripped
ettukaali# ls -al /boot/kernel/vinum.ko
-r-xr-xr-x 1 root wheel 96588 Aug 18 07:34 /boot/kernel/vinum.ko
ettukaali#
(Aug 17 23:07 is approx when I made the debug kernel)
(Aug 18 07:34 is approx when I did make installkernel - although I would
have expected the last-mod-time on vinum.ko to match that of kernel)
Either-way the make buildworld wouldn't have affected any of these files
since I did it in the afternoon.
--
Hari
On Mon, Aug 18, 2003 at 09:21:59AM +0930, Greg 'groggy' Lehey wrote:
> Follow the steps at
> http://www.vinumvm.org/vinum/how-to-debug.html#panic. I can't help
> you if you don't tell me what's wrong.
More information about the freebsd-questions
mailing list