RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1241227 - stalled gdm-session-worker after a bunch of tests
Summary: stalled gdm-session-worker after a bunch of tests
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: gdm
Version: 7.2
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: rc
: ---
Assignee: Ray Strode [halfline]
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-07-08 19:07 UTC by Vladimir Benes
Modified: 2017-12-16 16:10 UTC (History)
3 users (show)

Fixed In Version: gdm-3.14.2-7.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-11-19 07:16:05 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:2216 0 normal SHIPPED_LIVE gnome compositor stack bug fix and enhancement update 2015-11-19 08:26:34 UTC

Description Vladimir Benes 2015-07-08 19:07:23 UTC
Description of problem:
I can see a load of stalled gdm-session-worker processes after let's say hundreds of gdm service start/stops. This happens when we start and stop tests often during tests. In some particular case it prevents gdm to start.

[root@qe-dell-ovs5-vm-23 gnome-initial-setup]# ps aux|grep gdm-session-worker
root       889  0.0  0.4 323876  7768 ?        Sl   13:13   0:04 gdm-session-worker [pam/gdm-password]
root      1940  0.1  0.5 325044 10420 ?        Sl   12:39   0:10 gdm-session-worker [pam/gdm-password]
root      2363  0.0  0.5 324044 10044 ?        Sl   13:15   0:04 gdm-session-worker [pam/gdm-password]
root      3418  0.1  0.5 324924 10404 ?        Sl   12:41   0:09 gdm-session-worker [pam/gdm-password]
root      4387  0.1  0.6 325584 11684 ?        Sl   12:23   0:13 gdm-session-worker [pam/gdm-password]
root      5903  0.1  0.6 325756 11768 ?        Sl   12:24   0:13 gdm-session-worker [pam/gdm-password]
root      5992  0.2  0.7 326456 14328 ?        Sl   11:50   0:23 gdm-session-worker [pam/gdm-password]
root      7472  0.2  0.7 326640 14452 ?        Sl   11:52   0:22 gdm-session-worker [pam/gdm-password]
root      8764  0.0  0.3 323716  7144 ?        Sl   13:22   0:03 gdm-session-worker [pam/gdm-password]
root      9730  0.1  0.5 324652  9648 ?        Sl   12:48   0:08 gdm-session-worker [pam/gdm-password]
root     10328  0.0  0.3 323856  7128 ?        Sl   13:23   0:03 gdm-session-worker [pam/gdm-password]
root     11232  0.1  0.5 324760  9760 ?        Sl   12:49   0:08 gdm-session-worker [pam/gdm-password]
root     13654  0.1  0.7 326080 13548 ?        Sl   11:58   0:20 gdm-session-worker [pam/gdm-password]
root     15181  0.1  0.7 326420 13712 ?        Sl   12:00   0:20 gdm-session-worker [pam/gdm-password]
root     15378  0.2  0.8 327064 16396 ?        Sl   11:26   0:30 gdm-session-worker [pam/gdm-password]
root     16867  0.0  0.3 323628  6376 ?        Sl   13:31   0:02 gdm-session-worker [pam/gdm-password]
root     16895  0.2  0.8 327420 16756 ?        Sl   11:28   0:30 gdm-session-worker [pam/gdm-password]
root     17540  0.0  0.4 324416  8996 ?        Sl   12:56   0:06 gdm-session-worker [pam/gdm-password]
root     18444  0.0  0.3 323684  6428 ?        Sl   13:32   0:02 gdm-session-worker [pam/gdm-password]
root     19044  0.0  0.4 324520  9168 ?        Sl   12:58   0:06 gdm-session-worker [pam/gdm-password]
root     21397  0.1  0.6 326068 13024 ?        Sl   12:06   0:18 gdm-session-worker [pam/gdm-password]
root     22855  0.1  0.6 326244 13148 ?        Sl   12:08   0:18 gdm-session-worker [pam/gdm-password]
root     23098  0.2  0.8 327036 15856 ?        Sl   11:34   0:28 gdm-session-worker [pam/gdm-password]
root     24362  0.0  0.0 112660   936 pts/0    R+   14:58   0:00 grep --color=auto gdm-session-worker
root     24585  0.2  0.9 327348 17920 ?        Sl   11:36   0:28 gdm-session-worker [pam/gdm-password]
root     25391  0.0  0.4 324140  8612 ?        Sl   13:04   0:05 gdm-session-worker [pam/gdm-password]
root     26606  0.1  0.5 325192 11076 ?        Sl   12:31   0:12 gdm-session-worker [pam/gdm-password]
root     26943  0.0  0.4 324192  8572 ?        Sl   13:06   0:05 gdm-session-worker [pam/gdm-password]
root     28069  0.1  0.5 325416 11148 ?        Sl   12:32   0:11 gdm-session-worker [pam/gdm-password]
root     29081  0.1  0.6 325764 12480 ?        Sl   12:15   0:16 gdm-session-worker [pam/gdm-password]
root     30584  0.1  0.6 326236 12396 ?        Sl   12:16   0:15 gdm-session-worker [pam/gdm-password]
root     30755  0.2  0.9 327148 17164 ?        Sl   11:42   0:25 gdm-session-worker [pam/gdm-password]
root     32256  0.2  0.7 327076 15000 ?        Sl   11:44   0:25 gdm-session-worker [pam/gdm-password]

