panic: page fault head/amd64 _at_r361830

From: David Wolfskill <david_at_catwhisker.org>
Date: Fri, 5 Jun 2020 06:41:27 -0700
My build machine had no issues with the upgrade from r361784 to r361830,
but my laptop panicked during the transition from single- to multi-user
mode, just after bpf was attached.

Rebooting from the old kernel worked; trying to boot from r361830
failed again with similar symptoms, and the laptop normally runs
stable/12 (r361761 yesterday; r361831 today), so it seems to be an
issue in head.

The build machine isn't a DHCP client, and doesn't run ipfw; the laptop
differs (in both respects).

The backtrace (from the core.txt file:

...
<118>Mounting local filesystems:
linprocfs registered
<118>.
<118>ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/R/lib /usr/local/lib/compat /usr/local/lib/gcc9 /usr/l
ocal/lib/graphviz /usr/local/lib/mysql /usr/local/lib/perl5/5.30/mach/CORE /usr/local/lib/qt5 /usr/local/llvm80/lib /usr/local/llvm90/lib 
/usr/local/share/chromium
<118>32-bit compatibility ldconfig path: /usr/lib32 /usr/lib32/compat /usr/local/lib32/compat
<118>Setting hostname: localhost.
<118>Setting up harvesting: PURE_RDRAND,[UMA],[FS_ATIME],SWI,INTERRUPT,NET_NG,[NET_ETHER],NET_TUN,MOUSE,KEYBOARD,ATTACH,CACHED
<118>Feeding entropy: .
<6>wlan0: bpf attached

<6>wlan0: bpf attached

Fatal trap 12: page fault while in kernel mode
cpuid = 3; apic id = 03
fault virtual address   = 0x0
fault code              = supervisor read instruction, page not present
instruction pointer     = 0x20:0x0
stack pointer           = 0x28:0xfffffe0fc08c3b08
frame pointer           = 0x28:0xfffffe0fc08c3b80
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         = 0 (iwn0 net80211 taskq)
trap number             = 12
panic: page fault
cpuid = 3
time = 1591362374
KDB: stack backtrace:
db_trace_self_wrapper() at 0xffffffff804a4afb = db_trace_self_wrapper+0x2b/frame 0xfffffe0fc08c37b0
vpanic() at 0xffffffff80b93452 = vpanic+0x182/frame 0xfffffe0fc08c3800
panic() at 0xffffffff80b93203 = panic+0x43/frame 0xfffffe0fc08c3860
trap_fatal() at 0xffffffff81069b07 = trap_fatal+0x387/frame 0xfffffe0fc08c38c0
trap_pfault() at 0xffffffff81069ba9 = trap_pfault+0x99/frame 0xfffffe0fc08c3920
trap() at 0xffffffff810691a5 = trap+0x2a5/frame 0xfffffe0fc08c3a30
calltrap() at 0xffffffff8103edb8 = calltrap+0x8/frame 0xfffffe0fc08c3a30
--- trap 0xc, rip = 0, rsp = 0xfffffe0fc08c3b08, rbp = 0xfffffe0fc08c3b80 ---
??() at 0/frame 0xfffffe0fc08c3b80
taskqueue_thread_loop() at 0xffffffff80bf3214 = taskqueue_thread_loop+0x94/frame 0xfffffe0fc08c3bb0
fork_exit() at 0xffffffff80b503c0 = fork_exit+0x80/frame 0xfffffe0fc08c3bf0
fork_trampoline() at 0xffffffff8103fdfe = fork_trampoline+0xe/frame 0xfffffe0fc08c3bf0
--- trap 0, rip = 0, rsp = 0, rbp = 0 ---
KDB: enter: panic

__curthread () at /usr/src/sys/amd64/include/pcpu_aux.h:55
55              __asm("movq %%gs:%P1,%0" : "=r" (td) : "n" (offsetof(struct pcpu,
(kgdb) #0  __curthread () at /usr/src/sys/amd64/include/pcpu_aux.h:55
#1  doadump (textdump=0) at /usr/src/sys/kern/kern_shutdown.c:394
#2  0xffffffff804a1eaa in db_dump (dummy=<optimized out>, 
    dummy2=<unavailable>, dummy3=<unavailable>, dummy4=<unavailable>)
    at /usr/src/sys/ddb/db_command.c:575
#3  0xffffffff804a1c6c in db_command (last_cmdp=<optimized out>, 
    cmd_table=<optimized out>, dopager=1) at /usr/src/sys/ddb/db_command.c:482
#4  0xffffffff804a19dd in db_command_loop ()
    at /usr/src/sys/ddb/db_command.c:535
#5  0xffffffff804a4c48 in db_trap (type=<optimized out>, code=<optimized out>)
    at /usr/src/sys/ddb/db_main.c:253
#6  0xffffffff80bdde34 in kdb_trap (type=3, code=0, tf=<optimized out>)
    at /usr/src/sys/kern/subr_kdb.c:699
#7  0xffffffff810696b8 in trap (frame=0xfffffe0fc08c36e0)
    at /usr/src/sys/amd64/amd64/trap.c:578
#8  <signal handler called>
#9  kdb_enter (why=0xffffffff8122ff12 "panic", msg=<optimized out>)
    at /usr/src/sys/kern/subr_kdb.c:486
#10 0xffffffff80b9346e in vpanic (fmt=<optimized out>, ap=<optimized out>)
    at /usr/src/sys/kern/kern_shutdown.c:902
#11 0xffffffff80b93203 in panic (
    fmt=0xffffffff81c7f298 <cnputs_mtx> "\326/\037\201\377\377\377\377")
    at /usr/src/sys/kern/kern_shutdown.c:839
#2  0xffffffff804a1eaa in db_dump (dummy=<optimized out>, 
    dummy2=<unavailable>, dummy3=<unavailable>, dummy4=<unavailable>)
    at /usr/src/sys/ddb/db_command.c:575
