qmlscene is leaking ~1.7K per second on an idle application on the phone
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
qtubuntu-sensors (Ubuntu) |
New
|
Undecided
|
Thomas Voß |
Bug Description
Running apps on the phone using qmlscene and just keeping *idle* one can see ~1.7K per second of heap growth. I monitored qmlscene for ~570 minutes and observed 58156K of anonymous mapped memory (normally this is heap) growth.
Running smemstat on qmlscene, for example, an idle calendar app:
ps -ax | grep calendar.qml | grep -v grep
14006 ? Ssl 8:26 /usr/lib/
smemstat -p 14006 60
Change in memory (average per second):
PID Swap USS PSS RSS User Command
14006 0.0 B 1706.7 B 1706.7 B 1706.7 B phablet /usr/lib/
Total: 0.0 B 1706.7 B 1706.7 B 1706.7 B
...etc
This seems to be a similar leak rate to bug 1364380 so it may be a common library that is the root of the problem.
I can't seem to reproduce this on mako with just running calendar app and smemstat:ing it:
--- phablet: ~# smemstat -p 3347 60 arm-linux- gnueabihf/ qt5/bin/ qmlscene
root@ubuntu-
Change in memory (average per second):
PID Swap USS PSS RSS User Command
3347 0.0 B 1228.8 B 2133.3 B 1501.9 B phablet /usr/lib/
Total: 0.0 B 1228.8 B 2133.3 B 1501.9 B
PID Swap USS PSS RSS User Command
Total: 0.0 B 0.0 B 0.0 B 0.0 B
PID Swap USS PSS RSS User Command
Total: 0.0 B 0.0 B 0.0 B 0.0 B
---
What I did I booted (mako rtm 22 image), launched calendar app and let it be idle. I also tried waking up the device, putting the app to background and waiting. The biggest I could get after the initial start of the app was:
PID Swap USS PSS RSS User Command arm-linux- gnueabihf/ qt5/bin/ qmlscene
3347 0.0 B 68.3 B 85.3 B 136.5 B phablet /usr/lib/
Total: 0.0 B 68.3 B 85.3 B 136.5 B
...when I switched it to background, after that 0 again. This was a 10 minute test.
If you can reliably reproduce the leaking, could you try using the instructions at https:/ /wiki.ubuntu. com/Touch/ QtTesting and try out Qt 5.3.1?
I searched through the 5.3.x point release git logs, and while there are a couple of leak fixes, there weren't any that would sound like happening when doing nothing. The most probable upstream source branches possibly containing fixes are the '5.3' ones (or '5.3.2' is currently as good) https:/ /qt.gitorious. org/qt/ qtbase/ and https:/ /qt.gitorious. org/qt/ qtdeclarative/, although note that the known leak we're hitting in bug #1201116 is in https:/ /qt.gitorious. org/qt/ qtxmlpatterns/ instead.