Task #11306 (closed)
Opened 11 years ago
Closed 8 years ago
Investigate java.lang.OutOfMemory: PermGen space error
Reported by: | sbesson | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | Unscheduled |
Component: | Bio-Formats | Version: | 4.4.8 |
Keywords: | matlab | 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.
Change History (3)
comment:1 Changed 11 years ago by sbesson
- Description modified (diff)
comment:2 Changed 8 years ago by mlinkert
- Cc bramalingam added
- Keywords matlab added
- Owner mlinkert deleted
comment:3 Changed 8 years ago by sbesson
- Resolution set to worksforme
- Status changed from new to closed
https://ci.openmicroscopy.org/view/DEV/job/BIOFORMATS-DEV-merge-matlab/152/ was modified to remove the PermGenSpace? configuration and was successfully passing.
Likely worth checking that this is even still an issue, since a lot of things have changed in the Matlab stack over the last few years.