Subject: bug#66169: guix reconfigure error no match for id 4f35ff1275e05be31f5d41464ccf147e9dbfd016

From: Paul Szenher <[email-masked]>
Date: Mon, 25 Sep 2023 04:30:34 -0400

On 9/24/23 5:22 AM, Guillaume Le Vaillant wrote:
> Liliana Marie Prikler <[email-masked]> skribis:
> 
>> Am Sonntag, dem 24.09.2023 um 08:49 +0000 schrieb Guillaume Le
>> Vaillant:
>>> Liliana Marie Prikler <[email-masked]> skribis:
>>>
>>>> Am Samstag, dem 23.09.2023 um 22:02 +0300 schrieb Roman Riabenko:
>>>>> I am trying to upgrade my guix systems. I ran guix pull and now I
>>>>> am
>>>>> trying to run guix system reconfigure. It failed on two different
>>>>> machines with the same backtrace. Please see the full backtrace
>>>>> attached. The error message from it:
>>>>>
>>>>> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
>>>>> Git error: object not found - no match for id
>>>>> (4f35ff1275e05be31f5d41464ccf147e9dbfd016)
>>>>>
>>>>>
>>>>> $ guix describe
>>>>> Generation 28   Sep 23 2023 19:30:36    (current)
>>>>>    guix 4f35ff1
>>>>>      repository URL: https://git.savannah.gnu.org/git/guix.git
>>>>>      branch: master
>>>>>      commit: 4f35ff1275e05be31f5d41464ccf147e9dbfd016
>>>>>
>>>>> Considering that I experience it on two guix machines with
>>>>> different
>>>>> system configurations, I assume that there is some bug somewhere.
>>>> Experiencing the same for commit
>>>> 35fd25af9bbcce84908101a9f487ba106a8d6df7.  I would hazard a guess
>>>> that it's due to them being merge commits.  Interestingly,
>>>> allow-downgrades does not have an effect on this message.
>>>>
>>>> Cheers
>>>
>>> I reconfigured two machines using commit
>>> 4f35ff1275e05be31f5d41464ccf147e9dbfd016, and it succeeded on both
>>> machines, I didn't get this "no match for id" issue.
>>> That's strange...
>> Do you have provenance tracking on your machines (the default)?
> 
> Yes. I use an additional channel, not only the "guix" default channel.
> Maybe that makes a difference...

Also reporting similar issues on a Guix machine with multiple channels.

In my case, I have a local 'file://...' channel that I use for 
development, and have found that the following sequence of actions will 
consistently exhibit the above behavior on guix master:

1. Commit update to local channel git
2. guix pull
3. sudo guix system reconfigure

The issue is resolved by removal of the root user's guix cache in 
/root/.cache/guix (forcing a full fetch during system reconfigure), but 
repeating the above steps will cause the issue to reoccur.

I suspect it might have to do with the recent changes made to the 
'reference-available?' function in 
6d33c1f8061e86d63ab5c9ec75df9c58130c7264 (though it's not entirely clear 
why that change would cause this failure).

After downgrading my "guix" channel to 
f45c0c82289d409b4fac00464ea8b323839ba53f (the commit immediately prior 
to the above change) I am again able to receive changes from my local 
channel without issue.