threads / discuss / 61450

Error: failed to store: -25299

Subject: Error: failed to store: -25299

## tl;dr

6 messages between May 10, 2024 and May 22, 2024.

replies: 5people: 4as markdown or json

ryenus· May 10, 2024, 07:52 UTC · lore

Command I run: `parallel git -C {} fetch ::: repo1 repo2 rep3`, which is to fetch multiple repositories in parallel using GNU parallel.

This worked pretty well for me in the past, however with git version 2.45, maybe 2.44 as well, it would randomly emit below error:

> failed to store: -25299
OR
> Already up to date.
> failed to store: -25299
> failed to store: -25299

This is on a Macbook with multiple cores. And it seems to happen to a random subset of the chosen repositories.

But if I do this without GNU parallel, or `parallel -j1` with only one worker, things work just fine. And when I switched back to git 2.43.2, I don't see such error either.

Jeff King· May 10, 2024, 22:13 UTC · re: ryenus · lore

Re: Error: failed to store: -25299

On Fri, May 10, 2024 at 03:52:25PM +0800, ryenus wrote:
Show 7 quoted lines
> Command I run: `parallel git -C {} fetch ::: repo1 repo2 rep3`, which is
> to fetch multiple repositories in parallel using GNU parallel.
> 
> This worked pretty well for me in the past, however with git version
> 2.45, maybe 2.44 as well, it would randomly emit below error:
> 
> > failed to store: -25299
There's some related discussion over in:
  https://lore.kernel.org/git/pull.1729.git.1715328467099.gitgitgadget@gmail.com/
But most curious to me is:
> But if I do this without GNU parallel, or `parallel -j1` with only
> one worker, things work just fine.
> And when I switched back to git 2.43.2, I don't see such error either.

I would have assumed this was an issue going back to 2011, since each of those fetches is going to try storing the successful credential. But if older-but-recent versions of Git did not have the problem, it could be that we are being more aggressive about invoking storage for some reason. Can you bisect?

The obvious recent changes to the credential code were brian's capability/state series, but those are not yet in a released version (and from a quick scan I did not see anything that would obviously change things there).

-Peff
brian m. carlson· May 10, 2024, 23:00 UTC · re: Jeff King · lore

Re: Error: failed to store: -25299

On 2024-05-10 at 22:13:23, Jeff King wrote:
Show 10 quoted lines
> I would have assumed this was an issue going back to 2011, since each of
> those fetches is going to try storing the successful credential. But if
> older-but-recent versions of Git did not have the problem, it could be
> that we are being more aggressive about invoking storage for some
> reason. Can you bisect?
> 
> The obvious recent changes to the credential code were brian's
> capability/state series, but those are not yet in a released version
> (and from a quick scan I did not see anything that would obviously
> change things there).

Yeah, this sounds like a change to the osxkeychain helper. There were some changes there in 2.45 that could in theory be related that weren't in 2.43 or 2.44, but I must admit not being very familiar with the macOS keychain tooling, so it's hard for me to say for certain.

My changes aren't in a released version and I haven't touched the osxkeychain helper (since I don't have a Mac), so I think it's unlikely to be related, but of course if someone finds a bug, I'm very open to fixing it.

-- 
brian m. carlson (they/them or he/him)
Toronto, Ontario, CA
ryenus· May 13, 2024, 11:43 UTC · re: Jeff King · lore

Re: Error: failed to store: -25299

On Sat, 11 May 2024 at 06:13, Jeff King <peff@peff.net> wrote:
Show 33 quoted lines
>
> On Fri, May 10, 2024 at 03:52:25PM +0800, ryenus wrote:
>
> > Command I run: `parallel git -C {} fetch ::: repo1 repo2 rep3`, which is
> > to fetch multiple repositories in parallel using GNU parallel.
> >
> > This worked pretty well for me in the past, however with git version
> > 2.45, maybe 2.44 as well, it would randomly emit below error:
> >
> > > failed to store: -25299
>
> There's some related discussion over in:
>
>   https://lore.kernel.org/git/pull.1729.git.1715328467099.gitgitgadget@gmail.com/
>
> But most curious to me is:
>
> > But if I do this without GNU parallel, or `parallel -j1` with only
> > one worker, things work just fine.
> > And when I switched back to git 2.43.2, I don't see such error either.
>
> I would have assumed this was an issue going back to 2011, since each of
> those fetches is going to try storing the successful credential. But if
> older-but-recent versions of Git did not have the problem, it could be
> that we are being more aggressive about invoking storage for some
> reason. Can you bisect?
>
> The obvious recent changes to the credential code were brian's
> capability/state series, but those are not yet in a released version
> (and from a quick scan I did not see anything that would obviously
> change things there).
>
> -Peff
@Bo98, possible to share any insight? It appears related to the following patch:
* osxkeychain: replace deprecated SecKeychain API [1]
[1]: https://github.com/git/git/commit/9abe31f5f161be4d69118bdfae00103cd6efa510
Apologize if I'm guessing it wrong :-)
Koji Nakamaru· May 13, 2024, 14:29 UTC · re: ryenus · lore

Re: Error: failed to store: -25299

The patch fixed error handling. This is the direct reason for the error.
cf. https://github.com/git/git/commit/9abe31f5f161be4d69118bdfae00103cd6efa510#diff-9dc7db77a1c795b4849ac77ac8d618a75c85ff3b2128501ffa647c43df200d60R308-R314
Koji Nakamaru
ryenus· May 22, 2024, 02:37 UTC · re: Koji Nakamaru · lore

Re: Error: failed to store: -25299

On Mon, 13 May 2024 at 22:30, Koji Nakamaru <koji.nakamaru@gree.net> wrote:
Show 7 quoted lines
>
> The patch fixed error handling. This is the direct reason for the error.
>
> cf. https://github.com/git/git/commit/9abe31f5f161be4d69118bdfae00103cd6efa510#diff-9dc7db77a1c795b4849ac77ac8d618a75c85ff3b2128501ffa647c43df200d60R308-R314
>
>
> Koji Nakamaru

Just checked with git 2.44.0 and it has no such issue. Therefore this is confirmed to be a regression in git 2.45.0

I'd expect such error to be skipped and/or ignored, or even update the store asynchronously, maybe with a config to customize the behavior.

← back to recent threads