[ https://issues.apache.org/jira/browse/CAMEL-14996?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17098087#comment-17098087 ]
michael elbaz edited comment on CAMEL-14996 at 5/2/20, 8:22 PM: ---------------------------------------------------------------- [^stackoverflow.zip] [~davsclaus][~chard...@redhat.com] Reproducible test was (Author: michael992): [^stackoverflow.zip] [~davsclaus][~chard...@redhat.com] Reproductible test > 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 > 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)