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)