Bug 1739953 - System crash during dnf upgrade, system impaired, cannot upgrade or repair, libssh catch 22
Summary: System crash during dnf upgrade, system impaired, cannot upgrade or repair, l...
Keywords:
Status: CLOSED DUPLICATE of bug 1674296
Alias: None
Product: Fedora
Classification: Fedora
Component: dnf
Version: 30
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jaroslav Mracek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-08-12 01:04 UTC by Paul DeStefano
Modified: 2019-09-24 04:30 UTC (History)
11 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2019-09-23 19:25:55 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Paul DeStefano 2019-08-12 01:04:19 UTC
Description of problem:
System crashed while running dnf upgrade.  Now my system is really broken.  Boots, but virtualization is broken, duplicate packages installed, and I cannot fix it.

Maybe something to do with dnf and libssh/libssh-config?  Cannot seem to resolve conflict with these two packages and cannot remove because dnf depends on it?

All dnf commands fail due to conflicts.  rpm --rebuilddb has no effect.

Version-Release number of selected component (if applicable):
dnf-4.2.7-2.fc30.noarch

How reproducible:
Unknown

Steps to Reproduce:
1. dnf upgrade


Additional info:

$ sudo -i dnf check --duplicates
SDL2-2.0.9-3.fc30.x86_64 is a duplicate with SDL2-2.0.10-1.fc30.x86_64
abrt-libs-2.12.1-1.fc30.x86_64 is a duplicate with abrt-libs-2.12.2-1.fc30.x86_64
curl-7.65.3-1.fc30.x86_64 is a duplicate with curl-7.65.3-2.fc30.x86_64
ebtables-legacy-2.0.10-35.fc30.x86_64 is a duplicate with ebtables-legacy-2.0.10-36.fc30.x86_64
glib2-2.60.5-1.fc30.i686 is a duplicate with glib2-2.60.5-1.fc30.x86_64
glib2-2.60.5-1.fc30.i686 is a duplicate with glib2-2.60.6-1.fc30.x86_64
glusterfs-client-xlators-6.3-1.fc30.x86_64 is a duplicate with glusterfs-client-xlators-6.4-1.fc30.x86_64
glusterfs-libs-6.3-1.fc30.x86_64 is a duplicate with glusterfs-libs-6.4-1.fc30.x86_64
java-1.8.0-openjdk-1:1.8.0.212.b04-0.fc30.x86_64 is a duplicate with java-1.8.0-openjdk-1:1.8.0.222.b10-0.fc30.x86_64
java-1.8.0-openjdk-headless-1:1.8.0.212.b04-0.fc30.x86_64 is a duplicate with java-1.8.0-openjdk-headless-1:1.8.0.222.b10-0.fc30.x86_
64
libcephfs2-2:14.2.1-2.fc30.x86_64 is a duplicate with libcephfs2-2:14.2.2-1.fc30.x86_64
libcurl-7.65.3-1.fc30.i686 is a duplicate with libcurl-7.65.3-1.fc30.x86_64
libcurl-7.65.3-1.fc30.i686 is a duplicate with libcurl-7.65.3-2.fc30.x86_64
libldb-1.5.4-1.fc30.x86_64 is a duplicate with libldb-1.5.5-1.fc30.x86_64
librados2-2:14.2.1-2.fc30.x86_64 is a duplicate with librados2-2:14.2.2-1.fc30.x86_64
librbd1-2:14.2.1-2.fc30.x86_64 is a duplicate with librbd1-2:14.2.2-1.fc30.x86_64
librepo-1.10.2-2.fc30.x86_64 is a duplicate with librepo-1.10.5-1.fc30.x86_64
libssh-0.8.7-1.fc30.i686 is a duplicate with libssh-0.8.7-1.fc30.x86_64
libssh-0.8.7-1.fc30.i686 is a duplicate with libssh-0.9.0-5.fc30.x86_64
mariadb-common-3:10.3.12-10.fc30.x86_64 is a duplicate with mariadb-common-3:10.3.16-1.fc30.x86_64
mariadb-connector-c-config-3.0.10-1.fc30.noarch is a duplicate with mariadb-connector-c-config-3.1.2-2.fc30.noarch
mesa-filesystem-19.0.8-1.fc30.i686 is a duplicate with mesa-filesystem-19.0.8-1.fc30.x86_64
mesa-filesystem-19.0.8-1.fc30.i686 is a duplicate with mesa-filesystem-19.1.3-1.fc30.x86_64
mesa-khr-devel-19.0.8-1.fc30.x86_64 is a duplicate with mesa-khr-devel-19.1.3-1.fc30.x86_64
mesa-libgbm-19.0.8-1.fc30.i686 is a duplicate with mesa-libgbm-19.0.8-1.fc30.x86_64
mesa-libgbm-19.0.8-1.fc30.i686 is a duplicate with mesa-libgbm-19.1.3-1.fc30.x86_64
mesa-libglapi-19.0.8-1.fc30.i686 is a duplicate with mesa-libglapi-19.0.8-1.fc30.x86_64
mesa-libglapi-19.0.8-1.fc30.i686 is a duplicate with mesa-libglapi-19.1.3-1.fc30.x86_64
pcre2-10.33-6.fc30.i686 is a duplicate with pcre2-10.33-6.fc30.x86_64
pcre2-10.33-6.fc30.i686 is a duplicate with pcre2-10.33-9.fc30.x86_64
perl-Errno-1.29-436.fc30.x86_64 is a duplicate with perl-Errno-1.29-438.fc30.x86_64
perl-ExtUtils-Embed-1.35-436.fc30.noarch is a duplicate with perl-ExtUtils-Embed-1.35-438.fc30.noarch
perl-IO-1.39-436.fc30.x86_64 is a duplicate with perl-IO-1.39-438.fc30.x86_64
perl-Module-CoreList-1:5.20190620-1.fc30.noarch is a duplicate with perl-Module-CoreList-1:5.20190720-1.fc30.noarch
perl-SelfLoader-1.25-436.fc30.noarch is a duplicate with perl-SelfLoader-1.25-438.fc30.noarch
perl-devel-4:5.28.2-436.fc30.x86_64 is a duplicate with perl-devel-4:5.28.2-438.fc30.x86_64
perl-interpreter-4:5.28.2-436.fc30.x86_64 is a duplicate with perl-interpreter-4:5.28.2-438.fc30.x86_64
perl-libs-4:5.28.2-436.fc30.x86_64 is a duplicate with perl-libs-4:5.28.2-438.fc30.x86_64
perl-macros-4:5.28.2-436.fc30.x86_64 is a duplicate with perl-macros-4:5.28.2-438.fc30.x86_64
perl-threads-shared-1.59-2.fc30.x86_64 is a duplicate with perl-threads-shared-1.59-3.fc30.x86_64
php-common-7.3.7-2.fc30.x86_64 is a duplicate with php-common-7.3.8-1.fc30.x86_64
selinux-policy-3.14.3-42.fc30.noarch is a duplicate with selinux-policy-3.14.3-43.fc30.noarch
selinux-policy-targeted-3.14.3-42.fc30.noarch is a duplicate with selinux-policy-targeted-3.14.3-43.fc30.noarch
syslinux-6.04-0.8.fc28.x86_64 is a duplicate with syslinux-6.04-0.12.fc30.x86_64
syslinux-nonlinux-6.04-0.8.fc28.noarch is a duplicate with syslinux-nonlinux-6.04-0.12.fc30.noarch
systemd-libs-241-9.gitb67ecf2.fc30.i686 is a duplicate with systemd-libs-241-10.git511646b.fc30.x86_64
systemd-libs-241-9.gitb67ecf2.fc30.i686 is a duplicate with systemd-libs-241-9.gitb67ecf2.fc30.x86_64
whois-nls-5.4.3-1.fc30.noarch is a duplicate with whois-nls-5.5.0-1.fc30.noarch
xscreensaver-base-1:5.42-2.fc30.x86_64 is a duplicate with xscreensaver-base-1:5.43-1.fc30.x86_64
xscreensaver-extras-base-1:5.42-2.fc30.x86_64 is a duplicate with xscreensaver-extras-base-1:5.43-1.fc30.x86_64


