Bugzilla – Bug 224216
reproducable crash in libzypp (uncaught checksum exception)
Last modified: 2007-05-22 09:31:49 UTC
"zypper update -t package -y" you can try it on hydrogen. i wont change the installation. attached is the output from "zypper update -t package -y 2>&1 | tee zypper.console.log" and the gdb stack traces. the core file is still in the root home
Created attachment 107258 [details] console output
Created attachment 107259 [details] gdb output
End of comment 1: (aborting) terminate called after throwing an instance of 'zypp::Exception' what(): File /var/adm/mount/AP_0x00000005/suse/noarch/Crystalcursors-0.5-62.noarch.rpm fails integrity check. Expected: [sha1-89fb0e2bf8181d6d016b5b0e36e2d25acaf87a37] Got: [sha1-353f97df52a501caafd5671caa89d7d7329eb8e5] It is an uncaught exception, a bug in zypper as the user of libzypp.
The exception (thrown in source::provideFile()) should be a specialized one (e.g. zypp::source::FailedChecksumException), otherwise we need to catch general Exception in zypper (or yast) and see if its msg().find("fails integrity check") != npos (which is an ugly hack), if we want to avoid the ugly output. Anyway, this is what i have to do, if we want the bug fixed for YOU, but for 10.3, it should be fixed correctly, what do you think?
*** Bug 237595 has been marked as a duplicate of this bug. ***
The ProvideFilePolicy::failOnChecksumErrorCB() used to prompt the user for action (abort/retry/ignore) after failed integrity check needs to be fixed in order to fix this bug (bug #217425) The new special exception mentioned in comment #4 is needed e.g. to properly implement display of explanatory message in case of abort.
Created attachment 114499 [details] proposed patch
(In reply to comment #7) > Created an attachment (id=114499) [edit] > proposed patch Wow. I didn't expect it to be so easy. Seems it works :O) $ zypper in kvpnc freeglut krusader Restoring system sources... Parsing metadata for factory-non-oss... Parsing metadata for packman10.2... Parsing metadata for factory... Parsing RPM database... Summary: <install> [S3:1][package]krusader-1.70.1-44.x86_64 <install> [S3:1][package]freeglut-060903-28.x86_64 <install> [S3:1][package]kvpnc-0.8.7-12.x86_64 <uninstall> [S0:0][package]krusader-1.70.1-32.x86_64 Continue? [y/n] y Downloading: [S3:1][package]krusader-1.70.1-44.x86_64, 2.2 M(5.9 M unpacked) Installing: [S3:1][package]krusader-1.70.1-44.x86_64 Downloading: [S3:1][package]freeglut-060903-28.x86_64, 107.6 K(333.4 K unpacked) Package freeglut-060903-28 fails integrity check. Do you want to retry downloading it? (A)bort, (R)etry, (I)gnore? i Downloading: [S3:1][package]kvpnc-0.8.7-12.x86_64, 1.6 M(3.7 M unpacked) Installing: [S3:1][package]kvpnc-0.8.7-12.x86_64 What's remaining is a test of the patch in installation (for bug #217425), but i bet it'll work.
*** This bug has been marked as a duplicate of bug 217425 ***
This bug is not a dup of bug 217425 it just depends on it and is related only to zypper not libzypp. It needs some work yet, only an explanatory message is shown for now.
released
*** Bug 173291 has been marked as a duplicate of this bug. ***