Re: current now panics when starting VBox VM
- In reply to: Konstantin Belousov : "Re: current now panics when starting VBox VM"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 03 Nov 2021 15:25:53 UTC
On 11/3/21 11:13, Konstantin Belousov wrote: > On Wed, Nov 03, 2021 at 11:05:11AM -0400, Michael Butler via freebsd-emulation wrote: >> On 11/3/21 10:36, Ed Maste wrote: >> The kgdb back-trace isn't any more enlightening to me :-( >> >> __curthread () at /usr/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 /usr/src/sys/amd64/include/pcpu_aux.h:55 >> #1 doadump (textdump=<optimized out>) at >> /usr/src/sys/kern/kern_shutdown.c:399 >> #2 0xffffffff808cbac5 in kern_reboot (howto=260) at >> /usr/src/sys/kern/kern_shutdown.c:487 >> #3 0xffffffff808cbedb in vpanic (fmt=<optimized out>, >> ap=0xfffffe0129a6a8d0) at /usr/src/sys/kern/kern_shutdown.c:920 >> #4 0xffffffff808cbd33 in panic (fmt=<unavailable>) at >> /usr/src/sys/kern/kern_shutdown.c:844 >> #5 0xffffffff80ca920c in trap_fatal (frame=frame@entry=0xfffffe0129a6aac0, >> eva=0) at /usr/src/sys/amd64/amd64/trap.c:946 >> #6 0xffffffff80ca95af in trap_pfault (frame=frame@entry=0xfffffe0129a6aac0, >> usermode=false, signo=<optimized out>, signo@entry=0x0, ucode=<optimized >> out>, ucode@entry=0x0) >> at /usr/src/sys/amd64/include/cpufunc.h:417 >> #7 0xffffffff80ca89bc in trap (frame=0xfffffe0129a6aac0) at >> /usr/src/sys/amd64/amd64/trap.c:443 >> #8 <signal handler called> >> #9 strlen () at /usr/src/sys/amd64/amd64/support.S:751 >> #10 0xffffffff808b4d79 in sysctl_kern_proc_pathname (oidp=<optimized out>, >> arg1=0xfffffe0129a6ad8c, arg2=<optimized out>, req=0xfffffe0129a6acc0) at >> /usr/src/sys/kern/kern_proc.c:2330 >> #11 0xffffffff808dc331 in sysctl_root_handler_locked >> (oid=oid@entry=0xffffffff810cf0e0 <sysctl___kern_proc_pathname>, >> arg1=arg1@entry=0xfffffe0129a6ad8c, arg2=arg2@entry=1, >> req=0xfffffe0129a6acc0, tracker=tracker@entry=0xfffffe0129a6ac38) at >> /usr/src/sys/kern/kern_sysctl.c:185 >> #12 0xffffffff808db88b in sysctl_root (oidp=<optimized out>, >> arg1=0xfffffe0129a6ad8c, arg1@entry=0xfffffe0129a6ad80, arg2=1, >> arg2@entry=4, req=req@entry=0xfffffe0129a6acc0) >> at /usr/src/sys/kern/kern_sysctl.c:2305 >> #13 0xffffffff808dbdf3 in userland_sysctl (td=td@entry=0xfffffe012991a000, >> name=name@entry=0xfffffe0129a6ad80, namelen=4, old=<optimized out>, >> oldlenp=<optimized out>, >> inkernel=<optimized out>, inkernel@entry=0, new=0x0, newlen=0, >> retval=0xfffffe0129a6ade8, flags=0) at /usr/src/sys/kern/kern_sysctl.c:2462 >> #14 0xffffffff808dbc3c in sys___sysctl (td=0xfffffe012991a000, >> uap=0xfffffe012991a3f0) at /usr/src/sys/kern/kern_sysctl.c:2335 >> #15 0xffffffff80ca9b5c in syscallenter (td=0xfffffe012991a000) at >> /usr/src/sys/amd64/amd64/../../kern/subr_syscall.c:189 >> #16 amd64_syscall (td=0xfffffe012991a000, traced=0) at >> /usr/src/sys/amd64/amd64/trap.c:1191 >> #17 <signal handler called> >> #18 0x000000080315a71a in ?? () >> Backtrace stopped: Cannot access memory at address 0x7fffffffc778 >> (kgdb) >> > > Try this > > commit 2d3f95bd1fd4f71769f60b8037c1ff27c75d8258 > Author: Konstantin Belousov <kib@FreeBSD.org> > Date: Wed Nov 3 17:11:33 2021 +0200 > > proc_get_binpath(): return empty string instead of NULL > > for strange case where process does not have text. > > Sponsored by: The FreeBSD Foundation > MFC after: 3 days > > diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c > index 2156c5c465ba..d11f651960c0 100644 > --- a/sys/kern/kern_proc.c > +++ b/sys/kern/kern_proc.c > @@ -2252,7 +2252,7 @@ proc_get_binpath(struct proc *p, char *binname, char **retbuf, > vp = p->p_textvp; > if (vp == NULL) { > PROC_UNLOCK(p); > - *retbuf = NULL; > + *retbuf = ""; > *freebuf = NULL; > return (0); > } > Interestingly, when I went to log out of KDE afer applying this patch and rebuilding the kernel, it also paniced without VBox ruuning. The log looks similar but the back-trace points to this possibility .. see frames 8 through 10 . __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=<optimized out>) at /usr/src/sys/kern/kern_shutdown.c:399 #2 0xffffffff808cbac5 in kern_reboot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:487 #3 0xffffffff808cbedb in vpanic (fmt=<optimized out>, ap=0xfffffe011c1858d0) at /usr/src/sys/kern/kern_shutdown.c:920 #4 0xffffffff808cbd33 in panic (fmt=<unavailable>) at /usr/src/sys/kern/kern_shutdown.c:844 #5 0xffffffff80ca920c in trap_fatal (frame=frame@entry=0xfffffe011c185ac0, eva=0) at /usr/src/sys/amd64/amd64/trap.c:946 #6 0xffffffff80ca95af in trap_pfault (frame=frame@entry=0xfffffe011c185ac0, usermode=false, signo=<optimized out>, signo@entry=0x0, ucode=<optimized out>, ucode@entry=0x0) at /usr/src/sys/amd64/include/cpufunc.h:417 #7 0xffffffff80ca89bc in trap (frame=0xfffffe011c185ac0) at /usr/src/sys/amd64/amd64/trap.c:443 #8 <signal handler called> #9 strlen () at /usr/src/sys/amd64/amd64/support.S:751 #10 0xffffffff808b4d79 in sysctl_kern_proc_pathname (oidp=<optimized out>, arg1=0xfffffe011c185d8c, arg2=<optimized out>, req=0xfffffe011c185cc0) at /usr/src/sys/kern/kern_proc.c:2330 #11 0xffffffff808dc331 in sysctl_root_handler_locked ( oid=oid@entry=0xffffffff810cf0e0 <sysctl___kern_proc_pathname>, arg1=arg1@entry=0xfffffe011c185d8c, arg2=arg2@entry=1, req=0xfffffe011c185cc0, tracker=tracker@entry=0xfffffe011c185c38) at /usr/src/sys/kern/kern_sysctl.c:185 After rebooting with this patch, I can now run a VBox VM without provoking a panic. Thanks! :-) Michael