Description of problem: Mageia2 (upgraded Mageia1) connot upgrade to Mageia3. urpmi --auto-select --auto segfaults on removal of several (about 10) packages, espcially on rpmdevtools. Version-Release number of selected component (if applicable): All versions of librpm.so since two years. How reproducible: rpm -e segfaulted while trying to remove package rpmdevtools (and about 10 other packages). Steps to Reproduce: 1. Install Mageia1 and upgrade to Mageia2. 2. Install rpmdevtools package. 3. Remove rpmdevtools using "rpm -e" or urpme Upgrade to Mageia3 with this bug is impossible without own patched version of librpm.so. With gdb problem was identified in lib/transaction.c of librpm.so in line containing: if (*rpmtdGetChar(&ostates) == RPMFILE_STATE_NORMAL) A function rpmtdGetChar may return NULL instead of pointer causing segfault in this line. Upgrade continued smoothly after patch in this place trating NULL return value of the rpmtdGetChar as if RPMFILE_STATE_NORMAL has been returned. Reproducible: Steps to Reproduce:
You must have not upgraded a package rpm is relying on. You should try perform an upgrade with classic installer (ISO image)
CC: (none) => thierry.vignaud
I tried classic installer booting ISO image. Upgrade segfaulted exactly in the same place. I have copy of rpmdb with Mageia2, so the bug may be investigated.
(In reply to Thierry Vignaud from comment #1) > You must have not upgraded a package rpm is relying on. > You should try perform an upgrade with classic installer (ISO image) I tried classic installer booting ISO image. Upgrade segfaulted exactly in the same place. I have copy of rpmdb with Mageia2, so the bug may be investigated.
Please attach the /root/drakx/report.bug.xz after this classic installer upgrade
Keywords: (none) => NEEDINFO
(In reply to Thierry Vignaud from comment #4) > Please attach the /root/drakx/report.bug.xz after this classic installer > upgrade This upgrade segfaults at the beginning, trying to upgrade/remove package rpmdevtools. So there is no such thing as report after classic upgrade. I've done it manually patching librpm.so.3 and using urpmi --auto-select --auto --replacefiles. After this manual upgrade everything seems to be ok. I've a copy of whole root filesystem before upgrade. Maybe database in /var/lib/rpm would help ? urpmi/rpm expects at some point during check to read tag of string type, but it is of another.
No. Mga2 is EOL and for most users the upgrade went smoothly. There's no way to know what had happened in your case
Status: NEW => RESOLVEDResolution: (none) => OLD
(In reply to Thierry Vignaud from comment #6) > No. > Mga2 is EOL and for most users the upgrade went smoothly. > There's no way to know what had happened in your case OK, I'll recreate this bug on the next upgrade.