1

i have no idea what happened, but suddenly it started showing progress bar in the reverse order...

HTTP request sent, awaiting response... 200 OK
Length: 4102725632 (3.8G) [application/octet-stream]
Saving to: `*******.***'

-64% [================>................] -1,603,353,961 14.3K/s eta 2d 17h

instead of this normally:

HTTP request sent, awaiting response... 200 OK
Length: 1913641 (1.8M) [application/pdf]
Saving to: `InformationBrochure.pdf'

11% [===========>.....................] 216,000 19.7K/s eta 89s

how can i change it back to normal increasing order?

EDIT: it is showing it this way only for the above file of 4gb, windows 10 iso i am downloading.... for all other downloads every thing is okay. What is the reason behind it?

Deval
  • 13

1 Answers1

2

This looks like an integer overflow problem. My guess (without having looked at the code) is that on your particular platform, wget internally represents the download progress and possibly the file size as a (signed) 32-bit count of bytes downloaded.

A signed 32-bit variable will wrap around at about +2.15 billion, at which point it starts counting up from -2.15 billion instead. This corresponds to a file size of 2 GiB.

If my hypothesis is correct, there is no real "fix" for this problem for you as a regular user; the problem will show whenever you are downloading a file that is larger than 2,147,483,647 bytes.

It may be that 64-bit versions of wget handle the progress display for large downloads better, since there the wraparound will happen at such absurdly large file sizes that you simply won't encounter them. On the other hand, we used to say that about multi-gigabyte single files, too...

On the upside, this should be a purely cosmetic problem. The download itself is almost certainly completely unaffected by this.


Assuming that you are running a recent version of wget, I would recommend that you report this as a bug in the wget project's bug tracker so it can be fixed. Make sure to include specifics about your hardware and operating system; specifically, whether your CPU, OS and wget binaries (respectively) are 32-bit or 64-bit, and the exact OS and version you are running.

user
  • 30,336