From nobody Wed Jan 14 17:47:10 2026 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drtq965kcz6NjKy for ; Wed, 14 Jan 2026 17:47:17 +0000 (UTC) (envelope-from red_M95@proton.me) Received: from mail-24428.protonmail.ch (mail-24428.protonmail.ch [109.224.244.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "protonmail.com", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drtq9382Wz3XNB for ; Wed, 14 Jan 2026 17:47:17 +0000 (UTC) (envelope-from red_M95@proton.me) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=protonmail; t=1768412834; x=1768672034; bh=UgxZQdmivH28LjoE4Ug5veudFksh9kOthGbz3QLeXQw=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=b+MAuzJjhJEK9iwB2vQ/ipmoMJdsSTI/TZ5ybILMgJoFFLfqY0G6aBtbpbRpyk5Zf xJPGuavU5wNBkC601n78zctc2rvkEqJIptG5CY5NiRT1uTgFCc5aCPZ0WbT5DtFybU UlRIUYl9tomouUDKRVfVgKkq8QVbHlH5VZ1VnIqYN9evHU5mU2SrwXTZoGppboBC+W 9hWKtzeovhXP7GAPJ1x589RROXLnG1SbOngHyU231qmZe36yUoeJs6DM7Pej5y9Iyk gjg4TndrTReRwYyv/OSPwn8QoFvAi1UHyHNL7nCrbXfjiqUeKhA0QsuCbrgL7Ue4pi oER5pmYsekmVA== Date: Wed, 14 Jan 2026 17:47:10 +0000 To: ruby R53 From: ruby R53 Cc: Ronald Klop , Current FreeBSD Subject: Re: Change fetch addresses for Rust crates, Python packages and whatnot? Message-ID: In-Reply-To: References: <1503278086.9.1768374682910@localhost> <9Qp2LaDX-QG6aXtsRcjekPDWOjni9Cy4LLmza8jhB2cD15_VfdTY7znjCzIClM1qtEhVuK4P_cL1yKl8AMJZ3m8UnE3EEC67polveeC_Zys=@proton.me> <1541007573.1910.1768406972044@localhost> Feedback-ID: 66100208:user:proton X-Pm-Message-ID: e1599f201c0fd210204bad4dab462dbae76a478c List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:62371, ipnet:109.224.244.0/24, country:CH] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4drtq9382Wz3XNB On Wednesday, January 14th, 2026 at 1:35 PM, ruby R53 w= rote: >=20 >=20 > On Wednesday, January 14th, 2026 at 1:10 PM, Ronald Klop ronald-lists@klo= p.ws wrote: >=20 > > Van: ruby R53 red_M95@proton.me > > Datum: woensdag, 14 januari 2026 15:41 > > Aan: Ronald Klop ronald-lists@klop.ws, Current FreeBSD freebsd-current@= freebsd.org > > Onderwerp: Re: Change fetch addresses for Rust crates, Python packages = and whatnot? > >=20 > > > On Wednesday, January 14th, 2026 at 4:11 AM, Ronald Klop ronald-lists= @klop.ws wrote: > > >=20 > > > > Van: ruby R53 red_M95@proton.me > > > > Datum: woensdag, 14 januari 2026 03:26 > > > > Aan: freebsd-current@freebsd.org > > > > Onderwerp: Change fetch addresses for Rust crates, Python packages = and whatnot? > > > >=20 > > > > > I've been trying to compile www/chromium for literal days now, al= l because whenever `make` runs `fetch`, it goes to an address that's actual= ly supposed to redirect to another one, but `fetch` instead keeps trying fo= r a whole minute until it ultimately falls back to distcache.freebsd.org, w= hich is another whole minute of waiting for the file to download. The cherr= y on top is that the file is, most of the time, just hundreds of kilobytes = in size. > > > > >=20 > > > > > Hell, I even had to manually download part of these individual fi= les using that Links web browser=C2=B7=C2=B7=C2=B7 it'd do it a lot faster = than `fetch`, all because it actually followed the redirection and didn't j= ust keep trying over and over. But of course I wouldn't manually download h= undreds upon hundreds of archive files, this is the reason why such tool ex= ists. > > > > >=20 > > > > > So here's an example: currently one of the missing dependencies f= or www/chromium is GTK3, which depends on graphics/librsvg2-rust, which the= n 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/dun= ce/1.0.5/download?dummy=3D/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 t= hat 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 a= pplies for Python packages. > > > > >=20 > > > > > Now imagine this for all the remaining files=C2=B7=C2=B7=C2=B7 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 mi= nutes to download everything, which is literally more than half a day (~13.= 6 hours) :) > > > >=20 > > > > 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?dum= my=3D/rust/crates/dunce-1.0.5.crate" > > > >=20 > > > > For me it immediately follows the redirect and downloads the file i= n half a second. See the output below. > > > >=20 > > > > Regards, > > > > Ronald. > > > >=20 > > > > -- > > > >=20 > > > > time fetch -vv "https://crates.io/api/v1/crates/dunce/1.0.5/downloa= d?dummy=3D/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=3D/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=3Dcrates.io > > > > Certificate issuer: /C=3DUS/O=3DAmazon/CN=3DAmazon RSA 2048 M01 > > > > requesting https://crates.io/api/v1/crates/dunce/1.0.5/download?dum= my=3D/rust/crates/dunce-1.0.5.crate > > > >=20 > > > > > > > GET /api/v1/crates/dunce/1.0.5/download?dummy=3D/rust/crates/= dunce-1.0.5.crate HTTP/1.1 > > > > > > > Host: crates.io > > > > > > > Accept: / > > > > > > > User-Agent: fetch libfetch/2.0 > > > > > > > Connection: close > > > >=20 > > > > <<< 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.cra= te > > > > <<< 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.c= rate > > > > 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://n= el.heroku.com/reports?s=3DVOwdWzeBall4rSiByZHUwCe6zIbVFdxy%2FIgcGEUOIZo%3D\= \u0026sid=3Daf571f24-03ee-46d1-9f90-ab9030c2c74c\\u0026ts=3D1768374606"}],"= max_age":3600} > > > > <<< Reporting-Endpoints: heroku-nel=3D"https://nel.heroku.com/repor= ts?s=3DVOwdWzeBall4rSiByZHUwCe6zIbVFdxy%2FIgcGEUOIZo%3D&sid=3Daf571f24-03ee= -46d1-9f90-ab9030c2c74c&ts=3D1768374606" > > > > <<< Server: Heroku > > > > <<< Strict-Transport-Security: max-age=3D31536000; includeSubDomain= s > > > > <<< Via: 1.1 heroku-router, 1.1 c2905f891f96a0ec9c7fab16916dbb46.cl= oudfront.net (CloudFront) > > > > <<< X-Cache: Miss from cloudfront > > > > <<< X-Amz-Cf-Pop: AMS58-P6 > > > > <<< X-Amz-Cf-Id: Xa10pwbYp4MCA5eToVa0shahNpzr2epWFUuQZS63bMpmbiDLKc= 2dmQ=3D=3D > > > > <<< > > > > ---> 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=3Dstatic.crates.io > > > > Certificate issuer: /C=3DBE/O=3DGlobalSign nv-sa/CN=3DGlobalSign At= las R3 DV TLS CA 2025 Q3 > > > > requesting https://static.crates.io/crates/dunce/dunce-1.0.5.crate > > > >=20 > > > > > > > GET /crates/dunce/dunce-1.0.5.crate HTTP/1.1 > > > > > > > Host: static.crates.io > > > > > > > Accept: / > > > > > > > User-Agent: fetch libfetch/2.0 > > > > > > > Connection: close > > > >=20 > > > > <<< HTTP/1.1 200 > > > > <<< Connection: close > > > > <<< Content-Length: 8244 > > > > <<< etag: "198d7f7c37f632bc83502b28870b6d60" > > > > content length: [8244] > > > > <<< cache-control: public,max-age=3D31536000,immutable > > > > <<< x-amz-version-id: PO7xZdimM08F9npIqG8PYtpqpEuWdV9D > > > > <<< x-amz-id-2: Dj7mFoaqQJUc61mB1FcouUQcy0tajnacJvU+xOR3Be5//jo3GaS= mdCwSSgtYyDMnYE4cPCiPv7PV9m7z1Jk0WazYHTFPbYhm > > > > <<< 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 > > > >=20 > > > > real 0m0.429s > > > > user 0m0.023s > > > > sys 0m0.027s > > >=20 > > > ``` > > > # time fetch -vv "https://crates.io/api/v1/crates/dunce/1.0.5/downloa= d?dummy=3D/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=3D/rust/crates/d= unce-1.0.5.crate" > > > ---> crates.io:443 > > > resolving server address: crates.io:443 (<- it gets stuck here for li= ke 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=3Dcrates.io > > > Certificate issuer: /C=3DUS/O=3DAmazon/CN=3DAmazon RSA 2048 M01 > > > requesting https://crates.io/api/v1/crates/dunce/1.0.5/download?dummy= =3D/rust/crates/dunce-1.0.5.crate > > >=20 > > > > > > GET /api/v1/crates/dunce/1.0.5/download?dummy=3D/rust/crates/du= nce-1.0.5.crate HTTP/1.1 > > > > > > Host: crates.io > > > > > > Accept: / > > > > > > User-Agent: fetch libfetch/2.0 > > > > > > Connection: close > > >=20 > > > <<< 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_ag= e":3600,"success_fraction":0.01,"failure_fraction":0.1} > > > 302 redirect to https://static.crates.io/crates/dunce/dunce-1.0.5.cra= te > > > 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=3D9t0rqIH4lMlfE9ncVibRPy8hCUlMqBmippMeWunG5M0%3D\\u00= 26sid=3Daf571f24-03ee-46d1-9f90-ab9030c2c74c\\u0026ts=3D1768401261"}],"max_= age":3600} > > > <<< Reporting-Endpoints: heroku-nel=3D"https://nel.heroku.com/reports= ?s=3D9t0rqIH4lMlfE9ncVibRPy8hCUlMqBmippMeWunG5M0%3D&sid=3Daf571f24-03ee-46d= 1-9f90-ab9030c2c74c&ts=3D1768401261" > > > <<< Server: Heroku > > > <<< Strict-Transport-Security: max-age=3D31536000; includeSubDomains > > > <<< Via: 1.1 heroku-router, 1.1 608555ff8069f08e821e1679cd412294.clou= dfront.net (CloudFront) > > > <<< X-Cache: Miss from cloudfront > > > <<< X-Amz-Cf-Pop: GRU3-P10 > > > <<< X-Amz-Cf-Id: LvtqT2cBMH7thFfdy3ktelkhg-ALuajh-ucfDhnv7l_s73okAxXp= 7Q=3D=3D > > > <<< > > > ---> 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=3Dstatic.crates.io > > > Certificate issuer: /C=3DBE/O=3DGlobalSign nv-sa/CN=3DGlobalSign Atla= s R3 DV TLS CA 2025 Q3 > > > requesting https://static.crates.io/crates/dunce/dunce-1.0.5.crate > > >=20 > > > > > > GET /crates/dunce/dunce-1.0.5.crate HTTP/1.1 > > > > > > Host: static.crates.io > > > > > > Accept: / > > > > > > User-Agent: fetch libfetch/2.0 > > > > > > Connection: close > > >=20 > > > <<< HTTP/1.1 200 > > > <<< Connection: close > > > <<< Content-Length: 8244 > > > <<< cache-control: public,max-age=3D31536000,immutable > > > content length: [8244] > > > <<< x-amz-version-id: PO7xZdimM08F9npIqG8PYtpqpEuWdV9D > > > <<< x-amz-id-2: EzDoao06Q7mYZgq0ecISLqKGCrHOV1gBvzNGaaAfOg4QCWZ/d3G4p= jY4ZAoo2BNA0jACxYFWJQQ=3D > > > <<< 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 > > >=20 > > > 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 > >=20 > > That looks weird. It is hard to diagnose from a distance. How is you ge= neral network access? Do you have a lot of package loss? > >=20 > > Regards, > > Ronald. >=20 >=20 > ah yeah=C2=B7=C2=B7=C2=B7 just tried pinging google.com and got 100% pack= et loss, even tho' i'm on ethernet and internet works blazingly fast on Lin= ux > cURL can access google in an instant however, and as i mentioned i can ea= sily download these files using Links > however that one takes a lot longer to load google and any other website = for some reason=C2=B7=C2=B7=C2=B7 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), s= till getting the same issue=C2=B7=C2=B7=C2=B7 i'm puzzled now, this is real= ly weird