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