Failed writing received data to disk/application during substitution (HTTP2 issue) #1222

Open
opened 2026-06-01 10:52:57 +00:00 by mweinelt · 2 comments
Member

Describe the bug

The build farm I maintain substitutes from cache.nixos-cuda.org for supporting machines with cudaSupport enabled.

Regularly when substituting onnxruntime from that cache I run into a curl error 23.

This reproduces not only on our build farm, but also on my desktop machine, but not on my Rock 5B. All use nixos-unstable with a Lix version from last week or newer.

Steps To Reproduce

  1. Configure `cache.nixos-cuda.org
  2. nix-store --realise /nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug

Expected behavior

A clear and concise description of what you expected to happen.

nix --version output

nix (Lix, like Nix) 2.96.0-dev-pre20260531-dev_003946f
System type: x86_64-linux
Additional system types: i686-linux, x86_64-v1-linux, x86_64-v2-linux, x86_64-v3-linux
Features: gc, signed-caches
System configuration file: /etc/nix/nix.conf
User configuration files: /root/.config/nix/nix.conf:/etc/xdg/nix/nix.conf:/root/.nix-profile/etc/xdg/nix/nix.conf:/nix/profile/etc/xdg/nix/nix.conf:/root/.local/state/nix/profile/etc/xdg/nix/nix.conf:/etc/profiles/per-user/root/etc/xdg/nix/nix.conf:/nix/var/nix/profiles/default/etc/xdg/nix/nix.conf:/run/current-system/sw/etc/xdg/nix/nix.conf
Store directory: /nix/store
State directory: /nix/var/nix
Data directory: /nix/store/ig7j7ky4df4ar83r0cv560r9rj40qaqw-lix-2.96.0-dev-pre20260531-dev_003946f/share

curl -V output

curl 8.20.0 (x86_64-pc-linux-gnu) libcurl/8.20.0 OpenSSL/3.6.2 zlib/1.3.2 brotli/1.2.0 zstd/1.5.7 libidn2/2.3.8 libpsl/0.21.5 libssh2/1.11.1 nghttp2/1.69.0 ngtcp2/1.22.1 nghttp3/1.15.0 mit-krb5/1.22.1
Release-Date: 2026-04-29
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt mqtts pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd

Additional context

# nix-store --realise /nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug -vvvvvvvv
performing daemon worker op: 40
querying info about missing paths...
checking substituter 'https://cache.nixos.org' for path '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug'
checking substituter 'https://nix-community.cachix.org' for path '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug'
checking substituter 'https://cache.nixos-cuda.org' for path '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug'
this path will be fetched (1091.10 MiB download, 1091.10 MiB unpacked):
  /nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug
performing daemon worker op: 9
running command: '/nix/store/d8i768l3mi5ynrzhk5j15hbpwg4y226n-lix-2.96.0-dev-pre20260523-dev_b113be5/libexec/lix/check-namespace-support' '16'
substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': created
entered goal loop
substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': init
acquired write lock on '/nix/var/nix/temproots/3566132'
substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': trying next substituter
substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': trying next substituter
substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': trying next substituter
substitution of '/nix/store/7lmd80pj8j2yw1l54xsnhprd0a3sagv9-onnxruntime-1.26.0': created
substitution of '/nix/store/fb67sl8v628y15xqpbbarvzpz5kf3f8y-source': created
substitution of '/nix/store/7lmd80pj8j2yw1l54xsnhprd0a3sagv9-onnxruntime-1.26.0': init
substitution of '/nix/store/fb67sl8v628y15xqpbbarvzpz5kf3f8y-source': init
substitution of '/nix/store/7lmd80pj8j2yw1l54xsnhprd0a3sagv9-onnxruntime-1.26.0': done
substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': waitee 'substitution of '/nix/store/7lmd80pj8j2yw1l54xsnhprd0a3sagv9-onnxruntime-1.26.0'' done; 1 left
substitution of '/nix/store/fb67sl8v628y15xqpbbarvzpz5kf3f8y-source': done
substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': waitee 'substitution of '/nix/store/fb67sl8v628y15xqpbbarvzpz5kf3f8y-source'' done; 0 left
substitution of '/nix/store/7lmd80pj8j2yw1l54xsnhprd0a3sagv9-onnxruntime-1.26.0': goal destroyed
substitution of '/nix/store/fb67sl8v628y15xqpbbarvzpz5kf3f8y-source': goal destroyed
substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': all references realised
substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': trying to run
copying path '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug' from 'https://cache.nixos-cuda.org'...
downloading 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r'...
starting download of https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r
curl: Could not find host cache.nixos-cuda.org in the /etc/nix/netrc file; using defaults
curl:   Trying [2a01:4f9:3071:1108::1]:443...
curl: Host cache.nixos-cuda.org:443 was resolved.
curl: IPv6: 2a01:4f9:3071:1108::1
curl: IPv4: 37.27.129.22
curl: ALPN: curl offers h2,http/1.1
curl: TLSv1.3 (OUT), TLS handshake, Client hello (1):
curl: SSL Trust Anchors:
curl:   CAfile: /etc/ssl/certs/ca-certificates.crt
curl: TLSv1.3 (IN), TLS handshake, Server hello (2):
curl: TLSv1.3 (IN), TLS change cipher, Change cipher spec (1):
curl: TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
curl: TLSv1.3 (IN), TLS handshake, Certificate (11):
curl: TLSv1.3 (IN), TLS handshake, CERT verify (15):
curl: TLSv1.3 (IN), TLS handshake, Finished (20):
curl: TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
curl: TLSv1.3 (OUT), TLS handshake, Finished (20):
curl: SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256 / X25519MLKEM768 / id-ecPublicKey
curl: ALPN: server accepted h2
curl: Server certificate:
curl:   subject: CN=cache.nixos-cuda.org
curl:   start date: Apr 24 14:18:06 2026 GMT
curl:   expire date: Jul 23 14:18:05 2026 GMT
curl:   issuer: C=US; O=Let's Encrypt; CN=E7
curl:   Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384
curl:   Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using sha256WithRSAEncryption
curl:   Certificate level 2: Public key type RSA (4096/152 Bits/secBits), signed using sha256WithRSAEncryption
curl:   subjectAltName: "cache.nixos-cuda.org" matches cert's "cache.nixos-cuda.org"
curl: OpenSSL verify result: 0
curl: SSL certificate verified via OpenSSL.
curl: Established connection to cache.nixos-cuda.org (2a01:4f9:3071:1108::1 port 443) from 2001:41b8:83f:4242:202a:b300:1572:59b3 port 46100
curl: using HTTP/2
curl: [HTTP/2] [1] OPENED stream for https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r
curl: [HTTP/2] [1] [:method: GET]
curl: [HTTP/2] [1] [:scheme: https]
curl: [HTTP/2] [1] [:authority: cache.nixos-cuda.org]
curl: [HTTP/2] [1] [:path: /nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r]
curl: [HTTP/2] [1] [user-agent: curl/8.20.0 Lix/2.96.0-dev-pre20260523-dev_b113be5]
curl: [HTTP/2] [1] [accept: */*]
curl: [HTTP/2] [1] [accept-encoding: deflate, gzip, br, zstd]
curl: Request completely sent off
curl: TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': HTTP/2 200
got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': accept-ranges: bytes
got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': alt-svc: h3=":443"; ma=2592000
got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': cache-control: max-age=31536000
got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': content-encoding: zstd
got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': content-type: application/x-nix-archive
got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': date: Mon, 01 Jun 2026 10:49:51 GMT
got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': vary: accept-encoding
got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': via: 1.1 Caddy
got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': 
locking path '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug'
lock acquired on '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug.lock'
curl: Connection #0 to host cache.nixos-cuda.org:443 left intact
finished download of 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r'; curl status = 23, HTTP status = 200, body = 22872064 bytes
lock released on '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug.lock'
error: unable to download 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': HTTP error 200 () (curl error code=23: Failed writing received data to disk/application)
substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': trying next substituter
substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': trying next substituter
substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': trying next substituter
substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': trying next substituter
path '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug' is required, but there is no substituter that can build it
substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': done
substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': goal destroyed
error: build of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug' failed
## Describe the bug The build farm I maintain substitutes from cache.nixos-cuda.org for supporting machines with `cudaSupport` enabled. Regularly when substituting `onnxruntime` from that cache I run into a curl error 23. This reproduces not only on our build farm, but also on my desktop machine, but not on my Rock 5B. All use nixos-unstable with a Lix version from last week or newer. ## Steps To Reproduce 1. Configure `cache.nixos-cuda.org 2. `nix-store --realise /nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug` ## Expected behavior A clear and concise description of what you expected to happen. ## `nix --version` output ``` nix (Lix, like Nix) 2.96.0-dev-pre20260531-dev_003946f System type: x86_64-linux Additional system types: i686-linux, x86_64-v1-linux, x86_64-v2-linux, x86_64-v3-linux Features: gc, signed-caches System configuration file: /etc/nix/nix.conf User configuration files: /root/.config/nix/nix.conf:/etc/xdg/nix/nix.conf:/root/.nix-profile/etc/xdg/nix/nix.conf:/nix/profile/etc/xdg/nix/nix.conf:/root/.local/state/nix/profile/etc/xdg/nix/nix.conf:/etc/profiles/per-user/root/etc/xdg/nix/nix.conf:/nix/var/nix/profiles/default/etc/xdg/nix/nix.conf:/run/current-system/sw/etc/xdg/nix/nix.conf Store directory: /nix/store State directory: /nix/var/nix Data directory: /nix/store/ig7j7ky4df4ar83r0cv560r9rj40qaqw-lix-2.96.0-dev-pre20260531-dev_003946f/share ``` ## `curl -V` output ``` curl 8.20.0 (x86_64-pc-linux-gnu) libcurl/8.20.0 OpenSSL/3.6.2 zlib/1.3.2 brotli/1.2.0 zstd/1.5.7 libidn2/2.3.8 libpsl/0.21.5 libssh2/1.11.1 nghttp2/1.69.0 ngtcp2/1.22.1 nghttp3/1.15.0 mit-krb5/1.22.1 Release-Date: 2026-04-29 Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt mqtts pop3 pop3s rtsp scp sftp smtp smtps telnet tftp Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd ``` ## Additional context ``` # nix-store --realise /nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug -vvvvvvvv performing daemon worker op: 40 querying info about missing paths... checking substituter 'https://cache.nixos.org' for path '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug' checking substituter 'https://nix-community.cachix.org' for path '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug' checking substituter 'https://cache.nixos-cuda.org' for path '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug' this path will be fetched (1091.10 MiB download, 1091.10 MiB unpacked): /nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug performing daemon worker op: 9 running command: '/nix/store/d8i768l3mi5ynrzhk5j15hbpwg4y226n-lix-2.96.0-dev-pre20260523-dev_b113be5/libexec/lix/check-namespace-support' '16' substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': created entered goal loop substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': init acquired write lock on '/nix/var/nix/temproots/3566132' substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': trying next substituter substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': trying next substituter substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': trying next substituter substitution of '/nix/store/7lmd80pj8j2yw1l54xsnhprd0a3sagv9-onnxruntime-1.26.0': created substitution of '/nix/store/fb67sl8v628y15xqpbbarvzpz5kf3f8y-source': created substitution of '/nix/store/7lmd80pj8j2yw1l54xsnhprd0a3sagv9-onnxruntime-1.26.0': init substitution of '/nix/store/fb67sl8v628y15xqpbbarvzpz5kf3f8y-source': init substitution of '/nix/store/7lmd80pj8j2yw1l54xsnhprd0a3sagv9-onnxruntime-1.26.0': done substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': waitee 'substitution of '/nix/store/7lmd80pj8j2yw1l54xsnhprd0a3sagv9-onnxruntime-1.26.0'' done; 1 left substitution of '/nix/store/fb67sl8v628y15xqpbbarvzpz5kf3f8y-source': done substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': waitee 'substitution of '/nix/store/fb67sl8v628y15xqpbbarvzpz5kf3f8y-source'' done; 0 left substitution of '/nix/store/7lmd80pj8j2yw1l54xsnhprd0a3sagv9-onnxruntime-1.26.0': goal destroyed substitution of '/nix/store/fb67sl8v628y15xqpbbarvzpz5kf3f8y-source': goal destroyed substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': all references realised substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': trying to run copying path '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug' from 'https://cache.nixos-cuda.org'... downloading 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r'... starting download of https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r curl: Could not find host cache.nixos-cuda.org in the /etc/nix/netrc file; using defaults curl: Trying [2a01:4f9:3071:1108::1]:443... curl: Host cache.nixos-cuda.org:443 was resolved. curl: IPv6: 2a01:4f9:3071:1108::1 curl: IPv4: 37.27.129.22 curl: ALPN: curl offers h2,http/1.1 curl: TLSv1.3 (OUT), TLS handshake, Client hello (1): curl: SSL Trust Anchors: curl: CAfile: /etc/ssl/certs/ca-certificates.crt curl: TLSv1.3 (IN), TLS handshake, Server hello (2): curl: TLSv1.3 (IN), TLS change cipher, Change cipher spec (1): curl: TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): curl: TLSv1.3 (IN), TLS handshake, Certificate (11): curl: TLSv1.3 (IN), TLS handshake, CERT verify (15): curl: TLSv1.3 (IN), TLS handshake, Finished (20): curl: TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): curl: TLSv1.3 (OUT), TLS handshake, Finished (20): curl: SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256 / X25519MLKEM768 / id-ecPublicKey curl: ALPN: server accepted h2 curl: Server certificate: curl: subject: CN=cache.nixos-cuda.org curl: start date: Apr 24 14:18:06 2026 GMT curl: expire date: Jul 23 14:18:05 2026 GMT curl: issuer: C=US; O=Let's Encrypt; CN=E7 curl: Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384 curl: Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using sha256WithRSAEncryption curl: Certificate level 2: Public key type RSA (4096/152 Bits/secBits), signed using sha256WithRSAEncryption curl: subjectAltName: "cache.nixos-cuda.org" matches cert's "cache.nixos-cuda.org" curl: OpenSSL verify result: 0 curl: SSL certificate verified via OpenSSL. curl: Established connection to cache.nixos-cuda.org (2a01:4f9:3071:1108::1 port 443) from 2001:41b8:83f:4242:202a:b300:1572:59b3 port 46100 curl: using HTTP/2 curl: [HTTP/2] [1] OPENED stream for https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r curl: [HTTP/2] [1] [:method: GET] curl: [HTTP/2] [1] [:scheme: https] curl: [HTTP/2] [1] [:authority: cache.nixos-cuda.org] curl: [HTTP/2] [1] [:path: /nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r] curl: [HTTP/2] [1] [user-agent: curl/8.20.0 Lix/2.96.0-dev-pre20260523-dev_b113be5] curl: [HTTP/2] [1] [accept: */*] curl: [HTTP/2] [1] [accept-encoding: deflate, gzip, br, zstd] curl: Request completely sent off curl: TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': HTTP/2 200 got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': accept-ranges: bytes got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': alt-svc: h3=":443"; ma=2592000 got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': cache-control: max-age=31536000 got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': content-encoding: zstd got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': content-type: application/x-nix-archive got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': date: Mon, 01 Jun 2026 10:49:51 GMT got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': vary: accept-encoding got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': via: 1.1 Caddy got header for 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': locking path '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug' lock acquired on '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug.lock' curl: Connection #0 to host cache.nixos-cuda.org:443 left intact finished download of 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r'; curl status = 23, HTTP status = 200, body = 22872064 bytes lock released on '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug.lock' error: unable to download 'https://cache.nixos-cuda.org/nar/0848r90lzrc45725mil8vpzgn38hh4qhvdp540yyrdgy35d6y8wd.nar?hash=l673bdzbsfqy5arydhjbmx3lj29spj8r': HTTP error 200 () (curl error code=23: Failed writing received data to disk/application) substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': trying next substituter substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': trying next substituter substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': trying next substituter substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': trying next substituter path '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug' is required, but there is no substituter that can build it substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': done substitution of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug': goal destroyed error: build of '/nix/store/l673bdzbsfqy5arydhjbmx3lj29spj8r-onnxruntime-1.26.0-debug' failed ```
Author
Member

This started working again once I managed to disable http2.

This started working again once I managed to disable `http2`.
mweinelt changed title from Failed writing received data to disk/application during substitution to Failed writing received data to disk/application during substitution (HTTP2 issue) 2026-06-01 11:54:38 +00:00
Owner

this is a curl bug. we managed to reproduce the failure in rr, and the things break the moment we return CURL_WRITEFUNC_PAUSE from our write callback the way the curl docs tell us to do to pause a transfer. so fucking sick of this shit. the only way forward seems to either disable h2/h3 completely or not pretend that curl has a useful async interface at all (ie roll back to pre-2.93 behavior of the curl wrapper)

this is a curl bug. we managed to reproduce the failure in rr, and the things break the moment we return `CURL_WRITEFUNC_PAUSE` from our write callback *the way the curl docs tell us to do to pause a transfer*. so fucking sick of this shit. the only way forward seems to either disable h2/h3 completely or not pretend that curl has a useful async interface at all (ie roll back to pre-2.93 behavior of the curl wrapper)
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lix-project/lix#1222
No description provided.