-
-
Notifications
You must be signed in to change notification settings - Fork 258
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
Axel can't complete a resumed download #233
Comments
Version? A corrupted |
You should probably call fsync() to .st files for the filesystem to actually flush the metadata and allow filesystem to try its best to recover it at usable state. |
@arter97 That might help, but you can't really recover unless you do the updates incrementally, which we don't. That is, if the disk gets disconnected while the fsync is going on, you're screwed, also you're screwed if the OS decides to write some stuff in between fsync calls. |
I had a similar issue, also on macOS, several times with axel version 2.17.7 (darwin18.7.0) After restart, every time, the % got to 100% but got stuck there. Re-launching on my machine (a macbook air macOS 10.14.6 (18G3020)), I got every time a similar output:
But nothing ever really starts. Giving both part files to someone else who is not on macOS but on Ubuntu (Axel version 2.17.5 (linux-gnu)), the download finishes fine with axel, for each of my 3 files. This is the output on Ubuntu:
So the part files were not corrupted. Let me know if I can provide more information, maybe I can run axel again with the parts file to see why it is stuck? |
Interesting. Maybe a backtrace of all the threads helps, if this is a simple issue. |
I am not using gdb usually for debug, so not 100% this is what you were asking for:
|
We need a backtrace of all threads. You can do so with:
|
The "info threads" that is above lists only 1 thread. Doesn't this mean that there is only 1 thread? Edited: here is the "thread apply all bt" result.
|
You're right, my bad. You'll need a version compiled with debugging info or the debugging info file if it was split; that way you'll get more information on the backtrace. A core dump could come handy (you can generate it with the |
Hey guys, I've downloaded a big file, but it stuck on 100%, so I used Control+C but I can't resume it... |
Is this still happening? |
Still happening ... Ventura 13.3.1 Axel 2.17.11 (darwin21.1.0) ~6GiB download to internal SSD without interruptions, |
�stuck on last bytes |
"me too"-ing doesn't help; this seems to be Apple-specific, so users need to step up and do the debugging, otherwise it won't be fixed, I don't have magic powers. |
I compiled the source with debug symbols, attached the llvm/clang debugger, ran a resumed download, and after it printed "Connection 4 finished", I got the following trace.
I'm speculating, but it looks "waiting for connection" part of the loop ( I tried setting a breakpoint past line 523, at 530, and another one at line 916 but it looks like it's never hit. |
I want to add that on the latest macOS SDK, the application wouldn't even compile because I think the default version of C is C11. I had to make several small changes to printf-style format specifiers, and add Maybe compiling it with C11 support on Linux will also lead to the same behavior? Sorry to speculate, but I'm wondering if this could be something due to the default behavior of the macOS SDK / C runtime, and not the system calls, or the OS itself. |
How can we check the version of the SDK? the proper way would be to add |
I also meet this problem, on axel 2.17.11. Before it stuck, new connection always started in the middle of two old connections. But the old ones can't continue. I think that's the reason. |
I'm using Axel on OSX 10.14.6 and having trouble resuming an incomplete download. Resuming an interrupted download appears to work until the progress reaches 100% and at that point things seem to just hang – for some unknown reason Axel isn't able to finalise things.
The way I have been experiencing this is when the cable to the external HDD (where I have been downloading to) is accidentally knocked off. Axel appears to be able to pick up from where the download got interrupted but for whatever reason it can't finish the task in the end at which point I have to manually kill Axel.
Here is an example output:
The text was updated successfully, but these errors were encountered: