[rules-users] Jboss Drools 4.0.7 OutOfMemory issue , code cache reaching it's maximum size

subrahmanyam venkata.adapa at genpact.com
Fri Oct 9 02:08:42 EDT 2009


After integrating our application with Drools 4.0.7 tomcat running 3,4 days
well with 75 users, suddenly we are facing InvocationTargetException caused
by OutOfMemoryError for 3,4 users some times. The JAVA_OPTS options are well
configured as observed no heap error issue. Heap utilization is only 60% but
Foud that CodeCache is reaching maximum always. But codecache is non heap.
Currently everyday out of production time we are restarting server to avoid
sudden exception in production. The following is the exception we received
as suggestion of finding the root cause.

In exception logs there is no permgen space erorr or heap error. Observed by
probe after 2/3days codecache is becoming full only results in OutOfMemory
as given below. For workaround we increased codecache size to 200 MB. As per
the http://www.nabble.com/OutOfMemory-Error---3500-Rules-td17019001.html
this type of issue is fixed. But in 4.0.7 itself we are facing this issue.
Any suggestions?



java.lang.reflect.InvocationTargetException
 at sun.reflect.GeneratedMethodAccessor2049.invoke(Unknown Source)  at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at
org.orbeon.oxf.processor.SimpleProcessor$1.readImpl(SimpleProcessor.java:70)
 at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
 at
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
 at org.orbeon.oxf.processor.JavaProcessor$1.readImpl(JavaProcessor.java:66)
 at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
 at
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
 at
org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
 at
org.orbeon.oxf.processor.pipeline.AggregatorProcessor.access$100(AggregatorProcessor.java:38)
 at
org.orbeon.oxf.processor.pipeline.AggregatorProcessor$1.readImpl(AggregatorProcessor.java:93)
 at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
.................................
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
 at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
 at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
 at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754)
 at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684)
 at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:876)
 at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
 at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.OutOfMemoryError
 at java.lang.Class.getDeclaredMethods0(Native Method)  at
java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
 at java.lang.Class.getDeclaredMethods(Class.java:1791)
 at
org.codehaus.janino.ReflectionIClass.getDeclaredIMethods2(ReflectionIClass.java)
 at org.codehaus.janino.IClass.getDeclaredIMethods(IClass.java)
 at org.codehaus.janino.IClass.getDeclaredIMethods(IClass.java)
 at org.codehaus.janino.UnitCompiler.getIMethods(UnitCompiler.java)
 at org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java) at
org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java)
 at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java)
 at org.codehaus.janino.UnitCompiler.access$51(UnitCompiler.java)
 at
org.codehaus.janino.UnitCompiler$9.visitMethodInvocation(UnitCompiler.java)
 at org.codehaus.janino.Java$MethodInvocation.accept(Java.java)
 at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java)
 at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java)
 at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)
 at org.codehaus.janino.UnitCompiler.access$25(UnitCompiler.java)
 at
org.codehaus.janino.UnitCompiler$6.visitMethodInvocation(UnitCompiler.java)
 at org.codehaus.janino.Java$MethodInvocation.accept(Java.java)
 at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)
 at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)
 at org.codehaus.janino.UnitCompiler.access$8(UnitCompiler.java)
 at
org.codehaus.janino.UnitCompiler$4.visitExpressionStatement(UnitCompiler.java)
 at org.codehaus.janino.Java$ExpressionStatement.accept(Java.java)
 at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)
 at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)
 at org.codehaus.janino.UnitCompiler.access$7(UnitCompiler.java)
 at org.codehaus.janino.UnitCompiler$4.visitBlock(UnitCompiler.java)
 at org.codehaus.janino.Java$Block.accept(Java.java)
 at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)
 at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)
 at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)
 at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)
 at
org.codehaus.janino.UnitCompiler$3.visitPackageMemberClassDeclaration(UnitCompiler.java)
 at org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java)
 at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)
 at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java)
 at org.codehaus.janino.Compiler.compile(Compiler.java)
 at
org.drools.commons.jci.compilers.JaninoJavaCompiler.compile(JaninoJavaCompiler.java:174)
 at
org.drools.commons.jci.compilers.AbstractJavaCompiler.compile(AbstractJavaCompiler.java:51)
 at
org.drools.rule.builder.dialect.java.JavaDialect.compileAll(JavaDialect.java:342)
 at org.drools.compiler.DialectRegistry.compileAll(DialectRegistry.java:60)
 at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:308)
 at
org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:208)
........
at
com.expeditor.utilities.WorkflowUtility.readRule(WorkflowUtility.java:124)
 at
com.expeditor.workallocation.ExpeditorActionHandler.execute(ExpeditorActionHandler.java:48)
 at org.jbpm.graph.def.Action.execute(Action.java:122)
 at sun.reflect.GeneratedMethodAccessor722.invoke(Unknown Source)  at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
 at
org.jbpm.graph.def.Action$$EnhancerByCGLIB$$4193ea21.execute(<generated>)
 at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:255)
 at org.jbpm.graph.def.Node.execute(Node.java:338)
 at org.jbpm.graph.def.Node.enter(Node.java:318)
 at sun.reflect.GeneratedMethodAccessor679.invoke(Unknown Source)  at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
 at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$c5b9aeed.enter(<generated>)
 at org.jbpm.graph.def.Transition.take(Transition.java:151)
 at org.jbpm.graph.def.Node.leave(Node.java:393)
 at org.jbpm.graph.node.TaskNode.leave(TaskNode.java:209)
 at sun.reflect.GeneratedMethodAccessor733.invoke(Unknown Source)  at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
 at
org.jbpm.graph.node.TaskNode$$EnhancerByCGLIB$$ffffa537.leave(<generated>)
 at org.jbpm.graph.exe.Token.signal(Token.java:194)
 at org.jbpm.graph.exe.Token.signal(Token.java:165)
 at sun.reflect.GeneratedMethodAccessor732.invoke(Unknown Source)  at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
 at org.jbpm.graph.exe.Token$$EnhancerByCGLIB$$72485581.signal(<generated>)

-- 
View this message in context: http://www.nabble.com/Jboss-Drools-4.0.7-OutOfMemory-issue-%2C-code-cache-reaching%09it%27s-maximum-size-tp25815941p25815941.html
Sent from the drools - user mailing list archive at Nabble.com.




More information about the rules-users mailing list