← Back to team overview

touch-packages team mailing list archive

[Bug 1190344] Re: lightdm is leaking FDs -fix

 

** Description changed:

- Description of problem:
- Each time the greeter starts the number of open FDs increase. After each login and logout cycle the number of open FDs is increased. Which over time leads to impossible logins and the message in /var/log/messages is:
+ [Impact]
+ LightDM doesn't close the server side end of the pipes used to communicate with session processes. This means each session that is created leaks two file descriptors eventually leading to the system stopping it from creating new pipes.
  
- Jun 12 02:44:24 node3 lightdm[17471]: ** (lightdm:17471): WARNING **: Failed to create pipe to communicate with session process: To...en files
- Jun 12 02:45:29 node3 lightdm[17471]: ** (lightdm:17471): WARNING **: Failed to create pipes: Too many open files
- Jun 12 02:47:47 node3 lightdm[17471]: ** (lightdm:17471): WARNING **: Failed to create pipes: Too many open files
+ [Test Case]
+ 1. Start LightDM
+ 2. Check how many pipes are open
+ # lsof -p {lightdm_pid} | grep FIFO | wc -l
+ 3. Create sessions by either cycling between users in Unity Greeter or logging in and out
+ 4. Check how many pipes exist using step 2.
+ Expected result:
+ No more pipes should be open
+ Observed result:
+ Many pipes remain open
  
- 
- Tested on:
- Fedora 19 and Ubuntu 13.04 - lightdm 1.6.0
- 
- Steps to Reproduce:
- 
- 1. login on a console and find the pid of main lightdm process then:
- # lsof -p {lightdm_pid} |grep FIFO |wc -l
- 26
- 
- 2. switch to X console and login through lightdm and then logout
- 
- 3. go back on comsole
- # lsof -p {lightdm_pid} |grep FIFO |wc -l
- 32
- 
- Here is a patch that fixes the issue. It may have several lines offset
- because we use modified lightdm but it is good for the original version
- too.
- 
- regards,
- Rumen
+ [Regression Potential]
+ Low. Fix is to close pipes when finished with them. Tested with regression tests.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to lightdm in Ubuntu.
https://bugs.launchpad.net/bugs/1190344

Title:
  lightdm is leaking FDs -fix

Status in Light Display Manager:
  Fix Released
Status in Light Display Manager 1.10 series:
  Fix Released
Status in Light Display Manager 1.12 series:
  Fix Released
Status in Light Display Manager 1.2 series:
  Fix Released
Status in “lightdm” package in Ubuntu:
  Fix Released
Status in “lightdm” source package in Precise:
  Triaged
Status in “lightdm” source package in Trusty:
  Triaged
Status in “lightdm” source package in Utopic:
  Triaged
Status in “lightdm” source package in Vivid:
  Fix Released
Status in Fedora:
  Unknown

Bug description:
  [Impact]
  LightDM doesn't close the server side end of the pipes used to communicate with session processes. This means each session that is created leaks two file descriptors eventually leading to the system stopping it from creating new pipes.

  [Test Case]
  1. Start LightDM
  2. Check how many pipes are open
  # lsof -p {lightdm_pid} | grep FIFO | wc -l
  3. Create sessions by either cycling between users in Unity Greeter or logging in and out
  4. Check how many pipes exist using step 2.
  Expected result:
  No more pipes should be open
  Observed result:
  Many pipes remain open

  [Regression Potential]
  Low. Fix is to close pipes when finished with them. Tested with regression tests.

To manage notifications about this bug go to:
https://bugs.launchpad.net/lightdm/+bug/1190344/+subscriptions