XEN PV kernel (built from stock XEN conf file) 9.2-BETA1 panics on boot: pid 25 (sh), uid 0: exited on signal 11 panic: removing pages from non-current pmap cpuid = 0 KDB: enter: panic [ thread pid 25 tid 100036 ] Stopped at kdb_enter+0x3a: movl $0,kdb_why db> db> bt Tracing pid 25 tid 100036 td 0xc26f6bc0 kdb_enter(c04074b6,c04074b6,c044750f,ccb79944,0,...) at kdb_enter+0x3a/frame 0xccb7990c panic(c044750f,0,c04465f7,e06,c01170c5,...) at panic+0x18c/frame 0xccb79938 pmap_remove_pages(c253e724,c04055fa,e8,0,c26f3000,...) at pmap_remove_pages+0x68c/frame 0xccb799b8 vmspace_exit(c26f6bc0,0,c04013a5,141,c0192e88,...) at vmspace_exit+0x90/frame 0xccb799d8 exit1(c26f6bc0,b,19,c26f320c,0,...) at exit1+0x62e/frame 0xccb79a28 sigexit(c26f6bc0,b,c0407561,b02,c05dd978,...) at sigexit+0xe43/frame 0xccb79c30 postsig(b,64,c040d916,fc,1,...) at postsig+0x20b/frame 0xccb79ce0 ast(ccb79d18) at ast+0x37f/frame 0xccb79d0c vm86_biosret() at vm86_biosret+0x9c/frame 0xbf7fcc68 db> How-To-Repeat: Boot XEN PV kernel via pygrub on XenServer 6.2. 9.1-RELEASE in PV mode on same XS works well.
Responsible Changed From-To: freebsd-bugs->freebsd-xen Over to maintainer(s).
This issue can be solved by reverting commit r244806. However this is not a long term option, r244806 just exposes a bug in Xen PV pmap code which should be fixed. It seems like Xen pmap is not able to cope with two processes sharing the same address space.
Confirm: workaround worked.
Author: kib Date: Wed Aug 7 09:18:21 2013 New Revision: 254053 URL: http://svnweb.freebsd.org/changeset/base/254053 Log: Revert the MFC of the r244237, done as r244806. There are indeed bugs in XEN pmap. The revert hides a panic with the cost of non-working vfork(2), which means more obscure misbehaviour in the usermode. Revert is only done on the stable branch to maintain the consistent erratic behaviour. PR: kern/180788 Modified: stable/9/sys/kern/kern_fork.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/kern/kern_fork.c ============================================================================== --- stable/9/sys/kern/kern_fork.c Wed Aug 7 08:20:11 2013 (r254052) +++ stable/9/sys/kern/kern_fork.c Wed Aug 7 09:18:21 2013 (r254053) @@ -150,7 +150,11 @@ sys_vfork(struct thread *td, struct vfor int error, flags; struct proc *p2; +#ifdef XEN + flags = RFFDG | RFPROC; /* validate that this is still an issue */ +#else flags = RFFDG | RFPROC | RFPPWAIT | RFMEM; +#endif error = fork1(td, flags, 0, &p2, NULL, 0); if (error == 0) { td->td_retval[0] = p2->p_pid; _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Author: kib Date: Wed Aug 7 10:07:55 2013 New Revision: 254054 URL: http://svnweb.freebsd.org/changeset/base/254054 Log: Revert the MFC of the r244237, done as r244806. There are indeed bugs in XEN pmap. The revert hides a panic with the cost of non-working vfork(2), which means more obscure misbehaviour in the usermode. Revert is only done on the stable branch to maintain the consistent erratic behaviour. PR: kern/180788 Approved by: re (marius) Modified: releng/9.2/sys/kern/kern_fork.c Directory Properties: releng/9.2/sys/ (props changed) Modified: releng/9.2/sys/kern/kern_fork.c ============================================================================== --- releng/9.2/sys/kern/kern_fork.c Wed Aug 7 09:18:21 2013 (r254053) +++ releng/9.2/sys/kern/kern_fork.c Wed Aug 7 10:07:55 2013 (r254054) @@ -150,7 +150,11 @@ sys_vfork(struct thread *td, struct vfor int error, flags; struct proc *p2; +#ifdef XEN + flags = RFFDG | RFPROC; /* validate that this is still an issue */ +#else flags = RFFDG | RFPROC | RFPPWAIT | RFMEM; +#endif error = fork1(td, flags, 0, &p2, NULL, 0); if (error == 0) { td->td_retval[0] = p2->p_pid; _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"