Bug 1854892

Summary: pppoe connection terminated immediately after a successful start; assertion error
Product: Red Hat Enterprise Linux 8 Reporter: Beniamino Galvani <bgalvani>
Component: NetworkManagerAssignee: NetworkManager Development Team <nm-team>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.3CC: acardace, atragler, bgalvani, dcbw, extras-qa, fgiudici, gnome-sig, john.j5live, lkundrak, lrintel, mclasen, reg.bugs, rhughes, rkhan, rstrode, sandmann, sukulkar, thaller, till, vbenes
Target Milestone: rc   
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: NetworkManager-1.26.0-1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1849386 Environment:
Last Closed: 2020-11-04 01:47:57 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:
Bug Depends On: 1849386    
Bug Blocks:    

Description Beniamino Galvani 2020-07-08 12:19:28 UTC
+++ This bug was initially created as a clone of Bug #1849386 +++

Description of problem:

There are two ways of specifying interface names for a pppoe connection
to be started on an ethernet interface I will hereafter refer to as the old
and the new way.

The old one was (as saved in a .nmconnection file):

[connection]
id=adsl-internet
type=pppoe
interface-name=enp5s0

and the new one is:

[connection]
id=adsl-internet
type=pppoe
interface-name=ppp0
[pppoe]
parent=enp5s0

The old way is working fine for me, but it has a drawback that it seems to be
impossible to have an IP address and running pppoe on the same interface
at the same time. AFAIK that was the reason for introducing the new way.

When I use the new configuration (not changing anything else, only
the connection.interface-name and pppoe.parent as shown above), the pppoe connection
is established, but immediately terminated. No other retries are attempted. Bringing the
connection up manually with "nmcli conn up ..." succeeds though, but manual connection
maintainance is not a viable option.

The log contains this error: "assertion '<dropped>' failed":

NetworkManager[15807]: PAP authentication succeeded
NetworkManager[15807]: peer from calling number 7C:AD:XX:XX:XX:XX authorized
pppd[15807]: peer from calling number 7C:AD:XX:XX:XX:XX authorized
pppd[15807]: local  IP address 212.XX.XX.XX
pppd[15807]: nm-ppp-plugin: status 9 / phase 'running'
NetworkManager[15807]: local  IP address 212.XX.XX.XX
NetworkManager[15807]: remote IP address 84.XX.XX.XX
NetworkManager[15807]: primary   DNS address 195.XX.XX.XX
NetworkManager[15807]: secondary DNS address 195.XX.XX.XX
NetworkManager[15773]: ((src/devices/nm-device.c:1441)): assertion '<dropped>' failed
NetworkManager[15773]: <info>  [1592723907.0471] device (ppp0): state change: config -> failed (reason 'ip-config-unavailable', sys-iface-state: 'managed')
NetworkManager[15773]: <info>  [1592723907.0477] manager: NetworkManager state is now CONNECTED_LOCAL
NetworkManager[15773]: <warn>  [1592723907.0577] device (ppp0): Activation: failed for connection 'adsl-internet'

More lines of the log are in the attached file.


Version-Release number of selected component (if applicable):

NetworkManager-1.22.14-1.fc32.x86_64
NetworkManager-ppp-1.22.14-1.fc32.x86_64

How reproducible:
always

Steps to Reproduce:
1. Configure the NetworkManager with an Ethernet interface and a pppoe interface using the Ethernet as its parent;
2. systemctl restart NetworkManager

Actual results:
Ethernet up), pppoe down

Expected results:
Ethernet up, pppoe also up

Additional info:
I will add my configuration files or other information if needed.

--- Additional comment from Beniamino Galvani on 2020-07-03 21:47:53 CEST ---

Upstream merge request:

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/564

--- Additional comment from Vlado Potisk on 2020-07-04 08:45:57 CEST ---

I read the desciption of the linked proposed patch. After changing the interface name from 'ppp0' to other string it works. I think you have found the problem's cause. Thank you.

Comment 1 Beniamino Galvani 2020-07-08 12:29:43 UTC
Reproducible on RHEL 8.3. Set debug=fatal-warnings in the [main] section of NetworkManager.conf and create a pppoe connection with 'ifname ppp0 pppoe.parent=$parent_eth'. Upon activation, NM crashes with:

 NetworkManager[2715]: ((src/devices/nm-device.c:1758)): assertion '<dropped>' failed

Comment 2 Thomas Haller 2020-07-13 21:00:00 UTC
Vladimir, please give QA_ACK for 8.3. Thank you.

Comment 9 errata-xmlrpc 2020-11-04 01:47:57 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (NetworkManager bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:4499