[Bug 241417] panic: Fatal trap 1: privileged instruction fault while in kernel mode
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 21 Sep 2021 20:21:34 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=241417 --- Comment #12 from Cy Schubert <cy@FreeBSD.org> --- Reading symbols from /boot/kernel/kernel... Reading symbols from /usr/lib/debug//boot/kernel/kernel.debug... Unread portion of the kernel message buffer: interrupt enabled, resume, IOPL = 0 current process = 5200 (cc) trap number = 1 panic: privileged instruction fault cpuid = 3 time = 1632253591 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe00e52377d0 vpanic() at vpanic+0x187/frame 0xfffffe00e5237830 panic() at panic+0x43/frame 0xfffffe00e5237890 trap_fatal() at trap_fatal+0x387/frame 0xfffffe00e52378f0 trap() at trap+0x8b/frame 0xfffffe00e5237a00 calltrap() at calltrap+0x8/frame 0xfffffe00e5237a00 --- trap 0x1, rip = 0xffffffff80a5fef1, rsp = 0xfffffe00e5237ad0, rbp = 0xfffffe00e5237af0 --- ia32_get_mcontext() at ia32_get_mcontext+0x181/frame 0xfffffe00e5237af0 freebsd32_getcontext() at freebsd32_getcontext+0x52/frame 0xfffffe00e5237df0 ia32_syscall() at ia32_syscall+0x126/frame 0xfffffe00e5237f30 int0x80_syscall_common() at int0x80_syscall_common+0x9c/frame 0xffffca38 Uptime: 8m48s Dumping 526 out of 8161 MB: (CTRL-C to abort) ..4%..13%..22%..31%..43%..52%..61%..73%..83%..92% __curthread () at /opt/src/git-src/sys/amd64/include/pcpu_aux.h:55 55 __asm("movq %%gs:%P1,%0" : "=r" (td) : "n" (offsetof(struct pcpu, (kgdb) bt #0 __curthread () at /opt/src/git-src/sys/amd64/include/pcpu_aux.h:55 #1 doadump (textdump=textdump@entry=1) at /opt/src/git-src/sys/kern/kern_shutdown.c:399 #2 0xffffffff806d417b in kern_reboot (howto=260) at /opt/src/git-src/sys/kern/kern_shutdown.c:486 #3 0xffffffff806d45f6 in vpanic (fmt=0xffffffff80a9b26c "%s", ap=<optimized out>) at /opt/src/git-src/sys/kern/kern_shutdown.c:919 #4 0xffffffff806d43f3 in panic (fmt=<unavailable>) at /opt/src/git-src/sys/kern/kern_shutdown.c:843 #5 0xffffffff80a3a587 in trap_fatal (frame=0xfffffe00e5237a10, eva=0) at /opt/src/git-src/sys/amd64/amd64/trap.c:946 #6 0xffffffff80a39a7b in trap (frame=0xfffffe00e5237a10) at /opt/src/git-src/sys/amd64/amd64/trap.c:251 #7 <signal handler called> #8 0xffffffff80a5fef1 in ia32_get_fpcontext (td=0xfffffe00e468f3a0, mcp=0xfffffe00e5237b10, xfpusave=0x0, xfpusave_len=0x0) at /opt/src/git-src/sys/amd64/ia32/ia32_signal.c:107 #9 ia32_get_mcontext (td=td@entry=0xfffffe00e468f3a0, mcp=mcp@entry=0xfffffe00e5237b10, flags=1) at /opt/src/git-src/sys/amd64/ia32/ia32_signal.c:177 #10 0xffffffff80a5fca2 in freebsd32_getcontext (td=0xfffffe00e468f3a0, uap=0xfffffe00e468f790) at /opt/src/git-src/sys/amd64/ia32/ia32_signal.c:260 #11 0xffffffff80a61a16 in syscallenter (td=0xfffffe00e468f3a0) at /opt/src/git-src/sys/amd64/ia32/../../kern/subr_syscall.c:189 #12 ia32_syscall (frame=0xfffffe00e5237f40) at /opt/src/git-src/sys/amd64/ia32/ia32_syscall.c:218 #13 0xffffffff80a12bcf in int0x80_syscall_common () at /opt/src/git-src/sys/amd64/ia32/ia32_exception.S:77 #14 0x00000000ffffc710 in ?? () #15 0x00000000ffffc9d0 in ?? () #16 0x000000002540b9ad in ?? () #17 0x000000002526104f in ?? () #18 0x0000000000000000 in ?? () (kgdb) frame 8 #8 0xffffffff80a5fef1 in ia32_get_fpcontext (td=0xfffffe00e468f3a0, mcp=0xfffffe00e5237b10, xfpusave=0x0, xfpusave_len=0x0) at /opt/src/git-src/sys/amd64/ia32/ia32_signal.c:107 107 *xfpusave_len = mcp->mc_xfpustate_len = (kgdb) l 102 if (!use_xsave || cpu_max_ext_state_size <= sizeof(struct savefpu)) { 103 *xfpusave_len = 0; 104 *xfpusave = NULL; 105 } else { 106 mcp->mc_flags |= _MC_IA32_HASFPXSTATE; 107 *xfpusave_len = mcp->mc_xfpustate_len = 108 cpu_max_ext_state_size - sizeof(struct savefpu); 109 *xfpusave = (char *)(get_pcb_user_save_td(td) + 1); 110 } 111 } (kgdb) disassemble /m Dump of assembler code for function ia32_get_mcontext: 98 mcp->mc_ownedfp = fpugetregs(td); 0xffffffff80a5fe9d <+301>: mov %r14,%rdi 0xffffffff80a5fea0 <+304>: call 0xffffffff80a16ca0 <fpugetregs> 0xffffffff80a5fea5 <+309>: mov %eax,0x58(%rbx) 99 bcopy(get_pcb_user_save_td(td), &mcp->mc_fpstate[0], 0xffffffff80a5fea8 <+312>: lea 0x60(%rbx),%r15 0xffffffff80a5feac <+316>: mov %r14,%rdi 0xffffffff80a5feaf <+319>: call 0xffffffff80a3bbc0 <get_pcb_user_save_td> 0xffffffff80a5feb4 <+324>: mov $0x200,%edx 0xffffffff80a5feb9 <+329>: mov %r15,%rdi 0xffffffff80a5febc <+332>: mov %rax,%rsi 0xffffffff80a5febf <+335>: call 0xffffffff80a35d20 <memmove_std> 100 sizeof(mcp->mc_fpstate)); 101 mcp->mc_fpformat = fpuformat(); 0xffffffff80a5fec4 <+340>: call 0xffffffff80a169e0 <fpuformat> 0xffffffff80a5fec9 <+345>: mov %eax,0x54(%rbx) 102 if (!use_xsave || cpu_max_ext_state_size <= sizeof(struct savefpu)) { 0xffffffff80a5fecc <+348>: cmpl $0x0,0x53c73d(%rip) # 0xffffffff80f9c610 <use_xsave> 0xffffffff80a5fed3 <+355>: je 0xffffffff80a5fef1 <ia32_get_mcontext+385> 0xffffffff80a5fed5 <+357>: mov 0x5274bd(%rip),%eax # 0xffffffff80f87398 <cpu_max_ext_state_size> 0xffffffff80a5fedb <+363>: cmp $0x200,%eax 0xffffffff80a5fee0 <+368>: jbe 0xffffffff80a5fef1 <ia32_get_mcontext+385> 103 *xfpusave_len = 0; 104 *xfpusave = NULL; 105 } else { 106 mcp->mc_flags |= _MC_IA32_HASFPXSTATE; 0xffffffff80a5fee2 <+370>: orb $0x4,0x5c(%rbx) 107 *xfpusave_len = mcp->mc_xfpustate_len = 0xffffffff80a5feeb <+379>: mov %eax,0x26c(%rbx) => 0xffffffff80a5fef1 <+385>: ud2 0xffffffff80a5fef3 <+387>: xor %eax,%eax 0xffffffff80a5fef5 <+389>: mov $0x140,%edi 108 cpu_max_ext_state_size - sizeof(struct savefpu); 0xffffffff80a5fee6 <+374>: add $0xfffffe00,%eax 109 *xfpusave = (char *)(get_pcb_user_save_td(td) + 1); 110 } 111 } 112 113 static int --Type <RET> for more, q to quit, c to continue without paging--q Quit (kgdb) -- You are receiving this mail because: You are the assignee for the bug.