michael elbaz created CAMEL-14996:
-------------------------------------

             Summary: Stack overflow error during aggregation when using 
completionSize
                 Key: CAMEL-14996
                 URL: https://issues.apache.org/jira/browse/CAMEL-14996
             Project: Camel
          Issue Type: Bug
          Components: camel-core
    Affects Versions: 3.0.0
            Reporter: michael elbaz


I get stack overflow exception when i do aggregation with *small* 
completionSize only
I have about 50000 lines to process if i use .completionSize(1000) is fine but 
if i do .completionSize(10) i got java.lang.StackOverflowError

{code:java}
from(getInput())
                .routeId("myRouteId")

                .aggregate(header(FILE_NAME_ONLY), new 
GroupedBodyAggregationStrategy())
                .eagerCheckCompletion()
                .completionSize(10) // Only when i use small number
                .completionPredicate(exchangeProperty(SPLIT_COMPLETE))
                // Some code....
;
{code}

{code:java}
java.lang.StackOverflowError: null
        at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) 
~[na:na]
        at 
java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
 ~[na:na]
        at 
java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800)
 ~[na:na]
        at 
java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698)
 ~[na:na]
        at 
java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621)
 ~[na:na]
        at 
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579)
 ~[na:na]
        at 
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
 ~[na:na]
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) 
~[na:na]
        at 
ch.qos.logback.classic.spi.PackagingDataCalculator.populateFrames(PackagingDataCalculator.java:74)
 ~[logback-classic-1.2.3.jar:na]
        at 
ch.qos.logback.classic.spi.PackagingDataCalculator.calculate(PackagingDataCalculator.java:58)
 ~[logback-classic-1.2.3.jar:na]
        at 
ch.qos.logback.classic.spi.ThrowableProxy.calculatePackagingData(ThrowableProxy.java:142)
 ~[logback-classic-1.2.3.jar:na]
        at 
ch.qos.logback.classic.spi.LoggingEvent.<init>(LoggingEvent.java:122) 
~[logback-classic-1.2.3.jar:na]
        at 
ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:419) 
~[logback-classic-1.2.3.jar:na]
        at 
ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383) 
~[logback-classic-1.2.3.jar:na]
        at ch.qos.logback.classic.Logger.warn(Logger.java:692) 
~[logback-classic-1.2.3.jar:na]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:150)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.lambda$run$0(RedeliveryErrorHandler.java:401)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:323)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.lambda$run$0(RedeliveryErrorHandler.java:398)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:426)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:365)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:320)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.lambda$run$0(RedeliveryErrorHandler.java:398)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:426)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:365)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:320)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.lambda$run$0(RedeliveryErrorHandler.java:398)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:426)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:365)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:320)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.lambda$run$0(RedeliveryErrorHandler.java:398)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:426)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:365)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:320)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.lambda$run$0(RedeliveryErrorHandler.java:398)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:426)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:365)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:320)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.lambda$run$0(RedeliveryErrorHandler.java:398)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:426)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:365)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:320)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.lambda$run$0(RedeliveryErrorHandler.java:398)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:426)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:365)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:320)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.lambda$run$0(RedeliveryErrorHandler.java:398)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:426)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:365)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:320)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.lambda$run$0(RedeliveryErrorHandler.java:398)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:426)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:365)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:320)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.lambda$run$0(RedeliveryErrorHandler.java:398)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:426)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:365)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:320)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.lambda$run$0(RedeliveryErrorHandler.java:398)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:426)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:365)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:320)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.lambda$run$0(RedeliveryErrorHandler.java:398)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:426)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:365)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:320)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.lambda$run$0(RedeliveryErrorHandler.java:398)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:426)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:365)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:320)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.lambda$run$0(RedeliveryErrorHandler.java:398)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:426)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:365)
 ~[camel-base-3.2.0.jar:3.2.0]
        at 
org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:320)
 ~[camel-base-3.2.0.jar:3.2.0]
....
{code}





--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to