$ rpm -Va --nofiles --nodigest
Unsatisfied dependencies for libssh-0.9.0-5.fc30.x86_64:
        libssh < 0.9.0-3 is obsoleted by (installed) libssh-config-0.9.0-5.fc30.noarch
Unsatisfied dependencies for libssh-0.8.7-1.fc30.x86_64:
        libssh < 0.9.0-3 is obsoleted by (installed) libssh-config-0.9.0-5.fc30.noarch
Unsatisfied dependencies for libssh-0.8.7-1.fc30.i686:
        libssh < 0.9.0-3 is obsoleted by (installed) libssh-config-0.9.0-5.fc30.noarch
Unsatisfied dependencies for libssh-config-0.9.0-5.fc30.noarch:
        libssh < 0.9.0-3 is obsoleted by (installed) libssh-config-0.9.0-5.fc30.noarch

Comment 1 amatej 2019-08-12 11:50:39 UTC
To resolve the situation you could try:
dnf remove --duplicates

Comment 2 Paul DeStefano 2019-08-12 15:11:58 UTC
Sorry, I thought that was obvious; I did try that.  As I said, all dnf commands are meet with the same response: conflicts.

dnf remove --duplicates
...
Running transaction check
Transaction check succeeded.
Running transaction test
Error: Transaction check error:
  file /usr/lib64/libnss_myhostname.so.2 from install of systemd-libs-241-10.git511646b.fc30.x86_64 conflicts with file from package systemd-libs-241-9.gitb67ecf2.fc30.x86_64
  file /usr/lib64/libnss_resolve.so.2 from install of systemd-libs-241-10.git511646b.fc30.x86_64 conflicts with file from package systemd-libs-241-9.gitb67ecf2.fc30.x86_64
  file /usr/lib64/libnss_systemd.so.2 from install of systemd-libs-241-10.git511646b.fc30.x86_64 conflicts with file from package systemd-libs-241-9.gitb67ecf2.fc30.x86_64
  file /usr/lib64/libsystemd.so.0.25.0 from install of systemd-libs-241-10.git511646b.fc30.x86_64 conflicts with file from package systemd-libs-241-9.gitb67ecf2.fc30.x86_64
  file /usr/lib64/libudev.so.1.6.13 from install of systemd-libs-241-10.git511646b.fc30.x86_64 conflicts with file from package systemd-libs-241-9.gitb67ecf2.fc30.x86_64
  file /usr/lib/rpm/macros.d/macros.selinux-policy from install of selinux-policy-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-3.14.3-42.fc30.noarch
  file /usr/lib64/libpcre2-8.so.0.8.0 from install of pcre2-10.33-9.fc30.x86_64 conflicts with file from package pcre2-10.33-6.fc30.x86_64
  file /usr/lib64/libpcre2-posix.so.2.0.2 from install of pcre2-10.33-9.fc30.x86_64 conflicts with file from package pcre2-10.33-6.fc30.x86_64
  file /usr/bin/gapplication from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/bin/gdbus from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/bin/gio from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/bin/gio-launch-desktop from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/bin/gio-querymodules-64 from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/bin/glib-compile-schemas from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/bin/gsettings from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/lib64/libgio-2.0.so.0 from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/lib64/libglib-2.0.so.0 from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/lib64/libgmodule-2.0.so.0 from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/lib64/libgobject-2.0.so.0 from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/lib64/libgthread-2.0.so.0 from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/share/doc/glib2/NEWS from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/share/man/man1/gapplication.1.gz from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/share/man/man1/gdbus.1.gz from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/share/man/man1/gio-querymodules.1.gz from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/share/man/man1/gio.1.gz from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/share/man/man1/glib-compile-schemas.1.gz from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/share/man/man1/gsettings.1.gz from install of glib2-2.60.6-1.fc30.x86_64 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /etc/selinux/targeted/.policy.sha512 from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /etc/selinux/targeted/contexts/files/file_contexts from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /etc/selinux/targeted/policy/policy.31 from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /usr/share/selinux/targeted/default/active/file_contexts from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /usr/share/selinux/targeted/default/active/modules/100/apache/cil from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /usr/share/selinux/targeted/default/active/modules/100/dhcp/cil from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /usr/share/selinux/targeted/default/active/modules/100/lsm/cil from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /usr/share/selinux/targeted/default/active/modules/100/nut/cil from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /usr/share/selinux/targeted/default/active/modules/100/systemd/cil from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /usr/share/selinux/targeted/default/active/modules/100/virt/cil from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /usr/share/selinux/targeted/default/active/policy.kern from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /usr/share/selinux/targeted/default/active/policy.linked from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /var/lib/selinux/targeted/active/file_contexts from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /var/lib/selinux/targeted/active/modules/100/apache/cil from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /var/lib/selinux/targeted/active/modules/100/apache/hll from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /var/lib/selinux/targeted/active/modules/100/dhcp/cil from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /var/lib/selinux/targeted/active/modules/100/dhcp/hll from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /var/lib/selinux/targeted/active/modules/100/lsm/cil from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /var/lib/selinux/targeted/active/modules/100/lsm/hll from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /var/lib/selinux/targeted/active/modules/100/nut/cil from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /var/lib/selinux/targeted/active/modules/100/nut/hll from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /var/lib/selinux/targeted/active/modules/100/systemd/cil from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /var/lib/selinux/targeted/active/modules/100/systemd/hll from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /var/lib/selinux/targeted/active/modules/100/virt/cil from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /var/lib/selinux/targeted/active/modules/100/virt/hll from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /var/lib/selinux/targeted/active/policy.kern from install of selinux-policy-targeted-3.14.3-43.fc30.noarch conflicts with file from package selinux-policy-targeted-3.14.3-42.fc30.noarch
  file /usr/share/doc/glib2/NEWS from install of glib2-2.60.6-1.fc30.i686 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/share/man/man1/gapplication.1.gz from install of glib2-2.60.6-1.fc30.i686 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/share/man/man1/gdbus.1.gz from install of glib2-2.60.6-1.fc30.i686 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/share/man/man1/gio-querymodules.1.gz from install of glib2-2.60.6-1.fc30.i686 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/share/man/man1/gio.1.gz from install of glib2-2.60.6-1.fc30.i686 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/share/man/man1/glib-compile-schemas.1.gz from install of glib2-2.60.6-1.fc30.i686 conflicts with file from package glib2-2.60.5-1.fc30.x86_64
  file /usr/share/man/man1/gsettings.1.gz from install of glib2-2.60.6-1.fc30.i686 conflicts with file from package glib2-2.60.5-1.fc30.x86_64

