Console + Designer = jboss OutOfMemoryError: GC overhead limit exceeded
tomarenz Aug 10, 2011 10:33 AMHi all, I would like to collect experience/comments on this issue, occurring at random but very often in my case.
I have just two simple processes in Guvnor, 8 nodes each. One is BPMN2-ExclusiveSplit and the other is very similar.
The defaultPackage has been successfully built.
I can either run the Console to list processes, or I can run the Designer to view process definitions, edit them and rebuild the package.
But as soon as I switch from an application to the other, soon I get a jboss error as reported in the subject.
From that point on there's no way to proceed until I stop/restart jboss. I tried to logout from both application and to reenter: no way.
I also tried to set -XX:-UseGCOverheadLimit, without any success. Things get blocked soon because of "java.lang.OutOfMemoryError: Java heap space".
As an example of a failing sequence:
- start the designer, select defaultPackage, list processes.
- open both processes.
- from the browser go to the rest url /gwt-console-server/rs/process/definitions, getting:
2011-08-10 16:23:34,285 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-3) INFO 10-08 16:23:34,285 (PackageDeploymentServlet.java:execute:144) | PackageIsSource: false |
2011-08-10 16:23:36,937 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-2) Loading process from Guvnor: boh
2011-08-10 16:23:36,937 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-2) Loading process from Guvnor: BPMN2-ExclusiveSplit
2011-08-10 16:23:42,412 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-2) Loading process from file system: Evaluation.bpmn
2011-08-10 16:23:55,750 WARN [org.jboss.detailed.classloader.ClassLoaderManager] (http-localhost%2F127.0.0.1-8080-2) Unexpected error during load of:org.drools.rule.builder.dialect.java.parser.JavaParser$DFA172
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.Arrays.copyOf(Arrays.java:2786) | |
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:94) | |
at org.jboss.classloader.plugins.ClassLoaderUtils.readBytes(ClassLoaderUtils.java:212) | |
at org.jboss.classloader.plugins.ClassLoaderUtils.loadByteCode(ClassLoaderUtils.java:148) | |
at org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:543) | |
at org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:532) | |
at java.security.AccessController.doPrivileged(Native Method) | |
at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:530) | |
at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:507) | |
at org.jboss.classloader.spi.base.BaseDelegateLoader.loadClass(BaseDelegateLoader.java:134) | |
at org.jboss.classloader.spi.filter.FilteredDelegateLoader.loadClass(FilteredDelegateLoader.java:131) | |
at org.jboss.classloader.spi.base.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:452) | |
at org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:251) | |
at org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:150) | |
at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:265) | |
at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1119) | |
at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:798) | |
at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:441) | |
at java.lang.ClassLoader.loadClass(ClassLoader.java:248) | |
at org.drools.rule.builder.dialect.java.parser.JavaParser.<init>(JavaParser.java:11723) | |
at org.drools.rule.builder.dialect.java.parser.JavaParser.<init>(JavaParser.java:219) | |
at org.drools.rule.builder.dialect.java.JavaExprAnalyzer.analyzeBlock(JavaExprAnalyzer.java:90) | |
at org.drools.rule.builder.dialect.java.JavaDialect.analyzeBlock(JavaDialect.java:258) | |
at org.jbpm.process.builder.dialect.java.JavaActionBuilder.build(JavaActionBuilder.java:56) | |
at org.jbpm.process.builder.ExtendedNodeBuilder.buildAction(ExtendedNodeBuilder.java:40) | |
at org.jbpm.process.builder.ExtendedNodeBuilder.build(ExtendedNodeBuilder.java:29) | |
at org.jbpm.process.builder.EventBasedNodeBuilder.build(EventBasedNodeBuilder.java:19) | |
at org.jbpm.process.builder.WorkItemNodeBuilder.build(WorkItemNodeBuilder.java:18) | |
at org.jbpm.compiler.ProcessBuilderImpl.processNodes(ProcessBuilderImpl.java:215) | |
at org.jbpm.compiler.ProcessBuilderImpl.buildNodes(ProcessBuilderImpl.java:201) | |
at org.jbpm.compiler.ProcessBuilderImpl.buildProcess(ProcessBuilderImpl.java:165) | |
at org.jbpm.compiler.ProcessBuilderImpl.addProcessFromXml(ProcessBuilderImpl.java:254) |
...
Comments are welcome.