I upgraded webmin from the version that ships with
Solaris 10 to 1.270, now I see this bug...
If the following sequence happens, a zone will get
stuck in the "shutting_down" state:
1) Boot a zone with webmin
2) svcadm restart webmin
3) zlogin <zone> halt
This is caused because:
1) When webmin issues the zoneadm -z <zone> boot, the
zones zoneadmd process is in the same contract as the
webmin service. This can be confirmed with "svcs -p
2) When webmin restarts (svcadm restart webmin), the
contract associated with the webmin service is killed.
This causes the zone's zoneadmd to get a SIGKILL.
3) When a halt (and presumably reboot, shutdown, init
0, etc.) are issued from within the zone, the zoneadmd
does not do some cleanup that it should do. As such,
the kernel thread associated with the zone's zched
process is stuck waiting for an event that never happens.
There are two bugs:
1) webmin should use ctrun(1) when booting the zones.
See /lib/svc/method/svc-zones on a Solaris 10 box for
2) Solaris has a kernel, zoneadmd, or zsched bug. This
is being raised with Sun.
If you are in this state and need to recover without a
reboot, issue the following command from the global zone:
/usr/lib/zones/zoneadmd -z <zone>