Bug 1470922 - If lz4 update is pending, dnf incorrectly updates NetworkManager
Summary: If lz4 update is pending, dnf incorrectly updates NetworkManager
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: libsolv
Version: 26
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: rpm-software-management
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-07-14 02:12 UTC by SJM
Modified: 2017-07-26 03:14 UTC (History)
10 users (show)

Fixed In Version: libsolv-0.6.28-2.fc26 libsolv-0.6.28-2.fc25
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-07-24 19:22:40 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Debug traces from the solver (5.76 MB, application/x-xz)
2017-07-20 21:04 UTC, Lubomir Rintel
no flags Details

Description SJM 2017-07-14 02:12:16 UTC
Description of problem:
Mobile broadband connection intermittently fails to establish in Fedora 26 (upgraded from 25). Strangely it *sometimes* worked.

The connection worked as expected in previous F25.


Version-Release number of selected component (if applicable):
F26, particularly when upgraded from F25?

How reproducible:
80% of the time (subjectively)

Steps to Reproduce:
1. Upgrade to F26 (e.g. from 25)
2. Connect (or create and connect) a mobile broadband connection via Network Manager
3. Attempt to connect

Actual results:

- The Gnome Network Manager UI returns to a non-connected state.

- mcli conn up uuid ..... shows "PPP service failed to start"

- journalct (system log) gives more info:
ttyUSB0): error starting PPP: the PPP plugin /usr/lib64/NetworkManager/libnm-ppp-plugin.so is not installed


Expected results:
A connection to be established

Additional info:

Installing "NetworkManager-ppp" resolves the problem. I'm unsure if this is a new package for Network Manager 1.8? ; however it wasn't installed during the upgrade.

Comment 1 Thilina 2017-07-17 09:33:23 UTC
Hi,

I install "NetworkManager-ppp" package and it did work. 

Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1385198.

Regards,
Thilina.

Comment 2 Lubomir Rintel 2017-07-20 21:01:59 UTC
This seems to be a bug in DNF or the solver. Here's a log from the system with f25 versions of lz4 and NetworkManager of dnf doing the wrong thing on update (with commentary):

0.) Attempt a NetworkManager update. This is wrong -- the NetworkManager-ppp obsoletes the old NetworkManager package and should be in the transaction:

[root@belphegor ~]# dnf --debugsolver update NetworkManager
Last metadata expiration check: 0:15:29 ago on Thu Jul 20 20:36:26 2017.
Dependencies resolved.
================================================================================
 Package                   Arch        Version                Repository   Size
================================================================================
Upgrading:
 NetworkManager            x86_64      1:1.8.0-6.fc26         fedora      1.6 M
 NetworkManager-libnm      x86_64      1:1.8.0-6.fc26         fedora      1.2 M

Transaction Summary
================================================================================
Upgrade  2 Packages

Total download size: 2.8 M
Is this ok [y/N]: 
Operation aborted.
[root@belphegor ~]# mv debugdata debugdata0

1.) See what other updates are pending (the filesystem update is probably unrelated):

[root@belphegor ~]# dnf --debugsolver update 
Last metadata expiration check: 0:16:03 ago on Thu Jul 20 20:36:26 2017.
Dependencies resolved.
================================================================================
 Package                   Arch        Version               Repository    Size
================================================================================
Upgrading:
 NetworkManager            x86_64      1:1.8.0-6.fc26        fedora       1.6 M
 NetworkManager-libnm      x86_64      1:1.8.0-6.fc26        fedora       1.2 M
 filesystem                x86_64      3.2-40.fc26           fedora       1.1 M
 lz4                       x86_64      1.7.5-4.fc26          updates       90 k
Installing dependencies:
 lz4-libs                  x86_64      1.7.5-4.fc26          updates       47 k
     replacing  lz4.x86_64 1.7.5-1.fc25

Transaction Summary
================================================================================
Install  1 Package
Upgrade  4 Packages

Total download size: 4.0 M
Is this ok [y/N]: 
Operation aborted.
[root@belphegor ~]# mv debugdata debugdata1


2.) Cool, let's do the lz4 update:

[root@belphegor ~]# dnf --debugsolver -y update lz4
Last metadata expiration check: 0:16:26 ago on Thu Jul 20 20:36:26 2017.
Dependencies resolved.
================================================================================
 Package           Arch            Version               Repository        Size
================================================================================
Upgrading:
 lz4               x86_64          1.7.5-4.fc26          updates           90 k
Installing dependencies:
 lz4-libs          x86_64          1.7.5-4.fc26          updates           47 k
     replacing  lz4.x86_64 1.7.5-1.fc25

