[ 
https://issues.apache.org/jira/browse/CAMEL-14996?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen reassigned CAMEL-14996:
-----------------------------------

    Assignee: Claus Ibsen

> 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.2.0
>            Reporter: michael elbaz
>            Assignee: Claus Ibsen
>            Priority: Major
>             Fix For: 3.3.0
>
>         Attachments: stackoverflow.zip
>
>
> 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) it's fine 
> but if i do .completionSize(10) i got java.lang.StackOverflowError
> {code:java}
> from("direct:iSplitSomethingBefore")
>                 .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