Bug 1142489
| Summary: | Can't do some yum transactions on rawhide (TypeError/python RPMTransaction callback). | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | James Antill <james.antill> | ||||||||
| Component: | python-urlgrabber | Assignee: | Valentina Mukhamedzhanova <vmukhame> | ||||||||
| Status: | CLOSED EOL | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
| Severity: | unspecified | Docs Contact: | |||||||||
| Priority: | unspecified | ||||||||||
| Version: | 22 | CC: | admiller, jzeleny, ktmdms, novyjindrich, rvokal, tradej, vmukhame | ||||||||
| Target Milestone: | --- | ||||||||||
| Target Release: | --- | ||||||||||
| Hardware: | Unspecified | ||||||||||
| OS: | Unspecified | ||||||||||
| Whiteboard: | |||||||||||
| Fixed In Version: | python-urlgrabber-3.10.1-6.fc22 | Doc Type: | Bug Fix | ||||||||
| Doc Text: | Story Points: | --- | |||||||||
| Clone Of: | Environment: | ||||||||||
| Last Closed: | 2016-07-19 12:08:28 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: | |||||||||||
| Attachments: |
|
||||||||||
|
Description
James Antill
2014-09-16 21:30:27 UTC
Also seen here: https://lists.fedoraproject.org/pipermail/test/2014-September/122759.html I haven't seen this myself, nor am I able to reproduce it so its a bit of a mystery. BTW, there have been similar reports long before this: http://stackoverflow.com/questions/9009776/yum-install-of-home-made-rpm-giving-error https://bugzilla.redhat.com/show_bug.cgi?id=652702 Can't think of any particular change in rpm that would now cause such issues but then you never know... Since you can actually reproduce it, more information would not hurt. For example a strace of the failure, log with --rpmverbosity=debug and you could try adding a bit of additional debugging into yum's callback to see whats going on in there. 'script' is handy for grabbing output from "a copy-paste limited" environment. here's one that fails consistently with this error (i've attached the strace output log): sudo strace -o strace_yum_failing_update.log yum --releasever=rawhide --rpmverbosity=debug --disablerepo=*rpmfusion* --skip-broken --nogpgcheck -y update plexus-containers-component-javadoc Loaded plugins: auto-update-debuginfo, fastestmirror Loading mirror speeds from cached hostfile * rawhide: mirrors.mit.edu Resolving Dependencies There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help). --> Running transaction check ---> Package plexus-containers-component-javadoc.noarch 0:1.5.5-17.fc21 will be updated ---> Package plexus-containers-component-javadoc.noarch 0:1.5.5-18.fc21 will be an update --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================= Package Arch Version Repository Size =======================================================================================================================Updating: plexus-containers-component-javadoc noarch 1.5.5-18.fc21 rawhide 19 k Transaction Summary =======================================================================================================================Upgrade 1 Package Total download size: 19 k Downloading packages: Finishing delta rebuilds of 1 package(s) (19 k) Some delta RPMs failed to download or rebuild. Retrying.. plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm | 19 kB 00:00:00 Running transaction check Running transaction test TypeError: an integer is required FATAL ERROR: python callback <bound method RPMTransaction.callback of <yum.rpmtrans.RPMTransaction instance at 0x7fbf22a453f8>> failed, aborting! Created attachment 940828 [details]
strace of a failing yum attempt
perhaps the issue is bad packages. I tried the update of the plexus-containers-component-javadoc with dnf and got this result: sudo dnf --releasever=rawhide --disablerepo=*rpmfusion* --nogpgcheck upgrade plexus-containers-component-javadoc Dependencies resolved. ======================================================================================================================= Package Arch Version Repository Size ======================================================================================================================= Upgrading: plexus-containers-component-javadoc noarch 1.5.5-18.fc21 rawhide 19 k Transaction Summary ======================================================================================================================= Upgrade 1 Package Total download size: 19 k Is this ok [y/N]: y Downloading Packages: [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Curl error: Access denied to remote resource for ftp://mirror.uoregon.edu/fedora/development/rawhide/x86_64/os/Packages/p/plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Status code: 416 for http://mirror.clarkson.edu/fedora/linux/development/rawhide/x86_64/os/Packages/p/plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Curl error: Timeout was reached for ftp://fedora.mirror.iweb.com/development/rawhide/x86_64/os/Packages/p/plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm plexus-containers-component-javadoc-1.5. 0% [ ] 4.7 kB/s | 0 B 00:04 ETA [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Curl error: Timeout was reached for ftp://ftp.cogeco.net/fedora/linux/development/rawhide/x86_64/os/Packages/p/plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256) [FAILED] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: No more mirrors to try - All mirrors were already tried without success Error: Error downloading packages: Cannot download Packages/p/plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: All mirrors were tried James, take a look at the strace from comment #4. Yum is doing something bizarre here. Starting at line 216826: stat("/var/cache/yum/x86_64/rawhide/rawhide/packages/plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm", {st_mode=S_IFREG|0644, st_size=19644, ...}) = 0 open("/var/cache/yum/x86_64/rawhide/rawhide/packages/plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm", O_RDONLY) = 12 fstat(12, {st_mode=S_IFREG|0644, st_size=19644, ...}) = 0 fstat(12, {st_mode=S_IFREG|0644, st_size=19644, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbf37501000 read(12, "\355\253\356\333\3\0\0\0\0\377plexus-containers-comp"..., 65536) = 19644 read(12, "", 45056) = 0 read(12, "", 65536) = 0 close(12) = 0 munmap(0x7fbf37501000, 4096) = 0 stat("/var/cache/yum/x86_64/rawhide/rawhide/packages/plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm", {st_mode=S_IFREG|0644, st_size=19644, ...}) = 0 unlink("/var/cache/yum/x86_64/rawhide/rawhide/packages/plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm") = 0 It has the package it wants... and then it goes and unlinks it. Shortly after that (line 216853 onwards) it notices it doesn't have that package, and proceeds to download its HEADER instead of the package: stat("/var/cache/yum/x86_64/rawhide/rawhide/packages/plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm", 0x7fffd8ed1c10) = -1 ENOENT (No such file or directory) stat("/var/cache/yum/x86_64/rawhide/rawhide/headers/plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.hdr", {st_mode=S_IFREG|0644, st_size=6860, ...}) = 0 open("/var/cache/yum/x86_64/rawhide/rawhide/headers/plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.hdr", O_RDONLY) = 5 fcntl(5, F_SETFD, FD_CLOEXEC) = 0 read(5, "\216\255\350\1\0\0\0\0\0\0\0009\0\0\27,", 16) = 16 read(5, "\0\0\0?\0\0\0\7\0\0\27\34\0\0\0\20\0\0\0d\0\0\0\10\0\0\0\0\0\0\0\1"..., 6844) = 6844 read(5, "", 16) = 0 close(5) = 0 stat("/var/cache/yum/x86_64/rawhide/rawhide/headers/plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.hdr", {st_mode=S_IFREG|0644, st_size=6860, ...}) = 0 open("/var/cache/yum/x86_64/rawhide/rawhide/headers/plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.hdr", O_RDONLY) = 5 fcntl(5, F_SETFD, FD_CLOEXEC) = 0 read(5, "\216\255\350\1\0\0\0\0\0\0\0009\0\0\27,", 16) = 16 read(5, "\0\0\0?\0\0\0\7\0\0\27\34\0\0\0\20\0\0\0d\0\0\0\10\0\0\0\0\0\0\0\1"..., 6844) = 6844 read(5, "", 16) = 0 close(5) = 0 openat(AT_FDCWD, "/usr/lib64/rpm-plugins", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5 So we deleted the package which was already on disk, downloaded its header instead and now the transaction is starting. And when we get down to it: open("/var/cache/yum/x86_64/rawhide/rawhide/packages/plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm", O_RDONLY) = -1 ENOENT (No such file or directory) Shockingly, the non-existent file cannot be opened by the callback, and instead of an file descriptor number, something else gets passed to the callback and "Type Error: an integer is required" exception occurs. I fail to see how the botched download logic could be rpms fault, reassigning to yum. (In reply to Panu Matilainen from comment #6) > I fail to see how the botched download logic could be rpms fault, > reassigning to yum. Unless its related to bug 1142949, that is. In other words, rpm 4.12.0 and pre-releases had a bug which causes archive size in header to be short of the real size cpio trailer size (approx). So if the archive size from header gets used in the download logic (which doesn't seem entirely unlikely, considering...), that could be what throws it onto some strange path. (In reply to Panu Matilainen from comment #7) > a bug which causes archive size in header to be short of > the real size cpio trailer size (approx). "short of the real size by cpio trailer size (approx)" I mean. -ENEEDMORECOFFEE the version of rpm that I'm using is: Name : rpm Version : 4.12.0.1 Release : 1.fc22 Architecture: x86_64 Install Date: Tue 23 Sep 2014 04:56:46 PM CDT Group : System Environment/Base Size : 1967137 License : GPLv2+ Signature : (none) Source RPM : rpm-4.12.0.1-1.fc22.src.rpm Build Date : Thu 18 Sep 2014 06:38:52 AM CDT Build Host : buildvm-03.phx2.fedoraproject.org Relocations : (not relocatable) Packager : Fedora Project Vendor : Fedora Project URL : http://www.rpm.org/ Summary : The RPM package management system Is there a newer version as it doesn't ever come up for update when I do a yum or dnf update/upgrade. Created attachment 941074 [details]
yum update log for package that was erroring using yum 4.12.0.2
My apologies, found a newer version in koji (4.12.0.2) that appears to correct this problem, as shown below:
Should I be concerned that dnf seems to never be able to download this file with the correct checksum and/or should I file a bugzilla against dnf as a result or is dnf correct that the package is not good and shouldn't be downloaded for updating?
[MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256)
[MIRROR] plexus-containers-component-javadoc-1.5.5-18.fc21.noarch.rpm: Downloading successfull, but checksum doesn't match. Expected: 44ab67e66e3babdb8b5878343db9bfabd6e05369f2f39b9f61939020fc0ba8b1(sha256)
Updating to rpm 4.12.0.1 will NOT make any difference to a failing update in itself, the archive size issue is a build-time bug affecting package generation. Packages *build with* 4.12.0.1 would not have the archive size mismatch, but then it might not have anything to do with this issue. I only said it *might*. Created attachment 943100 [details]
strace of failed "sed" update.
rpm 4.12.0.2 is also not the answer. The error continues... -------------------------------------------------------------------------------- Total TypeError: an integer is required FATAL ERROR: python callback <bound method RPMTransaction.callback of <yum.rpmtrans.RPMTransaction instance at 0x7fcfa3b88200>> failed, aborting! I narrowed the problem down to the "sed" rpm and have attached an strace output for where I try to update just that package. dnf upgrade of sed gives errors with: Downloading Packages: [MIRROR] sed-4.2.2-9.fc22.x86_64.rpm: Downloading successfull, but checksum doesn't match. Expected: a0d11a1bf01dca381a9dfb4327b590f2422fdddb2b09dd8a805be0857e1c0d2b(sha256) [MIRROR] sed-4.2.2-9.fc22.x86_64.rpm: Downloading successfull, but checksum doesn't match. Expected: a0d11a1bf01dca381a9dfb4327b590f2422fdddb2b09dd8a805be0857e1c0d2b(sha256) [MIRROR] sed-4.2.2-9.fc22.x86_64.rpm: Downloading successfull, but checksum doesn't match. Expected: a0d11a1bf01dca381a9dfb4327b590f2422fdddb2b09dd8a805be0857e1c0d2b(sha256) and yet if I go find the package on pbone and download it via firefox the sha256sum is correct and dnf will allow me to upgrade sed from the downloaded package with no issues. This is unlikely to get fixed accidentally, so do expect a notification if the issue is found and fixed.
Anyway, the sed-update strace shows the same story, stuff gets done, then the package gets unlinked from download cache, a header is passed into the transaction, and then the transaction callback fails. However on a second look these have something in common I missed on the first round:
1) initially the package is not there:
stat("/var/cache/yum/x86_64/rawhide/rawhide/packages/sed-4.2.2-9.fc22.x86_64.rpm", 0x7fff7771dac0) = -1 ENOENT (No such file or directory)
2) then we got fetched the and constructed the package
open("/var/cache/yum/x86_64/rawhide/rawhide/packages/sed-4.2.2-8.fc22_4.2.2-9.fc22.x86_64.drpm", O_RDONLY) = 5
[...]
write(1, "Finishing delta rebuilds of 1 pa"..., 49) = 49
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 9642
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=9642, si_uid=0, si_status=0, si_utime=13, si_stime=1} ---
stat("/var/cache/yum/x86_64/rawhide/rawhide/packages/sed-4.2.2-9.fc22.x86_64.rpm", {st_mode=S_IFREG|0644, st_size=241328, ...}) = 0
3) However this seems suspecious: it thinks the build from delta was not successful (this being the only package being processed), and after some further processing, it goes ahead and unlinks the package that just was constructed (and okay, if the build was unsuccessful so should it):
write(1, "Some delta RPMs failed to downlo"..., 58) = 58
...
stat("/var/cache/yum/x86_64/rawhide/rawhide/packages/sed-4.2.2-9.fc22.x86_64.rpm", {st_mode=S_IFREG|0644, st_size=242432, ...}) =
0
unlink("/var/cache/yum/x86_64/rawhide/rawhide/packages/sed-4.2.2-9.fc22.x86_64.rpm") = 0
4) At this point, it enters the path that will lead to the error from the transaction callback: it starts downloading package header when it should just pull the full package since deltra rebuild failed.
stat("/var/cache/yum/x86_64/rawhide/rawhide/packages/sed-4.2.2-9.fc22.x86_64.rpm", 0x7fff7771dcc0) = -1 ENOENT (No such file or directory)
stat("/var/cache/yum/x86_64/rawhide/rawhide/headers/sed-4.2.2-9.fc22.x86_64.hdr", {st_mode=S_IFREG|0644, st_size=18972, ...}) = 0
open("/var/cache/yum/x86_64/rawhide/rawhide/headers/sed-4.2.2-9.fc22.x86_64.hdr", O_RDONLY) = 5
5) And here we are inside the transaction callback opening a file which does not exist, which will cause it to blow up:
write(22, "D: 0x00000809 4096 521"..., 54) = 54
write(22, "D: ========== +++ sed-4.2.2-9.fc"..., 52) = 52
open("/var/cache/yum/x86_64/rawhide/rawhide/packages/sed-4.2.2-9.fc22.x86_64.rpm", O_RDONLY) = -1 ENOENT (No such file or directory)
[...]
write(2, "TypeError", 9) = 9
write(2, ": ", 2) = 2
write(2, "an integer is required", 22) = 22
write(2, "\n", 1) = 1
write(2, "FATAL ERROR: python callback <bo"..., 146) = 146
In summary, based on these two straces it seems that deltarpms are involved in the failure - delta rebuild fails, perhaps in some new way, and throws yum to some strange path where it starts dealing with package headers instead of actual packages, which then causes the fail. The delta rebuild failure *could* be caused by the rpm build bug wrt archive size (which could explain a new strange error path) but that's just a theory.
If its indeed deltarpm-related, then --setopt=deltarpm=0 should work around the problem.
Plot thickens... http://koji.fedoraproject.org/koji/rpminfo?rpmID=5486938 notes reports sed-4.2.2-9.fc22.x86_64.rpm package size 241328, which matches the actual file https://kojipkgs.fedoraproject.org//packages/sed/4.2.2/9.fc22/x86_64/sed-4.2.2-9.fc22.x86_64.rpm The corresponding deltarpm from http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/x86_64/os/drpms/sed-4.2.2-8.fc22_4.2.2-9.fc22.x86_64.drpm agrees: [pmatilai@localhost tmp]$ applydeltarpm -i sed-4.2.2-8.fc22_4.2.2-9.fc22.x86_64.drpm|grep "target size" target size: 241328 [pmatilai@localhost tmp]$ However when you look up the actual repodata, ie http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/x86_64/os/repodata/a0b9c389a006ee9ea9328335aed3ecf1a9c99c62aed28a6e380dd09e83cb764e-primary.xml.gz as of today: <name>sed</name> <arch>x86_64</arch> <version epoch="0" ver="4.2.2" rel="9.fc22"/> <checksum type="sha256" pkgid="YES">a0d11a1bf01dca381a9dfb4327b590f2422fdddb2b09dd8a805be0857e1c0d2b</checksum> <summary>A GNU stream text editor</summary> <description>The sed (Stream EDitor) editor is a stream or batch (non-interactive) editor. Sed takes text as input, performs an operation or set of operations on the text and outputs the modified text. The operations that sed performs (substitutions, deletions, insertions, etc.) can be specified in a script file or from the command line.</description> <packager>Fedora Project</packager> <url>http://sed.sourceforge.net/</url> <time file="1408632161" build="1408380126"/> <size package="242432" installed="605545" archive="613199"/> ^^^^^^ The package from http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/x86_64/os/Packages/s/sed-4.2.2-9.fc22.x86_64.rpm matches this. The difference between koji and rawhide is that the rawhide package is signed. However the deltarpm has been created against an unsigned package, so mismatch is to be expected. And THAT is why the delta application fails in these cases, AFAICS: it seems that rawhide is getting signed nowadays, but the deltarpm generation occurs before signing. All this still does not explain why yum decides to download headers in these cases - I was able to reproduce the deltarpm failure but not the header download and consequent crash in the callback. This is what I see: [root@localhost ~]# rpm -q sed sed-4.2.2-8.fc22.x86_64 [root@localhost ~]# yum -y update sed Loaded plugins: langpacks, tsflags Resolving Dependencies --> Running transaction check ---> Package sed.x86_64 0:4.2.2-8.fc22 will be updated ---> Package sed.x86_64 0:4.2.2-9.fc22 will be an update --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Updating: sed x86_64 4.2.2-9.fc22 rawhide 237 k Transaction Summary ================================================================================ Upgrade 1 Package Total download size: 237 k Downloading packages: Finishing delta rebuilds of 1 package(s) (237 k) Some delta RPMs failed to download or rebuild. Retrying.. sed-4.2.2-9.fc22.x86_64.rpm FAILED ftp://ftp.funet.fi/pub/mirrors/fedora.redhat.com/pub/fedora/linux/development/rawhide/x86_64/os/Packages/s/sed-4.2.2-9.fc22.x86_64.rpm: [Errno -1] Package does not match intended download. Suggestion: run yum --enablerepo=rawhide clean metadata and try again Trying other mirror. sed-4.2.2-9.fc22.x86_64.rpm | 237 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction (shutdown inhibited) Warning: RPMDB altered outside of yum. Updating : sed-4.2.2-9.fc22.x86_64 1/2 Cleanup : sed-4.2.2-8.fc22.x86_64 2/2 Verifying : sed-4.2.2-9.fc22.x86_64 1/2 Verifying : sed-4.2.2-8.fc22.x86_64 2/2 Updated: sed.x86_64 0:4.2.2-9.fc22 Complete! [root@localhost ~]# .....aaaaaaand we have a winner, python-urlgrabber >= 3.10.1-3 is fubar'ed. The above, successful update (despite drpm fail) is with python-urlgrabber-3.10.1-2, 3.10.1-3 blows up with a different traceback and with python-urlgrabber >= 3.10.1-4 I get: Some delta RPMs failed to download or rebuild. Retrying.. sed-4.2.2-9.fc22.x86_64.rpm | 237 kB 00:00 Running transaction check Running transaction test TypeError: an integer is required FATAL ERROR: python callback <bound method RPMTransaction.callback of <yum.rpmtrans.RPMTransaction instance at 0x7f496e2f1830>> failed, aborting! ...and downgrading to 3.10.1-2 makes it work again. Switching to python-urlgrabber and resigning myself from this investigation, rpm does not appear to be related to any of this. Panu, thanks for the thorough investigation! updated my python-urlgrabber from koji and it does indeed appear to correct the problem. Thanks. This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle. Changing version to '22'. More information and reason for this action is here: https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22 Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed. |