[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#54723] [PATCH] Check URI when verifying narinfo validity.
From: |
Guillaume Le Vaillant |
Subject: |
[bug#54723] [PATCH] Check URI when verifying narinfo validity. |
Date: |
Wed, 20 Apr 2022 14:10:43 +0000 |
Ludovic Courtès <ludo@gnu.org> skribis:
> Hi!
>
> Guillaume Le Vaillant <glv@posteo.net> skribis:
>
>> I tested a few things, and it looks like there is a concurrency issue in
>> the 'http-write' function of the publish server.
>> After removing the 'call-with-new-thread' in the part of the function
>> sending narinfos, I can't reproduce the "broken pipe" error anymore.
>
> Ah ha! Little has changed in this code, so I think the culprit must be
> f743f2046be2c5a338ab871ae8666d8f6de7440b.
>
> Could you try running it from master with this patch reverted?
>
> You can spawn it from the build tree with:
>
> sudo -E ./pre-inst-env guix publish -u nobody
>
> Bonus points if you have a script to reproduce the issue. I guess that
> involves making pipelined keep-alive narinfo requests the way ‘guix
> substitute’ and ‘guix weather’ do.
>
> Thanks,
> Ludo’.
Hi,
With master at 101edbe63a887678722bc26cd85a7b7f5637428f, I reproduce the
issue very often when trying to upgrade a profile with around 400
packages. The logs of the publish server show hundreds of narinfo
requests and tens of "broken pipe" errors.
With an additional commit reverting
f743f2046be2c5a338ab871ae8666d8f6de7440b, I can't reproduce the issue
anymore. The logs still show hundreds of narinfo requests, but no
errors.
I tried to make a script making many narinfo requests to reproduce the
issue more easily, but I didn't get it to work yet. I thought accessing
the 'fetch-narinfos' function from "guix/substitutes.scm" with:
--8<---------------cut here---------------start------------->8---
(use-modules (guix)
(guix substitutes))
(define fetch-narinfos (@@ (guix substitutes) fetch-narinfos))
--8<---------------cut here---------------end--------------->8---
would work, but it doesn't:
--8<---------------cut here---------------start------------->8---
$ guix repl fetch-narinfos.scm
Backtrace:
4 (primitive-load "/home/guillaume/fetch-narinfos.scm")
In ice-9/eval.scm:
626:19 3 (_ #<directory (guix-user) 7faab8e0e8c0>)
223:20 2 (proc #<directory (guix-user) 7faab8e0e8c0>)
In unknown file:
1 (%resolve-variable (5 (guix substitutes) # . #f) #<dire…>)
In ice-9/boot-9.scm:
1685:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
erreur : fetch-narinfos : variable non liée
--8<---------------cut here---------------end--------------->8---
signature.asc
Description: PGP signature
- [bug#54723] [PATCH] Check URI when verifying narinfo validity., Guillaume Le Vaillant, 2022/04/05
- [bug#54723] [PATCH] Check URI when verifying narinfo validity., Ludovic Courtès, 2022/04/05
- [bug#54723] [PATCH] Check URI when verifying narinfo validity., Guillaume Le Vaillant, 2022/04/05
- [bug#54723] [PATCH] Check URI when verifying narinfo validity., Ludovic Courtès, 2022/04/09
- [bug#54723] [PATCH] Check URI when verifying narinfo validity., Guillaume Le Vaillant, 2022/04/09
- [bug#54723] [PATCH] Check URI when verifying narinfo validity., Guillaume Le Vaillant, 2022/04/11
- [bug#54723] [PATCH] Check URI when verifying narinfo validity., Ludovic Courtès, 2022/04/12
- [bug#54723] [PATCH] Check URI when verifying narinfo validity., Guillaume Le Vaillant, 2022/04/12
- [bug#54723] [PATCH] Check URI when verifying narinfo validity., Guillaume Le Vaillant, 2022/04/14
- [bug#54723] [PATCH] Check URI when verifying narinfo validity., Ludovic Courtès, 2022/04/18
- [bug#54723] [PATCH] Check URI when verifying narinfo validity.,
Guillaume Le Vaillant <=
- [bug#54723] [PATCH] Check URI when verifying narinfo validity., Ludovic Courtès, 2022/04/29