Memory consumption grows on modem power cycle
I have performed test where our system power cycles the modem every hour - I have interrupted the test after two weeks. I have noticed that RSS memory of MM process was constantly growing (by more / less 8MB over 14 days) and never decreasing.
However, analyzing the logs seems to show that there is no strict relation between power cycle and the moment when RSS grows.
My test scenario is
- Enable the modem (Telit HE910)
- Configure automatic PPP connection (via NetworkManager)
- Check in loop via mmcli -L when modem is available
- Enable
--location-enable-gps-unmanaged
for available modem - Externally Power Cycle the modem every hour
- Note - Location interface is not configured again anymore because of Modem's power cycle.
- Continue Modem power cycle every hour
I tried Valgrind but results doesn't show much (same test with valgrind performed many times for couple of days).
G_DEBUG=gc-friendly G_SLICE=always-malloc valgrind --leak-check=full --show-reachable=yes --log-file=/var/log/valgrind.out /usr/sbin/ModemManager --debug --log-file=/var/log/ModemManager.log
Example of one of gathered logs attachedvalgrind.out and ModemManager.log One thing worth to mention related to attached logs is following warning
(ModemManager:26310): GLib-GObject-WARNING **: 09:40:03.397: ../glib-2.60.7/gobject/gsignal.c:2641: instance '0x79951b0' has no handler with id '86874'
Growing RSS was observed on HEAD of mm-1-12 and mm-1-14 branches. Two branches of ModemManager version were tested on both glib-2.60 and glib-2.56 with similar results.
Do you know any glib related tips helping me understanding root cause of RSS growth over the time?