On Wednesday, January 14th, 2026 at 1:35 PM, ruby R53 <[email protected]> wrote:

> 
> 
> On Wednesday, January 14th, 2026 at 1:10 PM, Ronald Klop [email protected] 
> wrote:
> 
> > Van: ruby R53 [email protected]
> > Datum: woensdag, 14 januari 2026 15:41
> > Aan: Ronald Klop [email protected], Current FreeBSD 
> > [email protected]
> > Onderwerp: Re: Change fetch addresses for Rust crates, Python packages and 
> > whatnot?
> > 
> > > On Wednesday, January 14th, 2026 at 4:11 AM, Ronald Klop 
> > > [email protected] wrote:
> > > 
> > > > Van: ruby R53 [email protected]
> > > > Datum: woensdag, 14 januari 2026 03:26
> > > > Aan: [email protected]
> > > > Onderwerp: Change fetch addresses for Rust crates, Python packages and 
> > > > whatnot?
> > > > 
> > > > > I've been trying to compile www/chromium for literal days now, all 
> > > > > because whenever `make` runs `fetch`, it goes to an address that's 
> > > > > actually supposed to redirect to another one, but `fetch` instead 
> > > > > keeps trying for a whole minute until it ultimately falls back to 
> > > > > distcache.freebsd.org, which is another whole minute of waiting for 
> > > > > the file to download. The cherry on top is that the file is, most of 
> > > > > the time, just hundreds of kilobytes in size.
> > > > > 
> > > > > Hell, I even had to manually download part of these individual files 
> > > > > using that Links web browser··· it'd do it a lot faster than `fetch`, 
> > > > > all because it actually followed the redirection and didn't just keep 
> > > > > trying over and over. But of course I wouldn't manually download 
> > > > > hundreds upon hundreds of archive files, this is the reason why such 
> > > > > tool exists.
> > > > > 
> > > > > So here's an example: currently one of the missing dependencies for 
> > > > > www/chromium is GTK3, which depends on graphics/librsvg2-rust, which 
> > > > > then depends on cargo-c. It's now trying to fetch dunce-1.0.5.crate, 
> > > > > which is one of the crates required for it, from 
> > > > > https://crates.io/api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate.
> > > > >  Running `curl` on this link does literally nothing, no files are 
> > > > > downloaded. But running it on any web browser instantly downloads the 
> > > > > crate in question, all because that link actually redirects to 
> > > > > https://static.crates.io/crates/dunce/dunce-1.0.5.crate. Even 
> > > > > `curl`ing that new link does give the file I want. Same applies for 
> > > > > Python packages.
> > > > > 
> > > > > Now imagine this for all the remaining files··· if it takes about 2 
> > > > > minutes to download a single file, and there's 398 crate entries on 
> > > > > cargo-c's `Makefile.crates`, that means it'd take a whole 796 minutes 
> > > > > to download everything, which is literally more than half a day 
> > > > > (~13.6 hours) :)
> > > > 
> > > > Can you copy-paste the output of the following command in a reply?
> > > > fetch -vv 
> > > > "https://crates.io/api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate";
> > > > 
> > > > For me it immediately follows the redirect and downloads the file in 
> > > > half a second. See the output below.
> > > > 
> > > > Regards,
> > > > Ronald.
> > > > 
> > > > --
> > > > 
> > > > time fetch -vv 
> > > > "https://crates.io/api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate";
> > > > scheme: "https"
> > > > user: ""
> > > > password: ""
> > > > host: "crates.io"
> > > > port: "0"
> > > > document: 
> > > > "/api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate"
> > > > ---> crates.io:443
> > > > resolving server address: crates.io:443
> > > > SSL options: 82004850
> > > > Peer verification enabled
> > > > Using OpenSSL default CA cert file and path
> > > > Verify hostname
> > > > TLSv1.3 connection established using TLS_AES_128_GCM_SHA256
> > > > Certificate subject: /CN=crates.io
> > > > Certificate issuer: /C=US/O=Amazon/CN=Amazon RSA 2048 M01
> > > > requesting 
> > > > https://crates.io/api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate
> > > > 
> > > > > > > GET 
> > > > > > > /api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate
> > > > > > >  HTTP/1.1
> > > > > > > Host: crates.io
> > > > > > > Accept: /
> > > > > > > User-Agent: fetch libfetch/2.0
> > > > > > > Connection: close
> > > > 
> > > > <<< HTTP/1.1 302 Moved Temporarily
> > > > <<< Content-Length: 0
> > > > <<< Connection: close
> > > > content length: [0]
> > > > <<< Access-Control-Allow-Origin: *
> > > > <<< Date: Wed, 14 Jan 2026 07:10:06 GMT
> > > > <<< Location: https://static.crates.io/crates/dunce/dunce-1.0.5.crate
> > > > <<< Nel: 
> > > > {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
> > > > 302 redirect to https://static.crates.io/crates/dunce/dunce-1.0.5.crate
> > > > scheme: "https"
> > > > user: ""
> > > > password: ""
> > > > host: "static.crates.io"
> > > > port: "0"
> > > > document: "/crates/dunce/dunce-1.0.5.crate"
> > > > <<< Report-To: 
> > > > {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=VOwdWzeBall4rSiByZHUwCe6zIbVFdxy%2FIgcGEUOIZo%3D\\u0026sid=af571f24-03ee-46d1-9f90-ab9030c2c74c\\u0026ts=1768374606"}],"max_age":3600}
> > > > <<< Reporting-Endpoints: 
> > > > heroku-nel="https://nel.heroku.com/reports?s=VOwdWzeBall4rSiByZHUwCe6zIbVFdxy%2FIgcGEUOIZo%3D&sid=af571f24-03ee-46d1-9f90-ab9030c2c74c&ts=1768374606";
> > > > <<< Server: Heroku
> > > > <<< Strict-Transport-Security: max-age=31536000; includeSubDomains
> > > > <<< Via: 1.1 heroku-router, 1.1 
> > > > c2905f891f96a0ec9c7fab16916dbb46.cloudfront.net (CloudFront)
> > > > <<< X-Cache: Miss from cloudfront
> > > > <<< X-Amz-Cf-Pop: AMS58-P6
> > > > <<< X-Amz-Cf-Id: 
> > > > Xa10pwbYp4MCA5eToVa0shahNpzr2epWFUuQZS63bMpmbiDLKc2dmQ==
> > > > <<<
> > > > ---> static.crates.io:443
> > > > resolving server address: static.crates.io:443
> > > > SSL options: 82004850
> > > > Peer verification enabled
> > > > Using OpenSSL default CA cert file and path
> > > > Verify hostname
> > > > TLSv1.3 connection established using TLS_AES_128_GCM_SHA256
> > > > Certificate subject: /CN=static.crates.io
> > > > Certificate issuer: /C=BE/O=GlobalSign nv-sa/CN=GlobalSign Atlas R3 DV 
> > > > TLS CA 2025 Q3
> > > > requesting https://static.crates.io/crates/dunce/dunce-1.0.5.crate
> > > > 
> > > > > > > GET /crates/dunce/dunce-1.0.5.crate HTTP/1.1
> > > > > > > Host: static.crates.io
> > > > > > > Accept: /
> > > > > > > User-Agent: fetch libfetch/2.0
> > > > > > > Connection: close
> > > > 
> > > > <<< HTTP/1.1 200
> > > > <<< Connection: close
> > > > <<< Content-Length: 8244
> > > > <<< etag: "198d7f7c37f632bc83502b28870b6d60"
> > > > content length: [8244]
> > > > <<< cache-control: public,max-age=31536000,immutable
> > > > <<< x-amz-version-id: PO7xZdimM08F9npIqG8PYtpqpEuWdV9D
> > > > <<< x-amz-id-2: 
> > > > Dj7mFoaqQJUc61mB1FcouUQcy0tajnacJvU+xOR3Be5//jo3GaSmdCwSSgtYyDMnYE4cPCiPv7PV9m7z1Jk0WazYHTFPbYhm
> > > > <<< x-amz-request-id: KWXPQ4JP20HSYSY2
> > > > <<< date: Wed, 14 Jan 2026 00:09:56 GMT
> > > > <<< x-amz-server-side-encryption: AES256
> > > > <<< x-amz-replication-status: COMPLETED
> > > > <<< last-modified: Sun, 04 Aug 2024 01:36:47 GMT
> > > > <<< accept-ranges: bytes
> > > > last modified: [2024-08-04 01:36:47]
> > > > <<< content-type: application/gzip
> > > > <<< x-served-by: cache-ams21058-AMS
> > > > <<< server: AmazonS3
> > > > <<< age: 25212
> > > > <<< x-cache: HIT
> > > > <<< x-cache-hits: 148
> > > > <<<
> > > > offset 0, length -1, size -1, clength 8244
> > > > local size / mtime: 8244 / 1722735407
> > > > remote size / mtime: 8244 / 1722735407
> > > > dunce-1.0.5.crate 8244 B 10 MBps 00s
> > > > 
> > > > real 0m0.429s
> > > > user 0m0.023s
> > > > sys 0m0.027s
> > > 
> > > ```
> > > # time fetch -vv 
> > > "https://crates.io/api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate";
> > > scheme: "https"
> > > user: ""
> > > password: ""
> > > host: "crates.io"
> > > port: "0"
> > > document: 
> > > "/api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate"
> > > ---> crates.io:443
> > > resolving server address: crates.io:443 (<- it gets stuck here for like a 
> > > minute)
> > > SSL options: 82004850
> > > Peer verification enabled
> > > Using OpenSSL default CA cert file and path
> > > Verify hostname
> > > TLSv1.3 connection established using TLS_AES_128_GCM_SHA256
> > > Certificate subject: /CN=crates.io
> > > Certificate issuer: /C=US/O=Amazon/CN=Amazon RSA 2048 M01
> > > requesting 
> > > https://crates.io/api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate
> > > 
> > > > > > GET 
> > > > > > /api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate
> > > > > >  HTTP/1.1
> > > > > > Host: crates.io
> > > > > > Accept: /
> > > > > > User-Agent: fetch libfetch/2.0
> > > > > > Connection: close
> > > 
> > > <<< HTTP/1.1 302 Moved Temporarily
> > > <<< Content-Length: 0
> > > <<< Connection: close
> > > content length: [0]
> > > <<< Access-Control-Allow-Origin: *
> > > <<< Date: Wed, 14 Jan 2026 14:34:21 GMT
> > > <<< Location: https://static.crates.io/crates/dunce/dunce-1.0.5.crate
> > > <<< Nel: 
> > > {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
> > > 302 redirect to https://static.crates.io/crates/dunce/dunce-1.0.5.crate
> > > scheme: "https"
> > > user: ""
> > > password: ""
> > > host: "static.crates.io"
> > > port: "0"
> > > document: "/crates/dunce/dunce-1.0.5.crate"
> > > <<< Report-To: 
> > > {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=9t0rqIH4lMlfE9ncVibRPy8hCUlMqBmippMeWunG5M0%3D\\u0026sid=af571f24-03ee-46d1-9f90-ab9030c2c74c\\u0026ts=1768401261"}],"max_age":3600}
> > > <<< Reporting-Endpoints: 
> > > heroku-nel="https://nel.heroku.com/reports?s=9t0rqIH4lMlfE9ncVibRPy8hCUlMqBmippMeWunG5M0%3D&sid=af571f24-03ee-46d1-9f90-ab9030c2c74c&ts=1768401261";
> > > <<< Server: Heroku
> > > <<< Strict-Transport-Security: max-age=31536000; includeSubDomains
> > > <<< Via: 1.1 heroku-router, 1.1 
> > > 608555ff8069f08e821e1679cd412294.cloudfront.net (CloudFront)
> > > <<< X-Cache: Miss from cloudfront
> > > <<< X-Amz-Cf-Pop: GRU3-P10
> > > <<< X-Amz-Cf-Id: LvtqT2cBMH7thFfdy3ktelkhg-ALuajh-ucfDhnv7l_s73okAxXp7Q==
> > > <<<
> > > ---> static.crates.io:443
> > > resolving server address: static.crates.io:443
> > > SSL options: 82004850
> > > Peer verification enabled
> > > Using OpenSSL default CA cert file and path
> > > Verify hostname
> > > TLSv1.3 connection established using TLS_AES_128_GCM_SHA256
> > > Certificate subject: /CN=static.crates.io
> > > Certificate issuer: /C=BE/O=GlobalSign nv-sa/CN=GlobalSign Atlas R3 DV 
> > > TLS CA 2025 Q3
> > > requesting https://static.crates.io/crates/dunce/dunce-1.0.5.crate
> > > 
> > > > > > GET /crates/dunce/dunce-1.0.5.crate HTTP/1.1
> > > > > > Host: static.crates.io
> > > > > > Accept: /
> > > > > > User-Agent: fetch libfetch/2.0
> > > > > > Connection: close
> > > 
> > > <<< HTTP/1.1 200
> > > <<< Connection: close
> > > <<< Content-Length: 8244
> > > <<< cache-control: public,max-age=31536000,immutable
> > > content length: [8244]
> > > <<< x-amz-version-id: PO7xZdimM08F9npIqG8PYtpqpEuWdV9D
> > > <<< x-amz-id-2: 
> > > EzDoao06Q7mYZgq0ecISLqKGCrHOV1gBvzNGaaAfOg4QCWZ/d3G4pjY4ZAoo2BNA0jACxYFWJQQ=
> > > <<< x-amz-request-id: 7JJDJ8X4GESHDW5P
> > > <<< date: Wed, 14 Jan 2026 04:21:53 GMT
> > > <<< x-amz-replication-status: COMPLETED
> > > <<< x-amz-server-side-encryption: AES256
> > > <<< last-modified: Sun, 04 Aug 2024 01:36:47 GMT
> > > <<< etag: "198d7f7c37f632bc83502b28870b6d60"
> > > last modified: [2024-08-04 01:36:47]
> > > <<< accept-ranges: bytes
> > > <<< content-type: application/gzip
> > > <<< x-served-by: cache-gru-sbgr1930032-GRU
> > > <<< server: AmazonS3
> > > <<< age: 36813
> > > <<< x-cache: HIT
> > > <<< x-cache-hits: 107
> > > <<<
> > > offset 0, length -1, size -1, clength 8244
> > > fetch: transfer timed out
> > > fetch: dunce-1.0.5.crate appears to be truncated: 0/8244 bytes
> > > 184.03 real 0.02 user 0.00 sys
> > > 
> > > so it's even worse, it does follow the redirect but somehow can't get the 
> > > file at all, and all of that actually takes 3 minutes to do
> > 
> > That looks weird. It is hard to diagnose from a distance. How is you 
> > general network access? Do you have a lot of package loss?
> > 
> > Regards,
> > Ronald.
> 
> 
> ah yeah··· just tried pinging google.com and got 100% packet loss, even tho' 
> i'm on ethernet and internet works blazingly fast on Linux
> cURL can access google in an instant however, and as i mentioned i can easily 
> download these files using Links
> however that one takes a lot longer to load google and any other website for 
> some reason··· must be something wrong with the network driver, this didn't 
> happen before

right, just did a kernel and world update (both from 1600007 -> 1600008), still 
getting the same issue··· i'm puzzled now, this is really weird

Reply via email to