dub
dub copied to clipboard
infinite retry loop
System information
- dub 1.7.1
- Fedora 27
Bug Description
Broken retry ends up with an infinite loop of <- code.dlang.org <-> code-mirror.dlang.io <-> code.dlang.org <-> code-mirror.dlang.io ->
How to reproduce?
??? Timeout/connection issues on code.dlang.org, leading to fallback usage. code-mirror.dlang.io at the time of writing did return a normal response (tested manually in browser), so the fallback should have just succeeded.
Expected Behavior
Test each fallback mirror once, then give up.
Logs
Looks like sth. is srsly messed up with the retry logic.
Related to https://github.com/dlang/dub/pull/1198 <- inner retry with outer fallback seems like the wrong way round https://github.com/dlang/dub/pull/1190 https://github.com/dlang/dub/pull/1246 <- looks suspicious to have introduced the bug
dub also seems to be bombarding the registry with requests when it's up but doesn't return code 200 (like it was right now)
502 - Bad Gateway
Connection to upstream server failed: Failed to connect to host 127.0.0.1:8005: 7FBED674FD2C
will cause it to go ham, doesn't look good for the traffic if hundreds of people are simultaneously building a D project
also occurs when using a proxy/using an IP that cloudflare doesn't like, such as from Tor or some shady VPS provider