Bug 113154 - filedescriptor leak
Summary: filedescriptor leak
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: gdm   
(Show other bugs)
Version: 1
Hardware: i686 Linux
medium
medium
Target Milestone: ---
Assignee: Havoc Pennington
QA Contact: Mike McLean
URL:
Whiteboard:
Keywords: EasyFix, Patch
: 114551 (view as bug list)
Depends On: 114986
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-01-08 22:56 UTC by Kasper Dupont
Modified: 2007-11-30 22:10 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-02-04 05:36:58 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
display declared dead too early (506 bytes, patch)
2004-02-03 00:24 UTC, Bart Martens
no flags Details | Diff
gdm-2.4.4.5-xdmcp_sessions.patch (1.72 KB, patch)
2004-02-04 05:35 UTC, Warren Togami
no flags Details | Diff

Description Kasper Dupont 2004-01-08 22:56:15 UTC
Description of problem:
File descriptors leaked on each login

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

How reproducible:
Happens always

Steps to Reproduce:
1. Log in and out multiple times
  
Actual results:
The number of file descriptors opened by gdm-binary increases

Expected results:
The number of file descriptors is the same each time the login dialog
is displayed.

Additional info:
Here follow listnings of the /proc/%d/fd directory after 0, 1, and 3
logins:
total 9
lr-x------    1 root     root           64 Jan  8 23:37 0 -> /dev/null
lrwx------    1 root     root           64 Jan  8 23:37 1 -> /dev/null
lrwx------    1 root     root           64 Jan  8 23:37 2 -> /dev/null
lrwx------    1 root     root           64 Jan  8 23:37 3 -> socket:[6117]
l-wx------    1 root     root           64 Jan  8 23:37 5 -> pipe:[6102]
l-wx------    1 root     root           64 Jan  8 23:37 6 -> /dev/console
lr-x------    1 root     root           64 Jan  8 23:37 7 -> pipe:[6105]
l-wx------    1 root     root           64 Jan  8 23:37 8 -> pipe:[6144]
lr-x------    1 root     root           64 Jan  8 23:37 9 -> pipe:[6145]

total 12
lr-x------    1 root     root           64 Jan  8 23:38 0 -> /dev/null
lrwx------    1 root     root           64 Jan  8 23:38 1 -> /dev/null
l-wx------    1 root     root           64 Jan  8 23:38 10 -> pipe:[7167]
l-wx------    1 root     root           64 Jan  8 23:38 11 -> pipe:[7272]
lr-x------    1 root     root           64 Jan  8 23:38 12 -> pipe:[7273]
lrwx------    1 root     root           64 Jan  8 23:38 2 -> /dev/null
lrwx------    1 root     root           64 Jan  8 23:38 3 -> socket:[6117]
lr-x------    1 root     root           64 Jan  8 23:38 4 -> pipe:[7167]
l-wx------    1 root     root           64 Jan  8 23:38 5 -> pipe:[6102]
l-wx------    1 root     root           64 Jan  8 23:38 6 -> /dev/console
lr-x------    1 root     root           64 Jan  8 23:38 7 -> pipe:[6105]
lrwx------    1 root     root           64 Jan  8 23:38 8 -> socket:[7248]

lr-x------    1 root     root           64 Jan  8 23:39 0 -> /dev/null
lrwx------    1 root     root           64 Jan  8 23:39 1 -> /dev/null
l-wx------    1 root     root           64 Jan  8 23:39 10 -> pipe:[7167]
lrwx------    1 root     root           64 Jan  8 23:39 11 ->
socket:[7619]
l-wx------    1 root     root           64 Jan  8 23:39 13 -> pipe:[7643]
lr-x------    1 root     root           64 Jan  8 23:39 14 -> pipe:[7644]
lrwx------    1 root     root           64 Jan  8 23:39 2 -> /dev/null
lrwx------    1 root     root           64 Jan  8 23:39 3 -> socket:[6117]
lr-x------    1 root     root           64 Jan  8 23:39 4 -> pipe:[7167]
l-wx------    1 root     root           64 Jan  8 23:39 5 -> pipe:[6102]
l-wx------    1 root     root           64 Jan  8 23:39 6 -> /dev/console
lr-x------    1 root     root           64 Jan  8 23:39 7 -> pipe:[6105]
lrwx------    1 root     root           64 Jan  8 23:39 8 -> socket:[7248]
lrwx------    1 root     root           64 Jan  8 23:39 9 -> socket:[7489]

Comment 1 Bart Martens 2004-02-03 00:24:25 UTC
Created attachment 97423 [details]
display declared dead too early

Comment 2 Jef Spaleta 2004-02-03 00:46:01 UTC
*** Bug 114551 has been marked as a duplicate of this bug. ***

Comment 3 Jef Spaleta 2004-02-03 00:47:58 UTC
FYI, this is known upstream
http://bugzilla.gnome.org/show_bug.cgi?id=126465
But this patch can be applied now as a fix
leaving it open for the developer to decide on resolution
marking easyfix and patch

Comment 4 Warren Togami 2004-02-03 09:12:41 UTC
Bug #110315 was the same problem, now patched in rawhide gdm-2.4.4.5-8
with the recount method used in gdm-2.5.90.0.  In my testing here it
seems to prevent the file descriptor leak as well as the broken
Maximum XDMCP session counter problem.

Should I remove the recount and add Bart's patch instead?  Bart's
solution is much cleaner if it solves both the file descriptor leak
and xdmcp_sessions counter problems.

Whatever Bart and George Lebl agree on, I will apply to FC2 rawhide
and FC1 updates.

Comment 5 Warren Togami 2004-02-03 19:13:14 UTC
Eric Harrison's testing indicates that Bart's patch fixes the file
descriptor but not xdmcp_session counting problem, while George Lebl's
recounting method from gdm-2.5.90.0 seems to avoid both problems in
gdm-2.4.4.5.  Would it be proper to apply both patches in gdm-2.4.4.5?


Comment 6 Warren Togami 2004-02-04 05:35:19 UTC
Created attachment 97457 [details]
gdm-2.4.4.5-xdmcp_sessions.patch

Upon further examination and comparison with gdm-2.4.4.7 and upstream CVS,
Bart's patch would not be proper after George's change nor is it upstream. 
This is the updated patch that will go into gdm-2.4.4.5-9 rawhide to match this
checkin:
http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&root=/cvs/gnome&subdir=gdm2/daemon&command=DIFF_FRAMESET&file=display.c&rev2=1.58.2.1&rev1=1.58

Comment 7 Warren Togami 2004-02-04 05:36:58 UTC
Closing... re-open if you really disagree with this change.



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