[oi-dev] heads up: zones not available after pkg update in global zone

Bill Sommerfeld sommerfeld at hamachi.org
Fri Jan 26 17:42:39 UTC 2024


On 1/26/24 01:17, Stephan Althaus wrote:
> Maybe its only here and a local problem, but who knows ...
> 
> 
> I did a pkg update this morning, and the zones are not available.
> 
> # zoneadm list -cv
>    ID NAME             STATUS     PATH BRAND    IP
>     0 global           running    / ipkg     shared
>     1 mail             running    /zones/mail nlipkg   excl
>     2 www              running    /zones/www nlipkg   excl
> 
> The zones are booted, but zlogin is not possible, nor are the zones 
> reachable via ssh.

Looks like execing the shell failed.

Upstream illumos-gate just made an incompatible change to the private 
interface between libc and the kernel used by the exec*() family of 
functions.

commit 2b395c3c2a39cdc00f9fe7ac497795bd112f7663
Author: Andy Fiddaman <illumos at fiddaman.net>
Date:   Sat Jan 20 10:47:38 2024 +0000

     5798 fexecve() needed per POSIX 2008
     Portions contributed by: Garrett D'Amore <garrett at damore.org>
     Reviewed by: Dan Cross <cross at oxidecomputer.com>
     Reviewed by: Bill Sommerfeld <sommerfeld at hamachi.org>
     Approved by: Gordon Ross <gordon.w.ross at gmail.com>

Changes to the libc-kernel interface are relatively uncommon but should 
be expected to happen every so often.

I see that you're using nlipkg zones, which aren't kept in sync with the 
global zone.   Did you update the zones as well?   If not, I'd expect 
most exec*() calls to fail with an EINVAL unless the new fourth argument 
to the underlying syscall is zero by chance.

Update the zones along with the global zone and they should start 
working again.  Just updating all the variants of libc.so.1 to match the 
global zone should be enough to get you up & limping again.

					- Bill







More information about the oi-dev mailing list