Transaction Summary
================================================================================
Install  1 Package
Upgrade  1 Package

Total download size: 137 k
Downloading Packages:
(1/2): lz4-libs-1.7.5-4.fc26.x86_64.rpm         6.8 MB/s |  47 kB     00:00    
(2/2): lz4-1.7.5-4.fc26.x86_64.rpm               11 MB/s |  90 kB     00:00    
--------------------------------------------------------------------------------
Total                                           123 kB/s | 137 kB     00:01     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Upgrading        : lz4-1.7.5-4.fc26.x86_64                                1/3 
  Installing       : lz4-libs-1.7.5-4.fc26.x86_64                           2/3 
  Running scriptlet: lz4-libs-1.7.5-4.fc26.x86_64                           2/3 
  Cleanup          : lz4-1.7.5-1.fc25.x86_64                                3/3 
  Running scriptlet: lz4-1.7.5-1.fc25.x86_64                                3/3 
  Verifying        : lz4-libs-1.7.5-4.fc26.x86_64                           1/3 
  Verifying        : lz4-1.7.5-4.fc26.x86_64                                2/3 
  Verifying        : lz4-1.7.5-1.fc25.x86_64                                3/3 

Installed:
  lz4-libs.x86_64 1.7.5-4.fc26                                                  

Upgraded:
  lz4.x86_64 1.7.5-4.fc26                                                       

Complete!
[root@belphegor ~]# mv debugdata debugdata2

3.) Wtf! The lz4 update seemingly changed dnf's mind about the NetworkManager obsolete and now it works all right:

[root@belphegor ~]# dnf --debugsolver update 
Last metadata expiration check: 0:16:46 ago on Thu Jul 20 20:36:26 2017.
Dependencies resolved.
================================================================================
 Package                   Arch        Version                Repository   Size
================================================================================
Upgrading:
 NetworkManager            x86_64      1:1.8.0-6.fc26         fedora      1.6 M
 NetworkManager-libnm      x86_64      1:1.8.0-6.fc26         fedora      1.2 M
 filesystem                x86_64      3.2-40.fc26            fedora      1.1 M
Installing dependencies:
 NetworkManager-ppp        x86_64      1:1.8.0-6.fc26         fedora      127 k
     replacing  NetworkManager.x86_64 1:1.4.4-5.fc25

Transaction Summary
================================================================================
Install  1 Package
Upgrade  3 Packages

Total download size: 4.0 M
Is this ok [y/N]: 
Operation aborted.
[root@belphegor ~]# mv debugdata debugdata3

Comment 3 Lubomir Rintel 2017-07-20 21:04:15 UTC
Created attachment 1302009 [details]
Debug traces from the solver

Comment 4 Igor Gnatenko 2017-07-20 21:19:27 UTC
0) Totally agree. I think this is connected tight with multiple obsoletes for NM + Provides: NM in NM-ppp

1+3) This really feels like some bug in libsolv in yumobs.... Michael, could you please take a look?

Comment 5 Michael Schröder 2017-07-21 11:40:20 UTC
There is a bogus queue_empty() line in the yumobs code, so that it can only deal with one obsoletes. That's why it works after the lz4 update.

Fixed with libsolv commit fe64933a5c9125401f0ae3e928c406d19075c202

As said in the commit message, It's surprising that nobody ran into this bug until now.

Comment 6 Fedora Update System 2017-07-21 11:59:28 UTC
libsolv-0.6.28-2.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-6a351d5cc9

Comment 7 Igor Gnatenko 2017-07-21 12:00:12 UTC
(In reply to Michael Schröder from comment #5)
> There is a bogus queue_empty() line in the yumobs code, so that it can only
> deal with one obsoletes. That's why it works after the lz4 update.
> 
> Fixed with libsolv commit fe64933a5c9125401f0ae3e928c406d19075c202
> 
> As said in the commit message, It's surprising that nobody ran into this bug
> until now.

Thanks a lot for investigating and fixing issue!

Comment 8 Fedora Update System 2017-07-23 06:56:56 UTC
libsolv-0.6.28-2.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-c466a496c1

Comment 9 Fedora Update System 2017-07-23 09:58:58 UTC
libsolv-0.6.28-2.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-6a351d5cc9

Comment 10 Fedora Update System 2017-07-24 19:22:40 UTC
libsolv-0.6.28-2.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Comment 11 Fedora Update System 2017-07-25 00:24:33 UTC
libsolv-0.6.28-2.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

Comment 12 SJM 2017-07-26 03:14:47 UTC
LGTM. Thanks for investigating and fixing promptly.


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