#3  0xffffffff804a1c6c in db_command (last_cmdp=<optimized out>, 
    cmd_table=<optimized out>, dopager=1) at /usr/src/sys/ddb/db_command.c:482
#4  0xffffffff804a19dd in db_command_loop ()
    at /usr/src/sys/ddb/db_command.c:535
#5  0xffffffff804a4c48 in db_trap (type=<optimized out>, code=<optimized out>)
    at /usr/src/sys/ddb/db_main.c:253
#6  0xffffffff80bdde34 in kdb_trap (type=3, code=0, tf=<optimized out>)
    at /usr/src/sys/kern/subr_kdb.c:699
#7  0xffffffff810696b8 in trap (frame=0xfffffe0fc08c36e0)
    at /usr/src/sys/amd64/amd64/trap.c:578
#8  <signal handler called>
#9  kdb_enter (why=0xffffffff8122ff12 "panic", msg=<optimized out>)
    at /usr/src/sys/kern/subr_kdb.c:486
#10 0xffffffff80b9346e in vpanic (fmt=<optimized out>, ap=<optimized out>)
    at /usr/src/sys/kern/kern_shutdown.c:902
#11 0xffffffff80b93203 in panic (
    fmt=0xffffffff81c7f298 <cnputs_mtx> "\326/\037\201\377\377\377\377")
    at /usr/src/sys/kern/kern_shutdown.c:839
#12 0xffffffff81069b07 in trap_fatal (frame=0xfffffe0fc08c3a40, eva=0)
    at /usr/src/sys/amd64/amd64/trap.c:919
#13 0xffffffff81069ba9 in trap_pfault (frame=0xfffffe0fc08c3a40, 
    usermode=<optimized out>, signo=<optimized out>, ucode=<optimized out>)
    at /usr/src/sys/amd64/amd64/trap.c:736
#14 0xffffffff810691a5 in trap (frame=0xfffffe0fc08c3a40)
    at /usr/src/sys/amd64/amd64/trap.c:400
#15 <signal handler called>
#16 0x0000000000000000 in ?? ()
#17 0xffffffff80bf219a in taskqueue_run_locked (queue=0xfffff8000f1e9100)
    at /usr/src/sys/kern/subr_taskqueue.c:476
#18 0xffffffff80bf3214 in taskqueue_thread_loop (arg=<optimized out>)
    at /usr/src/sys/kern/subr_taskqueue.c:793
#19 0xffffffff80b503c0 in fork_exit (
    callout=0xffffffff80bf3180 <taskqueue_thread_loop>, 
    arg=0xfffffe1052453148, frame=0xfffffe0fc08c3c00)
    at /usr/src/sys/kern/kern_fork.c:1053
#20 <signal handler called>
(kgdb) 

Please see http://www.catwhisker.org/~david/FreeBSD/head/r361830/
for the crasah cump, core.txt file, and anything else I think to put
there that might be useful.

http://www.catwhisker.org/~david/FreeBSD/history/ has pointers to
recent copies of dmesg.boot from a verbose boot and sundry other
bits of trivia, some of which may be of use.

Peace,
david
-- 
David H. Wolfskill				david_at_catwhisker.org
"... we distance ourselves from the incendiary language of this President."
 -- Bishop Mariann Edgar Budde of the Episcopal Diocese of Washington

See http://www.catwhisker.org/~david/publickey.gpg for my public key.

Received on Fri Jun 05 2020 - 11:41:36 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:24 UTC