desktop-packages team mailing list archive
-
desktop-packages team
-
Mailing list archive
-
Message #148498
[Bug 1480877] Re: Access points' "PropertiesChanged" dbus signals freeze UI on mobile devices
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 Desktop
Packages, which is subscribed to network-manager 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
References