Hynek Cihlar created CAMEL-5210:
-----------------------------------

             Summary: Loop causes NullPointerException on error
                 Key: CAMEL-5210
                 URL: https://issues.apache.org/jira/browse/CAMEL-5210
             Project: Camel
          Issue Type: Bug
          Components: camel-core
    Affects Versions: 2.9.2
            Reporter: Hynek Cihlar


The following context will cause NullPointerException.

    <routeContext id="myCamelContext" 
xmlns="http://camel.apache.org/schema/spring";>    
        <route>
            <from uri="jms:myQueue"/>
            <onException>
                <exception>org.xml.sax.SAXParseException</exception>
                <redeliveryPolicy maximumRedeliveries="2"/>
                <handled><constant>true</constant></handled>
                <to 
uri="log:camelfatal?showAll=true&amp;multiline=true&amp;level=ERROR"/> 
            </onException>
            <loop copy="true">
              <constant>3</constant>
              <inOnly uri="smtp://you_can_leave_this_unchanged"/>
            </loop>
        </route>
    </routeContext>


The callstack on the NullPointerException:
Daemon Thread [Camel (appServerCamelContext) thread #1 - 
JmsConsumer[emailOutbox]] (Suspended (exception NullPointerException)) 
        
DefaultErrorHandler(RedeliveryErrorHandler).processErrorHandler(Exchange, 
AsyncCallback, RedeliveryErrorHandler$RedeliveryData) line: 262       
        DefaultErrorHandler(RedeliveryErrorHandler).process(Exchange, 
AsyncCallback) line: 223  
        RouteContextProcessor.processNext(Exchange, AsyncCallback) line: 45     
        RouteContextProcessor(DelegateAsyncProcessor).process(Exchange, 
AsyncCallback) line: 90 
        DefaultChannel.process(Exchange, AsyncCallback) line: 304       
        AsyncProcessorHelper.process(AsyncProcessor, Exchange, AsyncCallback) 
line: 73  
        LoopProcessor(DelegateAsyncProcessor).processNext(Exchange, 
AsyncCallback) line: 99     
        LoopProcessor.process(Exchange, AsyncCallback, AtomicInteger, 
AtomicInteger) line: 103  
        LoopProcessor.process(Exchange, AsyncCallback) line: 74 
        AsyncProcessorHelper.process(AsyncProcessor, Exchange, AsyncCallback) 
line: 73  
        InstrumentationProcessor(DelegateAsyncProcessor).processNext(Exchange, 
AsyncCallback) line: 99  
        InstrumentationProcessor(DelegateAsyncProcessor).process(Exchange, 
AsyncCallback) line: 90      
        InstrumentationProcessor.process(Exchange, AsyncCallback) line: 71      
        AsyncProcessorHelper.process(AsyncProcessor, Exchange, AsyncCallback) 
line: 73  
        TraceInterceptor(DelegateAsyncProcessor).processNext(Exchange, 
AsyncCallback) line: 99  
        TraceInterceptor(DelegateAsyncProcessor).process(Exchange, 
AsyncCallback) line: 90      
        TraceInterceptor.process(Exchange, AsyncCallback) line: 91      
        AsyncProcessorHelper.process(AsyncProcessor, Exchange, AsyncCallback) 
line: 73  
        
DefaultErrorHandler(RedeliveryErrorHandler).processErrorHandler(Exchange, 
AsyncCallback, RedeliveryErrorHandler$RedeliveryData) line: 333       
        DefaultErrorHandler(RedeliveryErrorHandler).process(Exchange, 
AsyncCallback) line: 223  
        RouteContextProcessor.processNext(Exchange, AsyncCallback) line: 45     
        RouteContextProcessor(DelegateAsyncProcessor).process(Exchange, 
AsyncCallback) line: 90 
        DefaultChannel.process(Exchange, AsyncCallback) line: 304       
        RouteContextProcessor.processNext(Exchange, AsyncCallback) line: 45     
        RouteContextProcessor(DelegateAsyncProcessor).process(Exchange, 
AsyncCallback) line: 90 
        UnitOfWorkProcessor.processAsync(Exchange, AsyncCallback, UnitOfWork) 
line: 150 
        UnitOfWorkProcessor.process(Exchange, AsyncCallback) line: 117  
        RouteInflightRepositoryProcessor.processNext(Exchange, AsyncCallback) 
line: 50  
        
RouteInflightRepositoryProcessor(DelegateAsyncProcessor).process(Exchange, 
AsyncCallback) line: 90      
        AsyncProcessorHelper.process(AsyncProcessor, Exchange, AsyncCallback) 
line: 73  
        InstrumentationProcessor(DelegateAsyncProcessor).processNext(Exchange, 
AsyncCallback) line: 99  
        InstrumentationProcessor(DelegateAsyncProcessor).process(Exchange, 
AsyncCallback) line: 90      
        InstrumentationProcessor.process(Exchange, AsyncCallback) line: 71      
        AsyncProcessorHelper.process(AsyncProcessor, Exchange) line: 99 
        InstrumentationProcessor(DelegateAsyncProcessor).process(Exchange) 
line: 86     
        EndpointMessageListener.onMessage(Message) line: 104    
        
DefaultJmsMessageListenerContainer(AbstractMessageListenerContainer).doInvokeListener(MessageListener,
 Message) line: 560       
        
DefaultJmsMessageListenerContainer(AbstractMessageListenerContainer).invokeListener(Session,
 Message) line: 498 
        
DefaultJmsMessageListenerContainer(AbstractMessageListenerContainer).doExecuteListener(Session,
 Message) line: 467      
        
DefaultJmsMessageListenerContainer(AbstractPollingMessageListenerContainer).doReceiveAndExecute(Object,
 Session, MessageConsumer, TransactionStatus) line: 325  
        
DefaultJmsMessageListenerContainer(AbstractPollingMessageListenerContainer).receiveAndExecute(Object,
 Session, MessageConsumer) line: 263       
        
DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener() 
line: 1058 
        
DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop()
 line: 1050     
        DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run() line: 
947     
        ThreadPoolExecutor$Worker.runTask(Runnable) line: 886   
        ThreadPoolExecutor$Worker.run() line: 908       
        Thread.run() line: 662  


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to