View previous topic :: View next topic |
Author |
Message |
PaulG n00b
Joined: 11 Jun 2003 Posts: 8
|
Posted: Sun Jan 11, 2004 2:24 pm Post subject: Kernel memory leak in opendir/readdir |
|
|
I have a problem on a machine that the kernel is gradually eating memory that is not freed from any user process or module and eventually causes the machine to crash.
I initially tracked it down to FAM (File Access Monitor), but it has turned out to be the calls that FAM is using, opendir, readdir and closedir.
Now (and here is the weird thing), it only happens on 1 of 5 pretty much identical (in terms of configuration) machines and only in certain directories. I am EXT3 based, and don't have any other filesystems types to try. I am including some code that demonstrates the problem.
WARNING: If you have the problem, then this progam will crash or cause you to have to reboot your machine. Do not run on critical machines or if you not prepared to have to reboot.
First the vital statistics:
Kernel: gentoo-sources-2.4.22-r3
Config: Code: | CONFIG_EXT3_FS=y
# CONFIG_EXT3_FS_XATTR is not set
# CONFIG_EXT3_FS_XATTR_SHARING is not set
# CONFIG_EXT3_FS_XATTR_USER is not set
# CONFIG_EXT3_FS_XATTR_TRUSTED is not set
# CONFIG_EXT3_FS_POSIX_ACL is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
|
Here is the code:
Code: |
#define _GNU_SOURCE
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <dirent.h>
#include <stdio.h>
// WARNING: May cause your machine to crash!
main()
{
for (;;)
{
DIR *dir = opendir(".");
if (dir == NULL)
{
perror("opendir");
continue;
}
readdir(dir);
closedir(dir);
}
}
|
For me, the problem occurs if I run this in a directory called /home/paul/notify, but not in /home/paul.
Available memory falls quickly, and cannot be recovered even by stopping the program. Change the loop to run a specific number of times to see the loss without killing the machine.
If anyone can work out what the common factor in all this is, I would be grateful.
Thanks. _________________ ---
Paul |
|
Back to top |
|
|
kallamej Administrator
Joined: 27 Jun 2003 Posts: 4981 Location: Gothenburg, Sweden
|
Posted: Sun Jan 11, 2004 7:18 pm Post subject: |
|
|
Could be related to this bug report. _________________ Please read our FAQ Forum, it answers many of your questions.
irc: #gentoo-forums on irc.libera.chat |
|
Back to top |
|
|
PaulG n00b
Joined: 11 Jun 2003 Posts: 8
|
Posted: Sun Jan 11, 2004 8:48 pm Post subject: |
|
|
Well spotted!
Yes, the patch for this fixes the problem.
The test code has now been running for 5 minutes, and free memory has remained constant!
Thanks! _________________ ---
Paul |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|