GNU bug report logs -
#64317
[Cuirass] Download products can disappear, leading to HTTP 500
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#64317: [Cuirass] Download products can disappear, leading to HTTP 500
which was filed against the guix package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 64317 <at> debbugs.gnu.org.
--
64317: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64317
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Ludovic Courtès <ludovic.courtes <at> inria.fr> skribis:
> The /download endpoint refers directly to store items. However, they
> can be GC’d in the meantime, in which case the HTTP handler fails
> gracelessly (HTTP 500 or so) as shown here:
>
> 2023-06-27 16:02:24 GET /download/718
> 2023-06-27 16:02:24 Uncaught exception in task:
> 2023-06-27 16:02:24 In fibers.scm:
> 2023-06-27 16:02:24 172:8 1 (_)
> 2023-06-27 16:02:24 In ice-9/boot-9.scm:
> 2023-06-27 16:02:24 1685:16 0 (raise-exception _ #:continuable? _)
> 2023-06-27 16:02:24 ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> 2023-06-27 16:02:24 In procedure open-file: No such file or directory: "/gnu/store/bnsh1yk4l913af8swqi3x7xp1xsa8gq7-guix-binary.tar.xz"
>
> The solution IMO is to (1) register GC roots for these, (2) periodically
> remove old GC roots, and (3) return 404 when the file has vanished.
Fixed with these Cuirass commits:
9e897d8 'create-build-outputs' registers a GC root on build products.
103a6ec http: Gracefully handle missing files in "/download".
5e3e49c http: "/download" returns 404 rather than 500 for "not found".
Ludo’.
[Message part 3 (message/rfc822, inline)]
The /download endpoint refers directly to store items. However, they
can be GC’d in the meantime, in which case the HTTP handler fails
gracelessly (HTTP 500 or so) as shown here:
--8<---------------cut here---------------start------------->8---
2023-06-27 16:02:24 GET /download/718
2023-06-27 16:02:24 Uncaught exception in task:
2023-06-27 16:02:24 In fibers.scm:
2023-06-27 16:02:24 172:8 1 (_)
2023-06-27 16:02:24 In ice-9/boot-9.scm:
2023-06-27 16:02:24 1685:16 0 (raise-exception _ #:continuable? _)
2023-06-27 16:02:24 ice-9/boot-9.scm:1685:16: In procedure raise-exception:
2023-06-27 16:02:24 In procedure open-file: No such file or directory: "/gnu/store/bnsh1yk4l913af8swqi3x7xp1xsa8gq7-guix-binary.tar.xz"
--8<---------------cut here---------------end--------------->8---
The solution IMO is to (1) register GC roots for these, (2) periodically
remove old GC roots, and (3) return 404 when the file has vanished.
Ludo’.
This bug report was last modified 1 year and 273 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.