[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