this post was submitted on 05 Sep 2025
96 points (97.1% liked)

Technology

74873 readers
2845 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related news or articles.
  3. Be excellent to each other!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
  9. Check for duplicates before posting, duplicates may be removed
  10. Accounts 7 days and younger will have their posts automatically removed.

Approved Bots


founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] tal@lemmy.today 2 points 2 days ago* (last edited 2 days ago) (1 children)

A bit of banging away later


I haven't touched Linux traffic shaping in some years


I've got a quick-and-dirty script to set a machine up to temporarily simulate a slow inbound interface for testing.

slow.sh test script

# !/bin/bash
# Linux traffic-shaping occurs on the outbound traffic.  This script
# sets up a virtual interface and places inbound traffic on that virtual
# interface so that it may be rate-limited to simulate a network with a slow inbound connection.
# Removes induced slow-down prior to exiting.  Needs to run as root.

# Physical interface to slow; set as appropriate
oif="wlp2s0"

modprobe ifb numifbs=1
ip link set dev ifb0 up
tc qdisc add dev $oif handle ffff: ingress
tc filter add dev $oif parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0

tc qdisc add dev ifb0 root handle 1: htb default 10
tc class add dev ifb0 parent 1: classid 1:1 htb rate 1mbit
tc class add dev ifb0 parent 1:1 classid 1:10 htb rate 1mbit

echo "Rate-limiting active.  Hit Control-D to exit."
cat

# shut down rate-limiting
tc qdisc delete dev $oif ingress
tc qdisc delete dev ifb0 root
ip link  set dev ifb0 down
rmmod ifb

I'm going to see whether I can still reproduce that git failure for Cataclysm on git 2.47.2, which is what's in Debian trixie. As I recall, it got a fair bit of the way into the download before bailing out. Including the script here, since I think that the article makes a good point that there probably should be more slow-network testing, and maybe someone else wants to test something themselves on a slow network.

Probably be better to have something a little fancier to only slow traffic for one particular application


maybe create a "slow Podman container" and match on traffic going to that?


but this is good enough for a quick-and-dirty test.

[–] mesamunefire@piefed.social 3 points 2 days ago (1 children)

Nice! Scientific data!

Also looks like its still an issue with GH: https://github.com/orgs/community/discussions/135808 in slower countries. so yeah nvm its still a huge issue even today.

[–] tal@lemmy.today 1 points 2 days ago* (last edited 2 days ago) (1 children)

Thanks. Yeah, I'm pretty sure that that was what I was hitting. Hmm. Okay, that's actually good


so it's not a git bug, then, but something problematic in GitHub's infrastructure.

EDIT: On that bug, they say that they fixed it a couple months ago:

This seems to have been fixed at some point during the last days leading up to today (2025-03-21), thanks in part to @MarinoJurisic 's tireless efforts to convince Github support to revisit this problem!!! 🎉

So hopefully it's dead even specifically for GitHub. Excellent. Man, that was obnoxious.

[–] mesamunefire@piefed.social 2 points 2 days ago* (last edited 2 days ago) (1 children)

I wonder if there is a retry or something on git? I know there is if you create a basic bash script, but we can assume someone is having the same issue, right?

I did see some depth=1 or something like that to get only a certain depth of git commits but thats about it.

I cant find the curl workaround I used a long time ago. It might have been just pulling the code as a zip or something like some GH repos let you do.

[–] tal@lemmy.today 2 points 2 days ago

I did see some depth=1 or something like that to get only a certain depth of git commits but thats about it.

Yeah, that's a shallow clone. That reduces what it pulls down, and I did try that (you most-likely want a bit more, probably to also ask to only pull down data from a single branch) but back when I was crashing into it, that wasn't enough for the Cataclysm repo.

It looks like it's fixed as of early this year; I updated my comment above.