Re: HELP! fetch: stuck forever OR error: RPC failed: curl 56 recv failure: Operation timed out

From: Dave Cottlehuber <dch_at_skunkwerks.at>
Date: Wed, 04 Dec 2024 17:20:39 UTC
On Tue, 3 Dec 2024, at 19:46, FreeBSD User wrote:
> On most recent CURRENT (on some boxes of ours, not all) fetch/git seem 
> to be stuck
> forever fetching tarballs from ports, fetching Emails via claws-mail 
> (TLS), opening
> websites via librewolf and firefox or pulling repositories via git.
>
> CURRENT: FreeBSD 15.0-CURRENT #1 main-n273978-b5a8abe9502e: Mon Dec  2 
> 23:11:07 CET 2024
> amd64
>
> When performing "git pull" und /usr/ports, I received after roughly 5-7 minutes:
>
> error: RPC failed: curl 56 recv failure: Operation timed out

Generally it would be worth seeing if the HTTP(S) layers are doing the right thing or not, and then working down from there, to tcpdump / wireshark and then if necessary into kernel itself.

If fetch fails reliably in ports distfile fetching, then isolate a suitable tarball, and try it again in curl, with tcpdump already prepared to capture traffic to the remote host.

tcpdump -w /tmp/curl.pcap -i ... host ...

env SSLKEYLOGFILE=/tmp/ssl.keys curl -vsSLo /dev/null --trace /tmp/curl.log https://what.ev/er

I would guess that between the two something useful should pop up.

I like opening the pcap in wireshark, it often has angry red and black highlighted lines already giving me a hint.

The SSLKEYLOGFILE can be imported into wireshark, and allows decrypting the TLS traffic as well in case there are issues further in. Very handy, see https://everything.curl.dev/usingcurl/tls/sslkeylogfile.html for how to do that.

If your issues only occur with git pull, its also curl inside and supports similar debugging. Ferreting through https://stackoverflow.com/questions/6178401/how-can-i-debug-git-git-shell-related-problems/56094711#56094711 should get you similar info.

A+
Dave