Soheila Esmaeili created CAMEL-22147:
----------------------------------------

             Summary: StackOverflowError when Running a Loop with Splitter & 
Transaction
                 Key: CAMEL-22147
                 URL: https://issues.apache.org/jira/browse/CAMEL-22147
             Project: Camel
          Issue Type: Bug
          Components: came-core
    Affects Versions: 4.8.0
            Reporter: Soheila Esmaeili
         Attachments: JdbcLoopTransactedSplitterTest.java

I'm encountering a StackOverflowError when running a Camel test that worked 
perfectly fine with \{*}the older (unmaintained – 2.x) Camel version{*}. 
However, after migrating to Camel 3.14 and Camel 4.8, the same test fails:

 
 * In {*}({*}{*}unmaintained{*}{*}){*} *Camel 3.14.7* the process hangs for a 
long time with the following error message and finally terminates with a 
{*}StackOverflowError{*}.

*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message 
transform method call failed at 
s\src\java.instrument\share\native\libinstrument\JPLISAgent.c line: 876
 * In {*}Camel 4.8.x{*}, the test is terminated more quickly, but with the same 
error.

A simplified unit test can be found in the appendix.

The route uses a loop of 2000 iterations. Each iteration calls a subroute which 
is marked as transacted and contains a split step using XPath.

The issue seems to be related to transaction boundaries and route recursion or 
resource handling in Camel 3+. There is no explicit recursion in the route, but 
internally Camel may be building a deep call stack due to how it handles loop 
combined with transacted and splitter. The StackOverflowError may indicate that 
each loop iteration adds to the call stack without releasing previous frames.

Could you please confirm if this is a known issue?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to