| Summary: | To many open files | ||
|---|---|---|---|
| Product: | [Tools] PTP | Reporter: | Nathan Tucker <nathan.p.tucker> |
| Component: | Photran.Managed Make | Assignee: | Jeffrey Overbey <com-eclipse-dot-org> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | P3 | CC: | com-eclipse-dot-org, nathan.p.tucker |
| Version: | 4.0.3 | ||
| Target Milestone: | 7.0 | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | |||
Thanks for the bug report. It looks like the managed make dependency calculator was failing to close files after reading them. The fix will be in Photran 7.0/Indigo (to be released in June); unfortunately, I'm too late to get it into Helios SR2. ===== Fix in org.eclipse.photran.managedbuilder.core.makegen.DefaultFortranDependencyCalculator rev 1.7 |
Build Identifier: Eclipse IDE for C/C++ Developers, Version: Helios Service Release 1, Build id: 20100917-0705, with PTP 4.0.3 I have created a new Fortran static library project then imported a Fortran code that contains about 250 files. I have determined that during the Make process, not the actual compile step, I get an error of "Too many open files". I have determined the number of opened files by "while true; do lsof | grep java | wc -l; done". From more experienced personnel who use Eclipse, this error does not occur with a C/C++ project of even larger size. Error Window ------------ Problems occurred building the selected resources. Errors running builder 'CDT Builder' on project 'X'. Could not write file: /home/.../workspace/X/Debug/makefile. /home/.../workspace/X/Debug/makefile (Too many open files) Terminal Window --------------- !ENTRY org.eclipse.core.filesystem 4 271 2011-01-19 08:34:10.867 !MESSAGE Could not read file: /home/.../workspace/X/Debug/src/subdir.mk. !STACK 0 java.io.FileNotFoundException: /home/.../workspace/X/Debug/src/subdir.mk (Too many open files) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(Unknown Source) at org.eclipse.core.internal.filesystem.local.LocalFile.openInputStream(LocalFile.java:362) at org.eclipse.core.filesystem.provider.FileStore.copyFile(FileStore.java:217) at org.eclipse.core.filesystem.provider.FileStore.copy(FileStore.java:140) at org.eclipse.core.internal.filesystem.local.LocalFile.copy(LocalFile.java:111) at org.eclipse.core.internal.localstore.BlobStore.addBlob(BlobStore.java:57) at org.eclipse.core.internal.localstore.HistoryStore2.addState(HistoryStore2.java:92) at org.eclipse.core.internal.localstore.FileSystemResourceManager.write(FileSystemResourceManager.java:996) at org.eclipse.core.internal.resources.File.internalSetContents(File.java:325) at org.eclipse.core.internal.resources.File.setContents(File.java:364) at org.eclipse.core.internal.resources.File.setContents(File.java:468) at org.eclipse.cdt.internal.core.model.Util.save(Util.java:154) at org.eclipse.cdt.managedbuilder.makegen.gnu.GnuMakefileGenerator.populateFragmentMakefile(GnuMakefileGenerator.java:980) at org.eclipse.cdt.managedbuilder.makegen.gnu.GnuMakefileGenerator.regenerateMakefiles(GnuMakefileGenerator.java:894) at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.performMakefileGeneration(CommonBuilder.java:1455) at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.performPrebuildGeneration(CommonBuilder.java:1322) at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:787) at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:552) at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:498) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) Reproducible: Always Steps to Reproduce: 1. Select -> Project -> Build Project 2. 3.