any idea why is this happening?

test itself looks like this:

userdel -rf test
sleep 2

service gdm start
export DISPLAY=:0
sleep 5

behave tests/features -kt $1 -f plain -o /tmp/report_$TEST.log -f plain; rc=$?


systemctl stop gdm.service
sleep 3
for i in $(ps aux|grep gdm-session-worker |awk {'print $2'}); do kill -9 $i; done
rm -rf /run/gnome-initial-setup*
userdel -rf johnnie

useradd -m test
echo "redhat" |passwd --stdin test

Version-Release number of selected component (if applicable):
pam-1.1.8-12.el7.x86_64
gdm-3.14.2-4.el7.x86_64
gnome-shell-3.14.4-10.el7.x86_64

How reproducible:
always

Comment 2 Ray Strode [halfline] 2015-07-14 15:35:44 UTC
right

Comment 3 Ray Strode [halfline] 2015-07-15 17:09:11 UTC
should be all set now.  This needed a few fixes backported from the 3.16 and master branches

Comment 5 Vladimir Benes 2015-07-17 11:30:58 UTC
It looks far better, I've removed workarounds and tests are still running (100+ gdm restarts). Thanks!

Comment 7 errata-xmlrpc 2015-11-19 07:16:05 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-2216.html

Comment 8 Angelo Lisco 2017-12-16 16:10:05 UTC
Sorry for the noise but it seems that the issue isn't fixed at all or maybe there was a regression in the last vesion of gdm (gdm-3.26.2.1).
I know this bug report is about RHEL but I suppose that sooner or later gdm-2.26 will hit the RHEL repos.

The issue is always reproducible by locking the screen, slide the screen to fill your password in the text-box, press [ESC] to undo the filling of the password.

As you can see by grepping on the process list on my system, it's easy to create a local denial-of-service as a malicious user just by following the above sequence over and over again. Sooner or later i suppose a "too many open files" condition can be reached so that the user cannot login on the system.

$ ps -ef | grep [g]dm-session-worker
root      3278 16037  0 16:40 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root      3298 16037  0 16:40 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root      3316 16037  0 16:40 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root      3334 16037  0 16:40 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root      3367 16037  0 16:40 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root      3385 16037  0 16:40 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root      3406 16037  0 16:40 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root      3423 16037  0 16:40 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root      3489 16037  0 16:40 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     15672 15668  0 01:13 ?        00:00:00 gdm-session-worker [pam/gdm-launch-environment]
root     16037 15668  0 01:13 ?        00:00:01 gdm-session-worker [pam/gdm-fingerprint]
root     21990 16037  0 17:00 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     21991 16037  0 17:00 ?        00:00:00 gdm-session-worker [pam/gdm-fingerprint]
root     22011 16037  0 17:00 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     22029 16037  0 17:00 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     22048 16037  0 17:00 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     22068 16037  0 17:00 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     22089 16037  0 17:00 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     22108 16037  0 17:00 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     22126 16037  0 17:00 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     22143 16037  0 17:00 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     22162 16037  0 17:00 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     22186 16037  0 17:00 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     22204 16037  0 17:00 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     22222 16037  0 17:00 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     22239 16037  0 17:00 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     22262 16037  0 17:00 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     22917 15668  0 01:18 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     25673 16037  0 01:20 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     25692 16037  0 01:20 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     25712 16037  0 01:20 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     25735 16037  0 01:20 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     25755 16037  0 01:20 ?        00:00:00 gdm-session-worker [pam/gdm-password]
root     25784 16037  0 01:20 ?        00:00:00 gdm-session-worker [pam/gdm-password]


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