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

Stephan Althaus Stephan.Althaus at Duedinghausen.eu
Mon Jan 29 08:52:32 UTC 2024


On 1/27/24 10:05, Stephan Althaus wrote:
> On 1/26/24 23:14, Bill Sommerfeld via oi-dev wrote:
>> 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
>>
>>
>>
>> _______________________________________________
>> oi-dev mailing list
>> oi-dev at openindiana.org
>> https://openindiana.org/mailman/listinfo/oi-dev
>
> Hello!
>
> This is the running combination:
>
> Global zone:
>
> $ pkg contents -H -o value -a name=illumos-gate.info.git-rev 
> /system/library
> 8361acf58a302751348aac091ab09484f3ecfb8c
>
> ng zone
>
> # pkg contents -H -o value -a name=illumos-gate.info.git-rev 
> /system/library
> 32c2a899b6e4eab014fd5243af6c011a84dc103f
>
>
> When i activate the newer BE on the global zone,
> where i cant't zlogin to the ng zone, we have this value:
>
> $ pkg contents -H -o value -a name=illumos-gate.info.git-rev 
> /system/library
> d5a816590ba1bb4affbf62f0113d75baf7f83177
>
>
> Regards,
> Stephan
>
>
>
> _______________________________________________
> oi-dev mailing list
> oi-dev at openindiana.org
> https://openindiana.org/mailman/listinfo/oi-dev

Hello!

Sorry for the late reply, covid is greeting:-/


To sum up it is mandatory to have the same git-rva within the ng zones 
and the global zones.

pkg update-r  does not work with my ng zones of branch nlipkg, but we 
always can do a pkg update within in each ng zone - "pkg update && init 
5" maybe, and afterwards within the global zone "pkg update && init 6"

This was the 'solution' for my system.


Thanks for all your help!!


Regards,

Stephan





More information about the oi-dev mailing list