Bug 1530584 - systemd-logind leaks session files upon systemd upgrade
Summary: systemd-logind leaks session files upon systemd upgrade
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: systemd
Version: 7.4
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: rc
: ---
Assignee: systemd-maint
QA Contact: qe-baseos-daemons
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-01-03 12:13 UTC by Renaud Métrich
Modified: 2023-08-12 03:27 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-01-17 13:51:14 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 3325431 0 None None None 2018-01-31 10:25:39 UTC

Description Renaud Métrich 2018-01-03 12:13:03 UTC
Description of problem:

When upgrading systemd without restarting the system afterwards, we can see that /run/systemd/sessions directory contains "stale" files, causing a leak and /run filesystem to grow:

# ll /run/systemd/sessions/
total 20
-rw-r--r--. 1 root root 282 Jan  3 13:00 1
prw-------. 1 root root   0 Jan  3 13:00 1.ref
-rw-r--r--. 1 root root 238 Jan  3 13:01 2
-rw-r--r--. 1 root root 251 Jan  3 13:02 3
-rw-r--r--. 1 root root 251 Jan  3 13:02 4
-rw-r--r--. 1 root root 251 Jan  3 13:02 5

# cat /run/systemd/sessions/4
# This is private data. Do not parse.
UID=0
USER=root
ACTIVE=1
STATE=closing
REMOTE=1
STOPPING=1
...

Each time a new session is created (e.g. when user connects through ssh), a new state file will remain in that directory, even upon session closure.


Version-Release number of selected component (if applicable):

systemd-219-42.el7_4.4.x86_64


How reproducible:

ALWAYS


Steps to Reproduce:
1. Install a RHEL < 7.4 system (e.g. RHEL 7.3)
2. Upgrade systemd to latest version

  # yum -y update systemd

3. Connect to the system using ssh

  # ssh root@reproducer true

Actual results:

Every connection (3.) leads to a new state file that doesn't get deleted.


Additional info:

Workaround (root cause?) is to restart systemd-logind service upon upgrade.


Note You need to log in before you can comment on or make changes to this bug.