bug#46967: Connection reuse for substitutes breaks with gzip

2021-03-06 Thread Ludovic Courtès
As of commit cdc688c5ee106b7ee2547e4abd74ab81d7702d3d, it seems that the connection reuse code for substitutes breaks if you’re fetching gzip substitutes. I tweaked ‘narinfo-best-uri’ to always choose gzip, and here’s what I get: --8<---cut here---start->8--- $

bug#46967: Connection reuse for substitutes breaks with gzip

2021-03-09 Thread Ludovic Courtès
Ludovic Courtès skribis: > As of commit cdc688c5ee106b7ee2547e4abd74ab81d7702d3d, it seems that the > connection reuse code for substitutes breaks if you’re fetching gzip > substitutes. Here’s a simple reproducer that systematically fails after the first download: --8<---cut here---

bug#46967: Connection reuse for substitutes breaks with gzip

2021-03-09 Thread Ludovic Courtès
Even simpler: --8<---cut here---start->8--- $ ./pre-inst-env guile ~/src/guix-debugging/http-pipelining-gzip.scm ;;; (port #) ;;; (input #) ;;; (drain "") ;;; (fetch 16397) ;;; (port #) Backtrace: In ice-9/boot-9.scm: 1736:10 11 (with-exception-handler _

bug#46967: Connection reuse for substitutes breaks with gzip

2021-03-09 Thread Léo Le Bouter via Bug reports for GNU Guix
I am also affected by this issue (non-deterministically) it seems. Requires me to run 'guix system reconfigure ..' several times for things to work. signature.asc Description: This is a digitally signed message part

bug#46967: Connection reuse for substitutes breaks with gzip

2021-03-11 Thread Ludovic Courtès
Turns out GnuTLS has a buffer for the record layer attached to the session. After the first GET in the main process, it looks like this: --8<---cut here---start->8--- (gdb) p session->internals.record_buffer $9 = {head = 0x7f7370, tail = 0x7f7370, length = 1, b

bug#46967: Connection reuse for substitutes breaks with gzip

2021-03-12 Thread Ludovic Courtès
Hi! Ludovic Courtès skribis: > This is because with ‘filtered-port’, the input port is dumped from a > child process, not from the calling process. I decided to take a heavy-handed solution to that problem, which is to augment Guile-zlib with an interface for gzip compression/decompression not

bug#46967: Connection reuse for substitutes breaks with gzip

2021-03-12 Thread Ludovic Courtès
Ludovic Courtès skribis: > I decided to take a heavy-handed solution to that problem, which is to > augment Guile-zlib with an interface for gzip compression/decompression > not restricted to file ports (‘call-with-gzip-output-port’ & co. are > restricted to file ports): > > > https://notabug.

bug#46967: Connection reuse for substitutes breaks with gzip

2021-03-14 Thread Ludovic Courtès
Ludovic Courtès skribis: > Ludovic Courtès skribis: > >> I decided to take a heavy-handed solution to that problem, which is to >> augment Guile-zlib with an interface for gzip compression/decompression >> not restricted to file ports (‘call-with-gzip-output-port’ & co. are >> restricted to file

bug#46967: Connection reuse for substitutes breaks with gzip

2021-03-17 Thread Bonface Munyoki K .
Ludovic Courtès writes: > Ludovic Courtès skribis: > >> Ludovic Courtès skribis: >> >>> I decided to take a heavy-handed solution to that problem, which is to >>> augment Guile-zlib with an interface for gzip compression/decompression >>> not restricted to file ports (‘call-with-gzip-output-por

bug#46967: Connection reuse for substitutes breaks with gzip

2021-03-18 Thread Ludovic Courtès
Bonface Munyoki K. skribis: > Ludovic Courtès writes: > >> Ludovic Courtès skribis: >> >>> Ludovic Courtès skribis: >>> I decided to take a heavy-handed solution to that problem, which is to augment Guile-zlib with an interface for gzip compression/decompression not restricted t