[Bug 233622] panic: page not present fault when stopping VIMAGE jail on 12.0-RC2, netgraph

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Mar 11 01:43:12 UTC 2020


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233622

SATO 'paina' Taisuke <paina at paina.jp> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |paina at paina.jp

--- Comment #9 from SATO 'paina' Taisuke <paina at paina.jp> ---
Hi,

I've encountered the same problem on 12.1R and found a workaround.

The log shown below is how to reproduce the problem using qjail(8).
It's easy like xsan described, stopping VIMAGE jail by qjail.

root at pcv01:~ # uname -a
FreeBSD pcv01.sagamihara.i.paina.net 12.1-RELEASE-p2 FreeBSD 12.1-RELEASE-p2
GENERIC  amd64
root at pcv01:~ # pkg info | grep ^qjail
qjail-5.4                      Utility to quickly deploy and manage jails
root at pcv01:~ # qjail create -4 10.8.0.128 test001
Successfully created  test001
root at pcv01:~ # qjail config -w vmx0 -v none test001
Successfully enabled vnet.interface for test001
Successfully enabled vnet for test001
root at pcv01:~ # qjail start test001
Jail successfully started  test001
root at pcv01:~ # qjail stop test001
(crash!)

I'm using 12.1R on VMware ESXi and the virtual NIC is vmx(4).

And I've found the system crashes when qjail try to destroy epairNa interface,
so I've put 'sleep 1' to qjail before the destruction like:

*** /usr/local/bin/qjail.ORG    Wed Mar  4 20:13:14 2020
--- /usr/local/bin/qjail        Wed Mar 11 01:16:33 2020
***************
*** 2350,2355 ****
--- 2350,2356 ----
          # Disable vnet jails network configuration.
          #
          vnetid=`echo -n "${vnet}" | awk -F "|" '{print $2}'`                  
+         sleep 1 # XXX: workaround
          ifconfig epair"${vnetid}"a destroy

          # If host has no more vnet jails then disable bridge.

It seems to happen when destroying epairNa just after killing(stopping) jailed
process.
Therefore, it can be reproduced by commands like:
# jail -q -f /usr/local/etc/qjail.config/test001 -r test001; ifconfig epair1a
destroy

I'm not well on FreeBSD development, so I can't solve the problem alone.
I hope somebody will fix it on future releases.

Thanks!

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-net mailing list