Bug ID | 1199941 |
---|---|
Summary | kmozillahelper uses up all X clients given enough logout/login cycles |
Classification | openSUSE |
Product | openSUSE Distribution |
Version | Leap 15.4 |
Hardware | Other |
OS | Other |
Status | NEW |
Severity | Normal |
Priority | P5 - None |
Component | Firefox |
Assignee | factory-mozilla@lists.opensuse.org |
Reporter | marix@marix.org |
QA Contact | qa-bugs@suse.de |
Found By | --- |
Blocker | --- |
A couple days ago I ran into the issue of applications no longer starting reliably on my openSUSE Leap 15.4 system. Launching applications like "glxinfo" or "xlsclients" would fail with the error message `Maximum number of clients reached: unable to open display ":0"`. In searching for the error message I came across https://unix.stackexchange.com/questions/250920/debugging-maximum-number-of-clients-reached-unable-to-open-display-0. Using the method described there to get the application using up the most x client connections, I found that kmozillahelper was using up more than 170 of them. Closing Firefox and one `killall kmozillahelper` later I could reliably start applications again. While my immediate problem is gone, it seems that there seems to be a leak of kmozillahelper process instances when restoring a KDE session after having logged out with an open Firefox. I.e., on third login after the killall, a `ps aux | grep kmozillahelper` will produce the following: marix 5109 0.0 0.1 413872 44192 ? Sl 11:10 0:00 /usr/lib/mozilla/kmozillahelper -session 10ca646469000165348143300000027740024_1653489712_189016 marix 5144 0.0 0.1 413872 44184 ? Sl 11:10 0:00 /usr/lib/mozilla/kmozillahelper -session 10ca646469000165348930800000285810021_1653489712_189016 marix 6070 0.2 0.1 416140 46532 ? Sl 11:10 0:00 /usr/lib/mozilla/kmozillahelper Stopping Firefox will kill the process that does not have a -session argument. However, if I logout without closing Firefox first, the next login will show four kmozillahelper processes of which three have a with -session. The two already existing in the current session, and a third one with a new sessionid. As the session-id-less process instance is properly cleaned up if Firefox is closed during a session, the problem can be worked around by closing Firefox before logging out. However, this kind of contradicts the point of having resumable sessions.