Error Summary
-------------

(blank)



While my system is actually running, this is very serious.  I have a lot of experience and this is one of my nightmares.  I fixed something like this a couple years ago,  but I forgot if there were any tricks that helped.  I even checked my notes, and I don't have anything I can find about this situation.

I have been able to completely remove and reinstall some sets of non-essential packages, which has reduced the number of conflicts by about half.  But I don't know how to deal with pcre2 and systemd.

Please help.

Comment 3 Paul DeStefano 2019-08-12 15:22:09 UTC
Is one of the options to delete RPM DB and then rebuild from scratch?  Sounds like something that could be done, but I might be making it up.

Comment 4 Paul DeStefano 2019-08-18 00:17:28 UTC
Enough things are broken, like virtualization, that the system is not fully functional.  I need to fix this, somehow.  I could really use some advice.  I've researched it, but nothing I have found seems to work.

Comment 5 Paul DeStefano 2019-08-18 20:46:47 UTC
Okay, I think I muddled through it, bit by bit.  Mostly, I used distro-sync, which seemed to be able to detect when reinstall of some packages would be the correct action.  That was helpful.  The hardest part was libssh, which I forcibly removed with rpm, but that left dnf inoperable.  I guess I should have used the RPM options that just removed it from the database.  Luckily, the rpm was in DNF cache and I just installed it.

