This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | "FileNotFoundException: .../work/xmlresults/suites/TEST-... (Too many open files)" from XMLReporter.recreateOutput | ||
---|---|---|---|
Product: | platform | Reporter: | Jesse Glick <jglick> |
Component: | -- Other -- | Assignee: | Jaroslav Tulach <jtulach> |
Status: | RESOLVED WORKSFORME | ||
Severity: | blocker | CC: | jpokorsky, jskrivanek, jtulach, rmatous |
Priority: | P3 | Keywords: | TEST |
Version: | 4.x | ||
Hardware: | PC | ||
OS: | Linux | ||
Issue Type: | DEFECT | Exception Reporter: | |
Attachments: | Sample output log |
Description
Jesse Glick
2005-01-14 21:38:58 UTC
Created attachment 19706 [details]
Sample output log
None of the other logs (e.g. ide_qa-functional.log) show such a problem. Perhaps it is ValidateLayerConsistencyTest which exhausts all available file descriptors, since that is the first test to fail? It is a leak in ValidateLayerConsistencyTest.testIfOneFileIsDefinedTwiceByDifferentModulesTheyNeedToHaveMutualDependency; can prevent bug symptoms by replacing FileSystem fs = new XMLFileSystem(layerURL); with FileSystem fs = new XMLFileSystem(); Bug in XMLFileSystem perhaps? Using some logging and strace, seems that it gets almost halfway through the list of modules to check and then starts getting "Too many open files" when opening module JARs (this is before it even tries to print output). Note that I looked at a module JAR which it had loaded *before* the first module JAR to fail when opened with EMFILE, and found that its file descriptor was in fact not being closed. This lends support to my suspicion that there is a file handle leak in XMLFileSystem, though I cannot find it. Calling URLConnection.setDefaultUseCaches(false) does not appear to help. Note that you could fix the test by getting rid of XMLFileSystem and just directly parsing the layers - all you need to look for are <folder> and <file> and the 'name' attribute. Would probably run faster too. *** Issue 53714 has been marked as a duplicate of this issue. *** [ant 1.6.2, jdk 1.4.2_06-b03, WinXP sp1] I can also reproduce this pretty often. Worse, it ends up with a swing dialog that I have to close. Test Bag: Before Commit Validation in IDE # Some suites did not finish correctly: * org.netbeans.core.projects.ValidateLayerConsistencyTest * org.netbeans.core.ValidateLayerAutomountTest Log file is attached to issue #53714 I know that when one do: URL u = ..; InputStream i1 = u.openStream(); InputStream i2 = u.openStream(); then it is true that i1 == i2. So I tried to use this in the test and I hope it helps. Let me know if not. if no further comment provided, i'll close. |