bugzilla.mozilla.org has resumed normal operation. Attachments prior to 2014 will be unavailable for a few days. This is tracked in Bug 1475801.
Please report any other irregularities here.

Retry download requires 2 clicks

RESOLVED INVALID

Status

()

Firefox
Downloads Panel
RESOLVED INVALID
4 years ago
4 years ago

People

(Reporter: obrufau, Assigned: bagder)

Tracking

36 Branch
x86
Windows XP
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

1.31 KB, application/x-php
Details
(Reporter)

Description

4 years ago
Created attachment 8564207 [details]
failed-download.php

User Agent: Mozilla/5.0 (Windows NT 5.1; rv:38.0) Gecko/20100101 Firefox/38.0
Build ID: 20150213030456

Steps to reproduce:

1. Go to "about:config"
2. Set "network.http.enforce-framing.http1" or "network.http.enforce-framing.soft" or both to "true". This allows the download manager to detect broken downloads.
3. Download something and let the download fail. For example, see the attached PHP script.
4. Open the download manager, it has detected the fail thanks to step 2.
5. Click "Retry".


Actual results:

Firefox attempts to resume the download, but it fails instantly.

However, if you click "Retry" again, now it works.


Expected results:

It shouldn't need a second click.
Component: Untriaged → Downloads Panel
Flags: needinfo?(daniel)
This could be a bug in the UI code,we are in process of refactoring part of it and that could help. I indeed suspect there might be a relation with the annotations cache we use in the Library... Btw cc-ing Paolo (even if I suspect he observes this component).

Do you see the same problem if you retry in the panel rather than in the Library?
(Reporter)

Comment 2

4 years ago
I see the problem
 - In the library
 - In about:downloads
 - In the downloads overlay
Bug 237623 was backed out so I assume this is not an immediate problem anymore. But not we don't detect broken transfers again... :-/
Assignee: nobody → daniel
Flags: needinfo?(daniel)

Comment 4

4 years ago
This doesn't seem right in your script:

header('Content-Range: bytes ' . $range - $rangeEnd / $size);

You probably meant something like:

header('Content-Range: bytes ' . $range . '-' . $rangeEnd . '/' . $size);

Unless we see the correct values in the Content-Range response, we think the server made a mistake and abort the operation. The next time we'll retry without resuming.
(Reporter)

Comment 5

4 years ago
Oh, true, this was caused by that error in the code.

I got that script from somewhere and assumed it was good, I should have checked it.

Sorry.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.