-
Task
-
Resolution: Done
-
Minor
-
7.56.0.Final
-
None
-
2021 Week 25-27 (from Jun 21)
-
1
-
Undefined
-
NEW
-
NEW
CompositeAgendaTest.testCreateHaltDisposeAgenda occasionally hits OutOfMemoryError in CI (where CPU is not plentiful).
Stack Trace: java.lang.OutOfMemoryError: GC overhead limit exceeded at java.util.HashMap.newNode(HashMap.java:1750) at java.util.HashMap.putVal(HashMap.java:631) at java.util.HashMap.put(HashMap.java:612) at java.util.HashSet.add(HashSet.java:220) at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:1134) at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:1062) at sun.misc.URLClassPath.getResource(URLClassPath.java:249) at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.drools.core.common.CompositeDefaultAgenda.halt(CompositeDefaultAgenda.java:231) at org.drools.core.impl.StatefulKnowledgeSessionImpl.halt(StatefulKnowledgeSessionImpl.java:1314) at org.drools.compiler.integrationtests.CompositeAgendaTest.testCreateHaltDisposeAgenda(CompositeAgendaTest.java:115) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.lang.Thread.run(Thread.java:748)
This test intensely inserts events and may lead to large heap consumption (and maybe GC issue occurs while ksession.halt() is slow).
I think this test fits with turtle test.