Task #11306 (new)
Opened 11 years ago
Last modified 8 years ago
Investigate java.lang.OutOfMemory: PermGen space error — at Version 1
Reported by: | sbesson | Owned by: | mlinkert |
---|---|---|---|
Priority: | minor | Milestone: | Unscheduled |
Component: | Bio-Formats | Version: | 4.4.8 |
Keywords: | n.a. | Cc: | sbesson, bramalingam |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | n.a. |
Description (last modified by sbesson)
See http://hudson.openmicroscopy.org.uk/view/Bio-Formats/job/BIOFORMATS-merge-matlab-stable job.
Since build 67, the Matlab TestBfopen?.testSizeC test has been failing with the following stack trace
Error using bfGetReader (line 79) Java exception occurred: java.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at com.mathworks.jmi.CustomURLClassLoader.findClass(ClassLoaderManager.java:760) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at loci.formats.services.OMEXMLServiceImpl.createOMEXMLMetadata(OMEXMLServiceImpl.java:327) at loci.formats.services.OMEXMLServiceImpl.createOMEXMLMetadata(OMEXMLServiceImpl.java:313) at loci.formats.services.OMEXMLServiceImpl.createOMEXMLMetadata(OMEXMLServiceImpl.java:307) at loci.formats.MetadataTools.createOMEXMLMetadata(MetadataTools.java:489) Error in bfopen (line 113) r = bfGetReader(id, stitchFiles); Error in TestBfopen/checkFake (line 60) self.data = bfopen(self.filepath); Error in TestBfopen/testSizeC (line 91) self.checkFake(['test&sizeC=' num2str(self.sizeC) '.fake']) Error in TestCase/run (line 74) f(self); Error in TestSuite/run (line 85) this_component_passed = self.TestComponents{k}.run(monitor); Error in TestSuite/run (line 85) this_component_passed = self.TestComponents{k}.run(monitor); Error in runtests (line 136) did_pass = suite.run(monitor);
Setting -XX:MaxPermSize=256M in a java.opts file is sufficient to make the builds pass again (builds 80, 82 and 83) but -XX:MaxPermSize=128M restores the failing behaviour.
Note this failure is only detected on the stable job.
We may want to identify wether this exception corresponds to a memory leak in the code.