After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 725657 - No info emitted about new IPv4Config when device is activated
No info emitted about new IPv4Config when device is activated
Status: RESOLVED OBSOLETE
Product: NetworkManager
Classification: Platform
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: NetworkManager maintainer(s)
NetworkManager maintainer(s)
: 729828 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2014-03-04 14:38 UTC by Jan Grulich
Modified: 2020-11-12 14:31 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jan Grulich 2014-03-04 14:38:15 UTC
See the output from dbus-monitor, where you can see that a device is activated, but IPv4Config/IPv6Config is updated only for its active connection and not also for the device.

My version of NM is NetworkManager-0.9.9.0-31.git20131003.fc20.x86_64

signal sender=:1.266 -> dest=(null destination) serial=5896 path=/org/freedesktop/NetworkManager/Devices/2; interface=org.freedesktop.NetworkManager.Device; member=StateChanged
   uint32 100
   uint32 90
   uint32 0
signal sender=:1.266 -> dest=(null destination) serial=5909 path=/org/freedesktop/NetworkManager/Devices/2; interface=org.freedesktop.NetworkManager.Device.Wireless; member=PropertiesChanged
   array [
      dict entry(
         string "State"
         variant             uint32 100
      )
      dict entry(
         string "StateReason"
         variant             struct {
               uint32 100
               uint32 0
            }
      )
      dict entry(
         string "ActiveAccessPoint"
         variant             object path "/org/freedesktop/NetworkManager/AccessPoint/3"
      )
      dict entry(
         string "Bitrate"
         variant             uint32 6000
      )
   ]
signal sender=:1.266 -> dest=(null destination) serial=5910 path=/org/freedesktop/NetworkManager/ActiveConnection/4; interface=org.freedesktop.NetworkManager.Connection.Active; member=PropertiesChanged
   array [
      dict entry(
         string "State"
         variant             uint32 2
      )
      dict entry(
         string "Dhcp6Config"
         variant             object path "/"
      )
      dict entry(
         string "Dhcp4Config"
         variant             object path "/org/freedesktop/NetworkManager/DHCP4Config/4"
      )
      dict entry(
         string "Ip6Config"
         variant             object path "/org/freedesktop/NetworkManager/IP6Config/5"
      )
      dict entry(
         string "Ip4Config"
         variant             object path "/org/freedesktop/NetworkManager/IP4Config/5"
      )
   ]
Comment 1 Dan Winship 2014-03-04 14:58:37 UTC
I think Thomas has a patch that fixes this on some branch he's working on?
Comment 2 Thomas Haller 2014-03-04 15:08:39 UTC
Not sure I understand correctly, but...

Already for a while now [1], the IP[46]Config instance of a device stays the same, when the config changes. Instead, the device keeps always the same IP[46]Config instance, but the properties ~inside~ the config change.

I think what you are seeing works as intended.


[1] http://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=db9b7e10aca5456ec4960b75617e032209b98bc1
Comment 3 Jan Grulich 2014-03-04 15:26:55 UTC
The problem is that we don't get the path to IP[46]Config, because it's not emitted when device is activated in PropertiesChanged, only when the device is deactivated and in this case the path is removed, see:

signal sender=:1.266 -> dest=(null destination) serial=7306 path=/org/freedesktop/NetworkManager/Devices/2; interface=org.freedesktop.NetworkManager.Device.Wireless; member=PropertiesChanged
   array [
      dict entry(
         string "Ip6Config"
         variant             object path "/"
      )
      dict entry(
         string "Ip4Config"
         variant             object path "/"
      )
   ]
Comment 4 Dan Winship 2014-03-04 16:03:58 UTC
Thomas: I thought I remembered some patch where you added some missing g_object_notify()s? Maybe it wasn't you...
Comment 5 Thomas Haller 2014-03-17 19:51:54 UTC
(In reply to comment #3)
> The problem is that we don't get the path to IP[46]Config, because it's not
> emitted when device is activated in PropertiesChanged, only when the device is
> deactivated and in this case the path is removed, see:
> 

I still don't understand the problem. The IP[46]Config property does (usually) *not* change when the device gets activated.

IOW, the object path does not change, so you don't receive a PropertiesChanged signal.


Actually, you might get some spurious PropertiesChanged signals, although the path did not change... (but that shouldn't hurt).
Comment 6 Thomas Haller 2014-03-17 20:02:57 UTC
(In reply to comment #5)
> (In reply to comment #3)
> 
> Actually, you might get some spurious PropertiesChanged signals, although the
> path did not change... (but that shouldn't hurt).

Ok, I checked again :)

The path does change, but I get the correct signals -- but note, that I get spurious events for paths that did not really change... but eventually, I get the right signal when needed.
Comment 7 Marius Vollmer 2014-05-14 08:59:51 UTC
*** Bug 729828 has been marked as a duplicate of this bug. ***
Comment 8 Marius Vollmer 2014-05-14 09:01:07 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > (In reply to comment #3)
> > 
> > Actually, you might get some spurious PropertiesChanged signals, although the
> > path did not change... (but that shouldn't hurt).
> 
> Ok, I checked again :)
> 
> The path does change, but I get the correct signals -- but note, that I get
> spurious events for paths that did not really change... but eventually, I get
> the right signal when needed.

With what version was that?
Comment 9 Jan Grulich 2014-05-19 07:50:27 UTC
It was with some packaged snapshot of NM 0.9.9.0 for Fedora 20, but it's also possible that the problem was there even before (eg in NM 0.9.8.x).
Comment 10 Marius Vollmer 2014-05-19 11:42:08 UTC
(In reply to comment #9)
> It was with some packaged snapshot of NM 0.9.9.0 for Fedora 20, but it's also
> possible that the problem was there even before (eg in NM 0.9.8.x).

Thanks, but I was asking Thomas about _his_ version, the one he used to try to reproduce this bug but couldn't.  I think it _is_ fixed somewhere on master, but I am too lazy to check myself. (And we need to cope with buggy versions anyway.)
Comment 11 Thomas Haller 2014-05-19 14:33:55 UTC
Sorry, I can't remember. If I did not screw up, I should have tested the stable Fedora20 package from March 17, 2014.

Will look into this again
Comment 12 André Klapper 2020-11-12 14:31:25 UTC
bugzilla.gnome.org is being shut down in favor of a GitLab instance. 
We are closing all old bug reports and feature requests in GNOME Bugzilla which have not seen updates for a long time.

If you still use NetworkManager and if you still see this bug / want this feature in a recent and supported version of NetworkManager, then please feel free to report it at https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/

Thank you for creating this report and we are sorry it could not be implemented (workforce and time is unfortunately limited).