1

Я понятия не имею, что случилось, но вдруг он начал показывать индикатор в обратном порядке ...

HTTP-запрос отправлен в ожидании ответа ... 200 ОК
Длина: 4102725632 (3,8 ГБ) [приложение / поток октетов]
Сохранение в: `*******.***»

-64% [================> ................] -1 603 353 961 14,3 Кб / с eta 2d 17h

вместо этого обычно:

HTTP-запрос отправлен в ожидании ответа ... 200 ОК
Длина: 1913641 (1,8 м) [приложение /pdf]
Сохранение в: `InformationBrochure.pdf '

11% [===========> .....................] 216 000 19,7 К / с Эта 89

как я могу изменить его обратно на нормальный возрастающий порядок?

РЕДАКТИРОВАТЬ: он показывает это таким образом только для вышеуказанного файла 4 ГБ, Windows 10 iso, я загружаю .... для всех других загрузок все в порядке. В чем причина этого?

1 ответ1

2

Это похоже на проблему целочисленного переполнения. Я предполагаю (не глядя на код), что на вашей конкретной платформе wget внутренне представляет ход загрузки и, возможно, размер файла в виде (подписанного) 32-битного числа загруженных байтов.

32-битная переменная со знаком обернется примерно на +2,15 миллиарда, и с этого момента она начнет подсчитываться с -2,15 миллиарда. Это соответствует размеру файла 2 ГиБ.

Если моя гипотеза верна, то для вас как для обычного пользователя не существует реального "решения" этой проблемы ; проблема будет отображаться всякий раз, когда вы загружаете файл, размер которого превышает 2 147 483 647 байт.

Может случиться так, что 64-битные версии wget лучше справляются с отображением прогресса при больших загрузках, поскольку в этом случае оборачивание будет происходить при таких нелепо больших размерах файлов, что вы просто не столкнетесь с ними. С другой стороны, мы говорили, что и для отдельных файлов размером в несколько гигабайт тоже ...

С другой стороны, это должно быть чисто косметической проблемой. Сама загрузка почти наверняка не затронута этим.


Предполагая, что вы используете последнюю версию wget, я бы порекомендовал сообщить об этом как об ошибке в трекере ошибок проекта wget, чтобы ее можно было исправить. Убедитесь, что вы включили информацию о вашем оборудовании и операционной системе; в частности, будь то ваш процессор, операционная система и двоичные файлы wget (соответственно) 32-разрядные или 64-разрядные, а также конкретная ОС и версия, которую вы используете.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .