kern/97326: [linux] file descriptor leakage in linux emulation
Bakul Shah
bakul at bitblocks.com
Fri Jun 1 01:50:07 UTC 2007
The following reply was made to PR kern/97326; it has been noted by GNATS.
From: Bakul Shah <bakul at bitblocks.com>
To: Gavin Atkinson <gavin.atkinson at ury.york.ac.uk>
Cc: bug-followup at FreeBSD.org
Subject: Re: kern/97326: [linux] file descriptor leakage in linux emulation
Date: Thu, 31 May 2007 18:23:55 -0700
>
> The original behaviour was believed to have been fixed in
> src/sys/compat/linux/linux_stats.c version 1.83
> http://lists.freebsd.org/pipermail/freebsd-emulation/2006-May/002122.html
> http://lists.freebsd.org/pipermail/freebsd-emulation/2006-May/002127.html
>
> After the request for feedback (after the above messages), the following
> response was sent but seemingly never made it to PR trail
> http://lists.freebsd.org/pipermail/freebsd-bugs/2006-September/020014.html
>
> "I do not see the original behavoir but I do see a slow leak
> in skype. Every time a call is made (for example to the
> skype testing service) it leaks 10 to 15 descriptors to
> /dev/mixer0 + some more. About 75% opens are to /dev/mixer0.
> Still think this is an emulation problem not skype's.
>
> firefox etc. also seem to keep far too many files open. For
> example firefox has 500+ open descriptors) with 4 tabbed
> windows open. But in my limited testing can't tell if there
> is a leak.
>
> I am running linux_base-fc-4_7 on a one month old
> freebsd-current."
Sorry, somehow I missed your email originally and found it
today by chance.
I tested it with skype and there is still a leak of 10
descriptors each time the skype testing service is called.
All of the additional open file descriptors are opens to
/dev/mixer0. Now I am running linux_base-fc-4_9. I suspect
the bug is in the emulation layer.
To test you will need a skype account. Then fire it up, call
skype testing service and the the whole transaction finish.
Wait for another 3 minutes or so as some descriptors take a
while to close. Then do
lsof |grep skype > file1
now call it again. Wait for another 3 minutes or so and do
lsof |grep skype > file2
file2 will have 10 more lines than file1. If you grep for
mixer0, you will see 10 more lines in file2 than in file1.
More information about the freebsd-bugs
mailing list