Lijun Liao created KARAF-6975:
---------------------------------
Summary: "java.lang.OutOfMemoryError: GC overhead limit exceeded"
thrown while executing 1000s commands via shell:source
Key: KARAF-6975
URL: https://issues.apache.org/jira/browse/KARAF-6975
Project: Karaf
Issue Type: Bug
Components: karaf
Affects Versions: 4.2.10, 4.2.9
Environment: I tested with apache-karafa-4.2.10 and 4.2.19 in ubuntu
18 and JDK 8.
Reporter: Lijun Liao
Copy the following test script to a file, called test.script
{{i = 0}}
{{list1 = [1 2 3 4 5 6 7 8 9 10]; each ($list1) {}}
{{ list2 = [1 2 3 4 5 6 7 8 9 10]; each ($list2) {}}
{{ list3 = [1 2 3 4 5 6 7 8 9 10]; each ($list3) {}}
{{ list4 = [1 2 3 4 5 6 7 8 9 10]; each ($list4) {}}
{{ list5 = [1 2 3 4 5 6 7 8 9 10]; each ($list5) {}}
{{ date > date.txt}}
{{ echo round %(i+=1)}}
{{ }}}
{{ }}}
{{ }}}
{{ }}}
{{}}}
Steps to reproduce the exception:
# Start karaf with bin/karaf
# Execute shell:source /path/to/test-ome.script
Error shown in the karaf console:
{quote}round 2326
Exception in thread "pool-5-thread-52" java.lang.OutOfMemoryError: GC overhead
limit exceeded
Error executing command: java.lang.reflect.InvocationTargetException
{quote}
Error in the data/logs/karaf.log
{quote}2020-12-19T20:46:55,963 | INFO | pipe-source test.script | SourceAction
| 35 - org.apache.karaf.
shell.commands - 4.2.10 | Printing file:
/home/lliao/Downloads/apache-karaf-4.2.10/test.script
2020-12-19T20:47:01,684 | ERROR | Karaf local console user karaf | ShellUtil |
36 - org.apache
.karaf.shell.core - 4.2.10 | Exception caught while executing command
java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_272]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:1.8.0_272]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_272]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_272]
at org.apache.felix.gogo.runtime.Reflective.invoke(Reflective.java:143)
~[?:?]
at
org.apache.karaf.shell.impl.console.SessionFactoryImpl$ShellCommand.lambda$wrap$0(SessionFactoryImpl.java:218)
~[?:?]
at
org.apache.karaf.shell.impl.console.SessionFactoryImpl$ShellCommand.execute(SessionFactoryImpl.java:264)
~[?:?]
at
org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:68)
~[?:?]
at
org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:86)
~[?:?]
at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:599) ~[?:?]
at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:526)
~[?:?]
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:415) ~[?:?]
at org.apache.felix.gogo.runtime.Pipe.doCall(Pipe.java:416) ~[?:?]
at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:229) ~[?:?]
at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:59) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_272]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
~[?:1.8.0_272]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
~[?:1.8.0_272]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_272]
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
{quote}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)