Thanks.

I learned my lesson, though. I didn't realize that GNOME software was staging upgrade packages for reboot.  I just always used CLI to do updates.  Would be nice if DNF could stage like that.  Is that an undocumented feature or something?

Comment 6 Jaroslav Mracek 2019-09-23 19:24:24 UTC
Normally I would recommend to try "dnf remove --duplicates". But at the present time the command is not fully functional. It requires https://github.com/rpm-software-management/dnf/pull/1478.

What works: 
Get NAMES of duplicates from "dnf repoquery --duplicates"
or "rpm -q <package name like systemd>"

remove older version of package:

"rpm -e <full name like systemd-241-12.git1e19bcd.fc30.x86_64>"

To ensure dependencies reinstall the remaining package version:
"dnf reinstall <package name like systemd>"


Alternatively:
To help you I create a copr repository with upstream dnf + patch required to resolve your case (https://github.com/rpm-software-management/dnf/pull/1478). To enable it just run as a root `dnf copr enable jmracek/remove`.

After installing of dnf-4.2.11-1.git.8938.b92b807.fc30 run `dnf remove --duplicates` or in case that it doesn't help use `dnf shell` with dnf-shell commands `remove --duplicates`, `upgrade`, `run`.

Did it help?

Comment 7 Jaroslav Mracek 2019-09-23 19:25:55 UTC

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

Comment 8 Paul DeStefano 2019-09-24 04:30:50 UTC
Thanks for explaining about the --duplicates option.  I'm glad that there is hope for this solution path in the future.

I'm very sorry for the trouble; I hope you didn't create that copr just for me.  As I reported, I manually hacked my way through this.  If I run into this problem again, I will surely try your copr, but at present, I cannot test it for you.


Note You need to log in before you can comment on or make changes to this bug.