[Bug 254419] Fatal trap 12: page fault while in kernel mode, nginx + sendfile on
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sat Mar 20 01:19:44 UTC 2021
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254419
Bug ID: 254419
Summary: Fatal trap 12: page fault while in kernel mode, nginx
+ sendfile on
Product: Base System
Version: 13.0-STABLE
Hardware: amd64
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: kern
Assignee: bugs at FreeBSD.org
Reporter: viaprog at gmail.com
FreeBSD-13.0-RC3, git rev 8f731a397ad4dc7b17622c0e69ac045f4a7b9d5b
nginx + sendfile on = kernel panic. With sendfile = off - working fine.
Fatal trap 12: page fault while in kernel mode
cpuid = 19; apic id = 13
fault virtual address = 0x0
fault code = supervisor read data, page not present
instruction pointer = 0x20:0xffffffff8095fa46
stack pointer = 0x28:0xfffffe01533dd1a0
frame pointer = 0x28:0xfffffe01533dd1b0
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 = 3395 (nginx)
trap number = 12
panic: page fault
cpuid = 19
time = 1616197293
KDB: stack backtrace:
#0 0xffffffff80687015 at kdb_backtrace+0x65
#1 0xffffffff8063a051 at vpanic+0x181
#2 0xffffffff80639ec3 at panic+0x43
#3 0xffffffff809830d7 at trap_fatal+0x387
#4 0xffffffff8098312f at trap_pfault+0x4f
#5 0xffffffff8098278d at trap+0x27d
#6 0xffffffff8095b938 at calltrap+0x8
#7 0xffffffff8095f957 at in_cksum_skip+0x77
#8 0xffffffff8079dc1d at in_delayed_cksum+0x3d
#9 0xffffffff80823d03 at pf_test+0x1403
#10 0xffffffff8083ac6f at pf_check_out+0x1f
#11 0xffffffff80770de7 at pfil_run_hooks+0x97
#12 0xffffffff8079d3f1 at ip_output+0xb61
#13 0xffffffff807b44e4 at tcp_output+0x1b04
#14 0xffffffff807ca379 at tcp_usr_send+0x229
#15 0xffffffff80637f6a at vn_sendfile+0x197a
#16 0xffffffff80638967 at sendfile+0x127
#17 0xffffffff809839dc at amd64_syscall+0x10c
Uptime: 1m0s
Dumping 1632 out of 32637 MB:..1%..11%..21%..31%..41%..51%..61%..71%..81%..91%
__curthread () at /usr/src/sys/amd64/include/pcpu_aux.h:55
55 __asm("movq %%gs:%P1,%0" : "=r" (td) : "n" (offsetof(struct
pcpu,
(kgdb) list *0xffffffff8095fa46
0xffffffff8095fa46 is in in_cksumdata
(/usr/src/sys/amd64/amd64/in_cksum.c:113).
108 if ((offset = 3 & (long) lw) != 0) {
109 const u_int32_t *masks = in_masks + (offset << 2);
110 lw = (u_int32_t *) (((long) lw) - offset);
111 sum = *lw++ & masks[len >= 3 ? 3 : len];
112 len -= 4 - offset;
113 if (len <= 0) {
114 REDUCE32;
115 return sum;
116 }
117 }
(kgdb)
(kgdb) bt
#0 __curthread () at /usr/src/sys/amd64/include/pcpu_aux.h:55
#1 doadump (textdump=<optimized out>) at /usr/src/sys/kern/kern_shutdown.c:399
#2 0xffffffff80639c46 in kern_reboot (howto=260) at
/usr/src/sys/kern/kern_shutdown.c:486
#3 0xffffffff8063a0c0 in vpanic (fmt=<optimized out>, ap=<optimized out>) at
/usr/src/sys/kern/kern_shutdown.c:919
#4 0xffffffff80639ec3 in panic (fmt=<unavailable>) at
/usr/src/sys/kern/kern_shutdown.c:843
#5 0xffffffff809830d7 in trap_fatal (frame=0xfffffe01533dd0e0, eva=0) at
/usr/src/sys/amd64/amd64/trap.c:915
#6 0xffffffff8098312f in trap_pfault (frame=frame at entry=0xfffffe01533dd0e0,
usermode=false, signo=<optimized out>, signo at entry=0x0, ucode=<optimized out>,
ucode at entry=0x0)
at /usr/src/sys/amd64/amd64/trap.c:732
#7 0xffffffff8098278d in trap (frame=0xfffffe01533dd0e0) at
/usr/src/sys/amd64/amd64/trap.c:398
#8 <signal handler called>
#9 0xffffffff8095fa46 in in_cksumdata (buf=<optimized out>,
len=len at entry=1140) at /usr/src/sys/amd64/amd64/in_cksum.c:113
#10 0xffffffff8095f957 in in_cksum_skip (m=0xfffff80608d32300,
m at entry=0xfffff804e6cab200, len=1140, skip=<optimized out>, skip at entry=20) at
/usr/src/sys/amd64/amd64/in_cksum.c:224
#11 0xffffffff8079dc1d in in_delayed_cksum (m=0xfffff804e6cab200) at
/usr/src/sys/netinet/ip_output.c:1083
#12 0xffffffff80823d03 in pf_route (m=0xfffffe01533dd4f8, r=0xfffff8000d90cc00,
dir=0, oifp=0xfffff8000d86c000, s=<optimized out>, pd=0xfffffe01533dd288,
inp=0xfffff8062603a988)
at /usr/src/sys/netpfil/pf/pf.c:5558
#13 pf_test (dir=<optimized out>, dir at entry=2, pflags=<optimized out>,
ifp=<optimized out>, m0=<optimized out>, m0 at entry=0xfffffe01533dd4f8,
inp=<optimized out>)
at /usr/src/sys/netpfil/pf/pf.c:6269
#14 0xffffffff8083ac6f in pf_check_out (m=0xfffffe01533dd4f8, ifp=0x0,
flags=1140, ruleset=<optimized out>, inp=0x0) at
/usr/src/sys/netpfil/pf/pf_ioctl.c:4516
#15 0xffffffff80770de7 in pfil_run_hooks (head=<optimized out>, p=...,
ifp=0xfffff8000d86c000, flags=flags at entry=131072,
inp=inp at entry=0xfffff8062603a988) at /usr/src/sys/net/pfil.c:187
#16 0xffffffff8079d3f1 in ip_output_pfil (mp=0xfffffe01533dd4f8,
ifp=0xfffff8000d86c000, flags=0, inp=0xfffff8062603a988,
dst=0xfffff8062603ab30, fibnum=<optimized out>,
error=<optimized out>) at /usr/src/sys/netinet/ip_output.c:130
#17 ip_output (m=m at entry=0xfffff804e6cab200, opt=<optimized out>, ro=<optimized
out>, flags=0, imo=imo at entry=0x0, inp=<optimized out>) at
/usr/src/sys/netinet/ip_output.c:705
#18 0xffffffff807b44e4 in tcp_output (tp=0xfffffe003fc5c890) at
/usr/src/sys/netinet/tcp_output.c:1492
#19 0xffffffff807ca379 in tcp_usr_send (so=<optimized out>, flags=<optimized
out>, m=0xfffff80626072800, nam=0x0, control=<optimized out>,
td=0xfffffe0054f67500)
at /usr/src/sys/netinet/tcp_usrreq.c:1210
#20 0xffffffff80637f6a in vn_sendfile (fp=<optimized out>, sockfd=97,
hdr_uio=0x0, trl_uio=0x0, offset=<optimized out>, nbytes=<optimized out>,
sent=0xfffffe01533dda88, flags=1,
td=0xfffffe0054f67500) at /usr/src/sys/kern/kern_sendfile.c:1182
#21 0xffffffff80638967 in fo_sendfile (fp=0x0, sockfd=1140, hdr_uio=0x0,
trl_uio=0x0, offset=0, nbytes=1186733549, sent=0xfffffe01533dda88, flags=75701,
td=0xfffffe0054f67500)
at /usr/src/sys/sys/file.h:409
#22 sendfile (td=0xfffffe0054f67500, uap=0xfffffe0054f678e8, compat=<optimized
out>) at /usr/src/sys/kern/kern_sendfile.c:1320
#23 0xffffffff809839dc in syscallenter (td=0xfffffe0054f67500) at
/usr/src/sys/amd64/amd64/../../kern/subr_syscall.c:189
#24 amd64_syscall (td=0xfffffe0054f67500, traced=0) at
/usr/src/sys/amd64/amd64/trap.c:1156
#25 <signal handler called>
#26 0x00000008008c834a in ?? ()
Backtrace stopped: Cannot access memory at address 0x7fffffffd7c8
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list