misc/126972: kernel fails to load with a big mfs image
David Naylor
naylor.b.david at gmail.com
Sat Aug 30 13:10:02 UTC 2008
>Number: 126972
>Category: misc
>Synopsis: kernel fails to load with a big mfs image
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat Aug 30 13:10:02 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: David Naylor
>Release: 8-Current
>Organization:
Private
>Environment:
FreeBSD dragonmini.dg 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Tue Aug 26 20:30:23 SAST 2008 root at dragonmini.dg:/tmp/usr/src/sys/GENERIC i386
>Description:
The kernel fails to boot when loading a big mfs image at boot time. This problem does not appear on amd64. Changing vm.kmem_size and vm.kmem_size_max to 512MiB does not help. Although in this case the mfs image is compressed I do not think it changes anything.
>How-To-Repeat:
Create a big file and load it on boot...
Add the following to loader.conf:
dragonroot_load="YES"
dragonroot_type="mfs_root"
dragonroot_name="/boot/dragonroot"
where /boot/dragonroot is a big file...
(please see attached for the output [via serial] and the backtrace)
>Fix:
Patch attached with submission follows:
OK ls -l boot/
boot/
d 512 zfs
d 512 firmware
d 512 kernel
d 512 modules
d 512 defaults
8192 boot
512 boot1
7680 boot2
1201 cdboot
7551 gptboot
249856 loader
15219 loader.help
7545 loader.4th
36462 support.4th
692 screen.4th
2249 frames.4th
7636 beastie.4th
385 loader.rc
251904 pxeboot
1776 device.hints
406 loader.conf
512 mbr
512 pmbr
512 boot0
512 boot0sio
95251544 dragonroot.gz
OK show vm.kmem_size
512M
OK show vm.kmem_size_max
512M
OK boot
/boot/kernel/acpi.ko text=0x521cc data=0x2640+0x182c syms=[0x4+0x8b80+0x4+0xbe19]
GDB: no debug ports present
KDB: debugger backends: ddb
KDB: current backend: ddb
1048576K of memory above 4GB ignored
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.0-CURRENT #0: Wed Aug 27 23:13:13 SAST 2008
root at dragonmini.dg:/tmp/usr/src/sys/GENERIC
WARNING: WITNESS option enabled, expect reduced performance.
Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address = 0xbff1e000
fault code = supervisor write, page not present
instruction pointer = 0x20:0xc0a82bdb
stack pointer = 0x28:0xc7020cf0
frame pointer = 0x28:0xc7020d08
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 = 0 ()
[thread pid 0 tid 0 ]
Stopped at pmap_map+0x2d: movl %eax,PTmap(,%edx,4)
db> bt
Tracing pid 0 tid 0 td 0xc0c608a0
pmap_map(c7020d64,bcc98000,bff98000,3,c7445000,...) at pmap_map+0x2d
vm_page_startup(c748e000,a,c7020d88,c075e76e,0,...) at vm_page_startup+0x27f
vm_mem_init(0,701ec00,701ec00,701e000,7025000,...) at vm_mem_init+0x18
mi_startup() at mi_startup+0x90
begin() at begin+0x2c
db>
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list