← Back to team overview

sts-sponsors team mailing list archive

[Bug 1750013] [NEW] systemd-logind: memory leaks on session's connections (trusty-only)

 

You have been subscribed to a public bug by Guilherme G. Piccoli (gpiccoli):

Below the SRU request form. Please refer to the Original Description to
a more comprehensive explanation of the problem observed.


[Impact] 

 * systemd-logind tool is leaking memory at each session connected. The 
 issues happens in systemd from Trusty (14.04) only.

 * Three issues observed:
  - systemd-logind is leaking entire sessions, i.e, the sessions are not 
    feeed after they're closed. In order to fix that, we proactively add 
    the sessions to systemd garbage collector (gc) when they are closed. 
    Also, part of the fix is to make cgmanager package a dependency. Refer 
    to comment #1 to a more thorough explanation of the issue and the fix.

  - a small memory leak was observed in the session creation logic of 
    systemd-logind. The fix for that is the addition of an appropriate 
    free() call. Refer to comment #2 to more details on the issue and fix.

  - another small memory leak was observed in the cgmanager glue code of 
    systemd-logind - this code is only present in this specific Ubuntu 
    release of the package, due to necessary compatibility layer with 
    upstart init system. The fix is to properly call free() in 2 
    functions. Refer to comment #3 to a deep exposition of the issue and 
    the fix.


[Test Case]

 * The basic test-case is to run the following loop from a remote machine:
   while true; do ssh <hostname-target> "whoami"; done

 * It's possible to watch the increase in memory consumption from 
   "systemd-logind" process in the target machine. One can use the
   "ps uax" command to verify the RSS of the process, or count its 
   anonymous pages from /proc/<logind_pid>/smaps.


[Regression Potential] 

 * Since the fixes are small and not intrusive, the potential for 
   regressions are low. More regression considerations on comments #1, #2 
   and #3 for each fix.

 * A potential small regressson is performance-wise, since now we add 
   sessions to garbage collector proactively.

** Affects: systemd (Ubuntu)
     Importance: Medium
     Assignee: Guilherme G. Piccoli (gpiccoli)
         Status: Fix Released

** Affects: systemd (Ubuntu Trusty)
     Importance: Medium
     Assignee: Guilherme G. Piccoli (gpiccoli)
         Status: In Progress

** Affects: systemd (Ubuntu Xenial)
     Importance: Medium
     Assignee: Guilherme G. Piccoli (gpiccoli)
         Status: Fix Released

** Affects: systemd (Ubuntu Artful)
     Importance: Medium
     Assignee: Guilherme G. Piccoli (gpiccoli)
         Status: Fix Released

** Affects: systemd (Ubuntu Bionic)
     Importance: Medium
     Assignee: Guilherme G. Piccoli (gpiccoli)
         Status: Fix Released


** Tags: sts sts-sru-needed
-- 
systemd-logind: memory leaks on session's connections (trusty-only)
https://bugs.launchpad.net/bugs/1750013
You received this bug notification because you are a member of STS Sponsors, which is subscribed to the bug report.