Bug 1177742

Summary: dnf repeatedly continues download at a broken point
Product: [Fedora] Fedora Reporter: Berend De Schouwer <berend.de.schouwer>
Component: dnfAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 21CC: akozumpl, jsilhan, mluscon, packaging-team-maint, pnemade, rholy, tim.lauridsen
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-12-31 07:40:58 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Berend De Schouwer 2014-12-30 07:57:53 UTC
Description of problem:

dnf continues to download a package that has a partial -- locally broken --download.

dnf notices that the final checksum is wrong, so it starts a new download.  Good.

dnf restarts from the partially downloaded package, instead of from scratch.  The partial download is, however, broken, so every download from now on will result in a broken checksum.

example:

wine-core in fedora 21 was recently updated.  from 'dnf upgrade'.  Notice that dnf keeps restarting wine-core at 92% instead of deleting the broken partial download.  I've had this with other packages too.

.....
.....
[SKIPPED] xscreensaver-extras-base-5.32-3.fc21.x86_64.rpm: Already downloaded                                                                                               
[SKIPPED] xscreensaver-gl-base-5.32-3.fc21.x86_64.rpm: Already downloaded                                                                                                   
[SKIPPED] zeromq3-3.2.4-4.fc21.x86_64.rpm: Already downloaded                                                                                                               
[MIRROR] wine-core-1.7.33-1.fc21.x86_64.rpm: Downloading successfull, but checksum doesn't match. Expected: 25d806a49644c11c553d10d77d7425255e808ce0ebb1f26d8afb5ef5e363f6ce(sha256) 
[MIRROR] wine-core-1.7.33-1.fc21.x86_64.rpm: Downloading successfull, but checksum doesn't match. Expected: 25d806a49644c11c553d10d77d7425255e808ce0ebb1f26d8afb5ef5e363f6ce(sha256) 
[MIRROR] wine-core-1.7.33-1.fc21.x86_64.rpm: Downloading successfull, but checksum doesn't match. Expected: 25d806a49644c11c553d10d77d7425255e808ce0ebb1f26d8afb5ef5e363f6ce(sha256) 
[MIRROR] wine-core-1.7.33-1.fc21.x86_64.rpm: Downloading successfull, but checksum doesn't match. Expected: 25d806a49644c11c553d10d77d7425255e808ce0ebb1f26d8afb5ef5e363f6ce(sha256) 
[MIRROR] wine-core-1.7.33-1.fc21.x86_64.rpm: Downloading successfull, but checksum doesn't match. Expected: 25d806a49644c11c553d10d77d7425255e808ce0ebb1f26d8afb5ef5e363f6ce(sha256) 
[MIRROR] wine-core-1.7.33-1.fc21.x86_64.rpm: Downloading successfull, but checksum doesn't match. Expected: 25d806a49644c11c553d10d77d7425255e808ce0ebb1f26d8afb5ef5e363f6ce(sha256) 
[MIRROR] wine-core-1.7.33-1.fc21.x86_64.rpm: Downloading successfull, but checksum doesn't match. Expected: 25d806a49644c11c553d10d77d7425255e808ce0ebb1f26d8afb5ef5e363f6ce(sha256) 
[MIRROR] wine-core-1.7.33-1.fc21.x86_64.rpm: Downloading successfull, but checksum doesn't match. Expected: 25d806a49644c11c553d10d77d7425255e808ce0ebb1f26d8afb5ef5e363f6ce(sha256) 
(139/139): wine-core-1.7.33-1.fc21.x86_64.rpm                       92% [=============================================================     ] 1.1 MB/s | 250 MB     00:17 ETA


Version-Release number of selected component (if applicable):

dnf-0.6.3-2.fc21.noarch


How reproducible:

You'll need an interrupted network download while upgrading or installing a package.  Either interrupt the network, or suspend or shutdown while a download is busy.

the filesystem for /var/cache/ is ext4.


Steps to Reproduce:
1. start installing a package (a large one is easier)
2. unplug your network cable
3. wait a few minutes for dnf to die
4. replug your network cable
5. restart dnf


Actual results:

dnf is stuck in an infinite loop.


Expected results:

dnf notices the infinite loop, and eventually nukes the partial download and restarts from byte 0.

the correct solution for me was:
rm /var/cache/dnf/x86_64/21/updates/packages/wine-core-1.7.30-1.fc21_1.7.33-1.fc21.x86_64.drpm  /var/cache/dnf/x86_64/21/updates/packages/wine-core-1.7.33-1.fc21.x86_64.rpm



Additional info:

the worst case final result is that no security updates happen.  there is no notification that dnf is stuck.

Comment 1 Berend De Schouwer 2014-12-31 07:40:58 UTC
duplicate of 1130685

*** This bug has been marked as a duplicate of bug 1130685 ***