Если файл скачался не целиком (например, при обрыве связи), то LWP::UserAgent всё равно возвращает true в is_success. Процесс декодирования может зависнуть при попытке обработать такой недокачанный файл.
Временный спопоб решения - перезапустить скрипт с теми же параметрами.