I just added tasks for the packages mentioned in comment #65. Some things learned today:
- the sub-component of QNetwork that's most likely the cause is called Bearer Management. One of it's classes, QNetworkSession includes a plugin for NetworkManager which creates listeners for new AccessPoint DBus objects. - msyncd ( part of buteo-syncfw ) includes it's own internal NetworkManager class ( dated from 2010 ) which in turn uses QNetworkSession. - unity8 appears to use QNetworkAccessManager, which uses QNetworkSession. - sync-monitor uses QNetworkConfigurationManager, which is also part of Bearer Management, and most likely causes a QNetworkSession to be instantiated. - maliit-framework is the only puzzle, as it doesn't seem to have any network code. It does use QGuiApplication however, which might in turn hook into the network code. - the bulk of the code involved on the Qt side can be found in the qtbase-opensource-base source package. - I'm no expert in QtDBus, but from what I can tell, to listen to a DBus signal ( which causes a match rule to be created ), you need to call connect on an instance of a DBusConnection, similar to what you'd do with a native Qt signal and slot. Conversely, to remove a signal watch, you need to call the disconnect() function. - The connect to for a new new AccessPoint object can be found in src/plugins/bearer/networkmanager/networkmanagerservice.cpp in the funcion QNetworkManagerInterfaceAccessPoint::QNetworkManagerInterfaceAccessPoint(). - I don't see any corresponding cleanup code when an access point is removed ( ie. there's no disconnect() call made to the bus ) That's all I have for now... -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to indicator-network in Ubuntu. https://bugs.launchpad.net/bugs/1480877 Title: Access points' "PropertiesChanged" dbus signals freeze UI on mobile devices Status in Canonical System Image: Confirmed Status in indicator-network package in Ubuntu: Incomplete Status in network-manager package in Ubuntu: Incomplete Status in buteo-syncfw package in Ubuntu RTM: New Status in location-service package in Ubuntu RTM: New Status in maliit-framework package in Ubuntu RTM: New Status in network-manager package in Ubuntu RTM: Incomplete Status in sync-monitor package in Ubuntu RTM: New Status in unity8 package in Ubuntu RTM: New Bug description: Krillin, rc-proposed, r83 DESCRIPTION: I've been trying to track down the cause of the occasional UI freezes on my Krillin device, and I noticed that whenever the UI freezes for 2-4 seconds, I get a burst of "PropertiesChanged" signals in dbus-monitor Here's a log of what's shown in dbus-monitor: http://pastebin.ubuntu.com/11992322/ I'd guess the problem is in the code that actually catches the signals and acts accordingly. HOW TO REPRODUCE: 1) Move to a place where many wifi hotspots are available 2) Connect the device via USB and run "phablet-shell" and then "dbus-monitor" 3) Use the device while keeping an eye on dbus-monitor output To manage notifications about this bug go to: https://bugs.launchpad.net/canonical-devices-system-image/+bug/1480877/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp