Curl: Progress meter is gone in 7.65.2

Created on 18 Jul 2019  路  3Comments  路  Source: curl/curl

I did this

curl https://example.com > index.html

I expected the following

curl prints progress

$ curl https://example.com > index.html
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1270  100  1270    0     0   2247      0 --:--:-- --:--:-- --:--:--  2247

This is the result from 7.65.1. With 7.65.2 the command prints nothing but a newline. Looking at the changelog, there is an item configure: --disable-progress-meter. From the linked commit 21080e1828cab80c9260c83b83b884a98577c2a9, I think the progress meter is still enabled by default?

curl/libcurl version

$ curl -V
curl 7.65.2 (x86_64-pc-linux-gnu) libcurl/7.65.2 OpenSSL/1.1.1c zlib/1.2.11 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh2/1.8.2 nghttp2/1.39.1
Release-Date: 2019-07-17
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS GSS-API HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets

operating system

Arch Linux with testing repositories enabled

regression

All 3 comments

This is indeed caused by commit 21080e1828cab80c9260c83b83b884a98577c2a9. I did not find any way to re-enable the progress meter. The program logic seems to be broken: progress_calc() sets data->progress.lastshow = now.tv_sec which prevents the condition data->progress.lastshow != now.tv_sec in progress_meter() from being satisfied later on.

While debugging this, I would have appreciated if the _move code around_ and _actually change the behavior_ had been two separate commits.

Grrr. Worth a patch release for the fix methinks...

Thanks for the fast update! I can confirm 7.65.3 works fine.

Was this page helpful?
0 / 5 - 0 ratings