Boot failes with "fsck.ext3: Too many open files"

After upgrading from opensuse 11.1 to 11.2 I get the following error messages while booting the system caused by the initial
filesystem check routines:

ERROR: Couldn’t open /dev/null (Too many open files)
ext2fs_check_if_mount: Too many open files while determining whether … is mounted.
fsck.ext3: Too many open files while trying to open …

I found a new version of the e2fsprogs at the OBS package claiming to fix this problem. But installing this new version did
not solve my problem.

Here some information about the affected system:
Operating System: openSUSE 11.2 (i586)
Installed e2fsprogs: e2fsprogs-1.41.11-4.1.i586
Number of LVs: 35 (all ext3)

I can only boot if I comment out some of the filesystems in my /etc/fstab. It seems that the number of filesystems must
be less or equal 32.

Any help to get rid off this error is really appreciated.

Thanks in advance.


Possible corrupt initrd? Here is an article to check out on fixing corrupt initrd.

I’m not positive that is the problem just what came to mind. Wait to see what others have to say on the subject.

Thank you for the quick reply. I checked the mentioned article. But I don’t think that my initrd is corrupt because just commenting out lines in my /etc/fstab to reduce the number of filesystems seen by the operating system at boot time let the error messages vanish and the system comes up. In the changelog of the e2fsprogs package I found remarks about fd leaks which cause fsck to fail with too many open files. This behaviour should be fixed with version 1.41.11. But unfortunately, this fix does not work for me.

Well I feel like I’m a bit outta my league on this but I’ll do my best to brainstorm maybe something will make sense :slight_smile:

Is this on a virtual machine?

Could the fact that you are on a 32-bit machine have anything to do with it?

I also looked into the e2sfprogs update and you’re right it should resolve this problem perhaps message the developers over at sourceforge…

Oh and is this only for openSUSE 11.2 or do you get the same result using a previous version?

Sorry I can’t be more help best of luck in getting it resolved when you do post back the fix I’ve become intrigued:P

Exactly how many file systems do you have??

A look at the output of fdisk -l might help.

Many thanks for the various inputs concerning my issue. I’ll try to answer your questions about my configuration:

> Is this on a virtual machine?
No. It is a physical machine.

> Could the fact that you are on a 32-bit machine have anything to do with it?
Maybe. But the total number of filesystems is far below a number where this should be an issue.

>Oh and is this only for openSUSE 11.2 or do you get the same result using a previous version?
As far as I recall I had a similar problem with opensuse 11.1, which was solved by an update of e2fsprogs. At the moment, I have the
following situation on the machine:
opensuse 11.1 (using e2fsprogs 1.41.11): boots without any problem
opensuse 11.2 (using e2fsprogs 1.41.11): boot fails with the message “too many open files”

>A look at the output of fdisk -l might help.
Unfortunately, it is not that simple. The machine contains four physical harddisks. Harddisk 1 and 2 have four physical partitions, harddisk 3 and
4 only one:

Part 1 Boot Environment (Grub)
Part 2 opensuse 11.2
Part 3 swap
Part 4 LVM

Part 1 Boot Environment (Grub) Backup
Part 2 opensuse 11.1
Part 3 swap
Part 4 LVM

Part 1 LVM

Part 1 LVM

The failing operating system sees Partition 2 of HD1 (opensuse 11.2 installation), both of the swap partitions and
in total 35 Logical Volumes residing on the four LVM partitions (I do not have the concrete distribution at hand).
If I comment out three of the 35 logical volumes the system comes up without any complains.

Hmm maybe this might help

Logical Volume Manager (LVM) Commands for AIX

Maybe the number of lp’s limit needs upped

I do not believe that it is a LVM issue. My opensuse 11.1 boots without any problems using lvm2-2.02.39-8.8.i586. The version installed with opensuse 11.2 causing my trouble is lvm2-2.02.45-11.1.i586. I checked the changelog of lvm2 and did not find any hints that the newer version is more restrictive concerning the number of logical volumes. The workaround to boot the system is to reduce the number of filesystems in the /etc/fstab. This does not affect the concrete number of logical volumes defined in my volume groups. A lvscan still shows all of my volumes. I also can mount them directly without any problem. I think, I will compare the boot.localfs scripts of 11.1 and 11.2 to check, if there are any differences which might cause the errors during the initial filesystem checks at boot time.