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

Bill Sommerfeld sommerfeld at hamachi.org
Fri Jan 26 22:14:41 UTC 2024


On 1/26/24 13:26, Stephan Althaus wrote:
> On 1/26/24 18:42, Bill Sommerfeld via oi-dev wrote:
>> 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
>>
>>
>>
>>
>>
>> _______________________________________________
>> oi-dev mailing list
>> oi-dev at openindiana.org
>> https://openindiana.org/mailman/listinfo/oi-dev
> 
> Hello!
> 
> 
> Thanks for the explanation.
> 
> The zone that did not work was updated a day before the global zone, BE 
> is "openindiana-2024:01:24" within the zone,
> so the exec* stuff should be in..
> But wait the merge was at timestamp  2024-01-23T19:29:54.000Z so maybe 
> not..
> 
> Current BE of the global zone is "openindiana-2024:01:02" so the commit 
> is not in..
> 
> I will try to update the ng-zones first and after that the global zone,
> or maybe better change the zones to ipkg first,
> or just update the zones now and reboot the global zone to the 
> (currently unused) existing BE  "openindiana-2024:01:26" for which the 
> problem exists..

what would be helpful for confirming what happened would be the 
illumos-gate.info.git-rev property from the /system/library package in 
each BE of the global zone and the impacted zone.

Try running:

$ pkg contents -H -o value -a name=illumos-gate.info.git-rev /system/library

for the global zone, and

$ pkg -R <alternate-root> contents -H -o value -a 
name=illumos-gate.info.git-rev /system/library

for each relevant alternate BE and zone root.

						- Bill





More information about the oi-dev mailing list