-
-
Notifications
You must be signed in to change notification settings - Fork 344
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mods fail to download, fail to error - indefinite wait for interrupt. #1817
Comments
GitHub sends 403 statuses when you're being throttled. Would be nice to support GitHub tokens, but I'm not sure you can use those outside the API. |
NetKAN uses a token to avoid being throttled. So the codebase has support for it somewhere. |
Huh. Wondered why I was getting notifications for this Issue. Until I noticed that apparently, Im the author of it. Suffice to say, I dont have access to the specific data set to recreate this error at present. I might be able to try, but either way the Issue isnt a problem for me anymore. |
Some corroboration that it's server-side, and that we're not the only ones to have this problem... aws/aws-sdk-js#312 (comment) :
CKAN, of course, is built to "send many parallel requests," and that's precisely when users report these 403 statuses (and no user who says "it works fine if I download it separately" ever says "and I make sure to start 10+ downloads in parallel."). If you use
Also some really interesting (but probably unrelated) S3-related network debugging here: https://www.snellman.net/blog/archive/2017-07-20-s3-mystery/ |
And some counter-evidence; I ran a script to fetch 21 big mod releases from GitHub in parallel, and it works just fine, with no 403 errors, even with retries turned off. I got a sustained 2 MB/s download rate across all of them, which is about the max for my connection. So reports of S3 server throttling notwithstanding, WebClient must be doing something that wget doesn't do to trigger this. |
@techman83, Netkan uses the token to access the API, but as far as I can tell it does not use it for downloads, which is what we would need to fix the client. Netkan's downloads are done by DownloadAttributeTransformer and CachingHttpService, which do not have any github-specific auth token logic. |
Oh, interesting. Guess we get by with caching. There is a job to clean up cache files older than 30 days, so downloads for all the github ones are likely to be well spread out. |
I think it also helps that the bot only downloads one file at a time. I've always seen the 403 errors with many GitHub downloads happening in parallel. |
Hey! We're using this one! |
@Blu3wolf , this stuff may be improved a bit in the 1.24 release, which everyone is effectively forced to install now due to #2293. Specifically:
We still have an ongoing fix plan at #2210, involving migration of metadata URLs to use the GitHub API and auth tokens, but I'd be interested to know whether the user experience is better in general with the changes currently in place. |
I am seeing a similar issue. Everything fails to download. When I first installed, I could not even get the modlist to load, that was fixed by installing the libcurl4-openssl-dev package. Being that the app can now download the modlist, it obviously has what it needs to download a file from the net to the machine....not sure why all the mod downloads fail. OS: Linux Mint 18 Log: 141413348 [Threadpool worker] WARN CKAN.Curl (null) - Curl environment not pre-initialised, performing non-threadsafe init. Error downloading ABCORS 0.5.0: An exception occurred during a WebClient request. 141846971 [1] ERROR CKAN.ErrorDialog (null) - One or more downloads were unsuccessful: Error downloading ABCORS 0.5.0: An exception occurred during a WebClient request. |
@ryanwaldron, do you also have |
All that was required to be added was libmono-system-net-http-webrequest4.0-cil Below is the list of Mono packages installed on my machine and the client now seems to be working. Installing mono-complete seems to want to install half of the internet on my machine, I run a pretty minimalist OS, so the required package set is better for me. I will share on the Wiki as well. ca-certificates-mono/stable,stable,now 5.10.1.20-0xamarin1+debian7b1 all [installed] |
You could try just the packages listed as dependencies in the .deb file, but only Line 6 in a495f43
|
This comment has been minimized.
This comment has been minimized.
@ryanwaldron, can you please start a new issue for your problem? The OP here isn't about missing Linux dependencies. EDIT: And if you want to preserve any of your comments here, copy/paste them to the new issue. I'll most likely be purging them to reduce confusion over what this issue is. |
CKAN 0.18.0
Windows 7 SP1 x64
On installing a list of mods, partway through downloading, the download stops indefinitely. No error displayed, until clicking 'Cancel', when the following errors were displayed (sequentially).
Failed to download "https://github.com/Crzyrndm/B9-PWings-Fork/releases/download/0.40.7/B9-PWings-Fork.v0.40.7.zip" - error: An exception occurred during a WebClient request.
Failed to download "https://github.com/jrossignol/ContractPack-AnomalySurveyor/releases/download/1.6.0/ContractPack-AnomalySurveyor_1.6.0.zip" - error: The remote server returned an error: (403) Forbidden.
Failed to download "https://github.com/DaMichel/KerbalFlightData/releases/download/R21/KerbalFlightDataR21.zip" - error: The remote server returned an error: (403) Forbidden.
Ideally, under this circumstance it would be preferable to display an error message, rather than hanging indefinitely.
The list of mods was:
About to install...
The text was updated successfully, but these errors were encountered: