{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreibljm5fflnsowp75ew2r7tqyxh5fhxfkq5rscbykjc54u632ttwle",
    "uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mgpnojstcwg2"
  },
  "path": "/t/hackage-timeouts-stack-error-s-5170-again/13781#post_1",
  "publishedAt": "2026-03-10T13:29:08.000Z",
  "site": "https://discourse.haskell.org",
  "tags": [
    "Add test for unpacking · avdv/stack@ebb41d5 · GitHub",
    "https://hackage.haskell.org/ status page – updown.io"
  ],
  "textContent": "Hi.\n\nSince a few days, we often see errors on CI where builds are failing because hackage does not respond in a timely manner:\n\n\n    Tue, 10 Mar 2026 10:59:20 GMT Downloading timestamp\n    Tue, 10 Mar 2026 10:59:20 GMT Downloading snapshot\n    Tue, 10 Mar 2026 10:59:50 GMT SomeRemoteError (HttpExceptionRequest Request {\n    Tue, 10 Mar 2026 10:59:50 GMT   host                 = \"hackage.haskell.org\"\n    Tue, 10 Mar 2026 10:59:50 GMT   port                 = 443\n    Tue, 10 Mar 2026 10:59:50 GMT   secure               = True\n    Tue, 10 Mar 2026 10:59:50 GMT   requestHeaders       = [(\"Accept-Encoding\",\"\"),(\"User-Agent\",\"Haskell pantry package\")]\n    Tue, 10 Mar 2026 10:59:50 GMT   path                 = \"/snapshot.json\"\n    Tue, 10 Mar 2026 10:59:50 GMT   queryString          = \"\"\n    Tue, 10 Mar 2026 10:59:50 GMT   method               = \"GET\"\n    Tue, 10 Mar 2026 10:59:50 GMT   proxy                = Nothing\n    Tue, 10 Mar 2026 10:59:50 GMT   rawBody              = False\n    Tue, 10 Mar 2026 10:59:50 GMT   redirectCount        = 10\n    Tue, 10 Mar 2026 10:59:50 GMT   responseTimeout      = ResponseTimeoutDefault\n    Tue, 10 Mar 2026 10:59:50 GMT   requestVersion       = HTTP/1.1\n    Tue, 10 Mar 2026 10:59:50 GMT   proxySecureMode      = ProxySecureWithConnect\n    Tue, 10 Mar 2026 10:59:50 GMT }\n    Tue, 10 Mar 2026 10:59:50 GMT  ResponseTimeout)\n    Tue, 10 Mar 2026 10:59:50 GMT\n    Tue, 10 Mar 2026 10:59:50 GMT Error: [S-5170]\n    Tue, 10 Mar 2026 10:59:50 GMT        While trying to unpack HUnit-1.6.2.0, Stack encountered an error.\n\n\n\nAs you can see we are using stack. Also note the request failed after 30 seconds, which is exactly the ResponseTimeoutDefault. (this was run on Github provided runners see Add test for unpacking · avdv/stack@ebb41d5 · GitHub)\n\nI tried to reproduce with curl, and one time I indeed saw some weird hangup:\n\n\n    curl -v -m 30 https://hackage.haskell.org/package/logict-0.7.0.3.tar.gz -o /dev/null\n      % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current\n                                     Dload  Upload  Total   Spent   Left   Speed\n      0      0   0      0   0      0      0      0                              0* Host hackage.haskell.org:443 was resolved.\n    * IPv6: (none)\n    * IPv4: 151.101.0.68, 151.101.64.68, 151.101.128.68, 151.101.192.68\n    *   Trying 151.101.0.68:443...\n    * ALPN: curl offers h2,http/1.1\n    } [5 bytes data]\n    * TLSv1.3 (OUT), TLS handshake, Client hello (1):\n    ...\n    * Server certificate:\n    *   subject: CN=*.haskell.org\n    *   start date: Feb  9 16:18:57 2026 GMT\n    *   expire date: Mar 13 16:18:56 2027 GMT\n    *   issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign Atlas R3 DV TLS CA 2026 Q1\n    *   Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption\n    *   Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption\n    *   Certificate level 2: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption\n    *   subjectAltName: \"hackage.haskell.org\" matches cert's \"*.haskell.org\"\n    * SSL certificate verified via OpenSSL.\n    * Established connection to hackage.haskell.org (151.101.0.68 port 443) from 192.168.1.117 port 53384\n    * using HTTP/1.x\n    } [5 bytes data]\n    > GET /package/logict-0.7.0.3.tar.gz HTTP/1.1\n    > Host: hackage.haskell.org\n    > User-Agent: curl/8.18.0\n    > Accept: */*\n    >\n    * Request completely sent off\n      0      0   0      0   0      0      0      0           00:07              0{ [5 bytes data]\n    < HTTP/1.1 301 Moved Permanently\n    < Connection: keep-alive\n    < Content-Length: 0\n    < Server: nginx/1.24.0 (Ubuntu)\n    < Content-Type: text/plain\n    < Location: /package/logict-0.7.0.3/logict-0.7.0.3.tar.gz\n    < Accept-Ranges: bytes\n    < Via: 1.1 varnish, 1.1 varnish\n    < Date: Tue, 10 Mar 2026 08:20:38 GMT\n    < X-Served-By: cache-dfw-kdfw8210050-DFW, cache-fra-etou8220058-FRA\n    < X-Cache: MISS, MISS\n    < X-Cache-Hits: 0, 0\n    < X-Timer: S1773130831.082936,VS0,VE7547\n    <\n      0      0   0      0   0      0      0      0           00:07              0\n    * Connection #0 to host hackage.haskell.org:443 left intact\n\n\nNote that it took 7 seconds after the request was sent off until the headers arrived.\n\nAccording to APDEX on https://hackage.haskell.org/ status page – updown.io I should be happy, yet CI is failing all over again\n\nAnyone experiencing the same issue?",
  "title": "Hackage timeouts (stack error S-5170 again)"
}