partial memory dump
Vijay.Singh at nokia.com
Vijay.Singh at nokia.com
Tue Mar 8 12:03:08 PST 2005
Hello all. I am trying to allow a FreeBSD based kernel to crash dump even if configured swap is not enough to fill entire physical memory. This is because there could be 2G RAM on the system. I assume that most pages would not be mapped.
The algorithm to do this is to have a bitmask, with bits set for pages: from 0 to Maxmem, and then adding pages from USRSTACK to vm_map_max(kmem_map). This is done in scsi_da.c, dadump() routine. I am able to get the dump, and after savecore collects it from swap I get the kernel and core files. However I am not able to get the stack trace.
Anything in the design (pages) that I might have missed?
nexthop[admin]# gdb -k kernel.2 vmcore.2
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.16 (i386-unknown-freebsd),
Copyright 1996 Free Software Foundation, Inc...(no debugging symbols found)...
IdlePTD 69f000
current pcb at 4dd794
panic: page fault
#0 0xf6371ade in boot (cannot read proc at 0xca6c0400
)
(kgdb) bt
#0 0xf6371ade in boot (cannot read proc at 0xca6c0400
)
cannot read proc at 0xca6c0400
br,
vijay
More information about the freebsd-hackers
mailing list