[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-wget] broken progressbar in 1.16

From: Darshit Shah
Subject: Re: [Bug-wget] broken progressbar in 1.16
Date: Sat, 15 Nov 2014 00:26:17 +0530
User-agent: Mutt/1.5.23 (2014-03-12)

On 11/07, Darshit Shah wrote:
The last patch breaks the download but is only available on the git
repository and will not be included in any release.

I will be pushing a patch soon which will remove all assert statements from
production releases so that the downloads continue with a minor visual

Because real life is catching up, I've very little time till the end of
this year. But I'm going to try and debug this issue and fix it asap.

And eventually I found time to look into this with a fresh mind.
It turns out that I have been looking at the code in a wrong fashion, and hence the assumption I wished to validate with the assert was wrong too. A simple off-by-one error that made my life living hell.

I've fixed the issue with the following patch. Please take a look at it.

I really hope there's no more issues remaining with the progress bar.

On 06-Nov-2014 7:02 pm, "Noël Köthe" <address@hidden> wrote:


Am Montag, den 03.11.2014, 10:12 +0530 schrieb Darshit Shah:

> >e-flightgear-201411   0%[                      ]   1,05M   286KB/s
eta 1h 41m
> >wget: progress.c:1161: create_image: Проверочное утверждение
«count_cols (bp->buffer) <= bp->width» не выполнено.
> >zsh: abort      wget -c
> >
> >(it's [Assertion "count_cols (bp->buffer) <= bp->width" failed] I

> This bug keeps getting more interesting and surprising. While the
progress bar
> draws correctly for the original file you mentioned, the assertion
fails with
> the new ISO (live-flightgear). The funny thing is, this bug is now
firing based
> on the filename of the file being downloaded, which is not something I
> since the filename section of the progress bar is isolated from the
rest and
> should not create such an effect.
> I'm going to spend some more time debugging this issue.

I applied the progress bar patch on 1.16 and run into the same problem.

Connecting to fly.osdn.org.ua (fly.osdn.org.ua)||:80...
HTTP request sent, awaiting response... 206 Partial Content
Length: 1599602688 (1.5G), 1590685248 (1.5G) remaining
Saving to: 'live-flightgear-20141101-x86_64.iso'

ar-20141101-x86_64.   0%[                      ]  12.47M  1.41MB/s
      wget: progress.c:1161: create_image: Assertion `count_cols
(bp->buffer) <= bp->width' failed.

Looks like shipping wget with the broken progress bar because the patch
could stop downloading.
Maybe the default could be the old but stable progress bar and when the
new feature works it could be changed to the new default?




I added the assertion there to ensure that the basic assumption about the
progress bar is always held. When I added the assert statement, the only
time it was expected to fail was when wget is executed using a non English

However, through my own experience and via other reports on this mailing
list, I have to realize that the assert fails even on English locale and
when the progress bar displays correctly. The fact that the progress bar
manages to print on a single line even when the assertion that
`no_of_cols(progress_bar) <= columns_in_line` fails means that there is a
subtle bug hidden deep in the implementation which is beyond the changes I
made. It also implies that we do not currently know how this code works
since it performs contrary to our expectation.

This is definitely a high priority issue that needs more investigation and
a fix as soon as possible.
--- end quoted text ---

Thanking You,
Darshit Shah

Attachment: 0001-Fix-progress-bar-assertion.patch
Description: Text Data

Attachment: pgpmALuKGyPNl.pgp
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]