Panic: GPF in kernel mode in fork_exit() (prior to FS mouont)
Konstantin Belousov
kostikbel at gmail.com
Mon Nov 23 13:33:33 UTC 2015
On Mon, Nov 23, 2015 at 05:23:20AM -0800, David Wolfskill wrote:
> This was the "smoke test" boot after building:
>
> FreeBSD 11.0-CURRENT FreeBSD 11.0-CURRENT #253 r291193M/291193:1100090: Mon Nov 23 04:43:34 PST 2015 root at g1-252.catwhisker.org:/common/S4/obj/usr/src/sys/CANARY amd64
>
> and (as noted), it happened fairly early in the boot sequence --
> before the file systems were mounted, but after the device probes.
>
> It also affected my build machine (same source revision) the same way.
>
> The most recent successful head built & booted on the machine was:
>
> FreeBSD g1-252.catwhisker.org 11.0-CURRENT FreeBSD 11.0-CURRENT #252 r291159M/291159:1100090: Sun Nov 22 05:16:34 PST 2015 root at localhost:/common/S4/obj/usr/src/sys/CANARY amd64
>
>
> I was able to capture a crash dump (by issuing "panic" at the "db>
> " prompt); I've copied the vmcore.8 & core.txt.8 to
> <http://www.catwhisker.org/~david/FreeBSD/head/>. Here's an excerpt from
> the core.txt.8:
>
> ...
> SMP: passed TSC synchronization test
> TSC timecounter discards lower 1 bit(s)
> Timecounter "TSC-low" frequency 1396804168 Hz quality 1000
> WARNING: WITNESS option enabled, expect reduced performance.
> WARNING: DIAGNOSTIC option enabled, expect reduced performance.
> Expensive timeout(9) function: 0xffffffff808830d0(0xffffffff81761898) 0.004704835 s
> battery0: battery initialization done, tried 1 times
> GEOM: new disk cd0
> GEOM_PART: partition 1 on (diskid/DISK-W200TLZD, MBR) is not aligned on 4096 bytes
> GEOM_PART: partition 2 on (diskid/DISK-W200TLZD, MBR) is not aligned on 4096 bytes
> GEOM_PART: partition 3 on (diskid/DISK-W200TLZD, MBR) is not aligned on 4096 bytes
> start_init: trying /sbin/init
>
>
> Fatal trap 9: general protection fault while in kernel mode
> cpuid = 6; apic id = 06
> instruction pointer = 0x20:0xffffffff809b049e
> stack pointer = 0x28:0xfffffe06015a2a70
> frame pointer = 0x28:0xfffffe06015a2ab0
> code segment = base 0x0, limit 0xfffff, type 0x1b
> = DPL 0, pres 1, long 1, def32 0, gran 1
> processor eflags = interrupt enabled, resume, IOPL = 0
> current process = 1 (init)
> Uptime: 3s
> ....
>
> I'm happy to test possible fixes.
The source line which paniced is kern_fork.c:1025, according to the kgdb
backtrace. The corresponding fragment is
if (p->p_sysent->sv_schedtail != NULL)
(p->p_sysent->sv_schedtail)(td);
The revision 291171 changed layout of the dereferenced structure
sysentvec. Was your kernel build clean, or did you used -DNO_CLEAN or
similar option ? If yes, remove the kernel build directory and start
from scratch.
More information about the freebsd-current
mailing list