[
https://issues.apache.org/jira/browse/CAMEL-5210?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13263493#comment-13263493
]
Claus Ibsen commented on CAMEL-5210:
------------------------------------
Thanks for reporting and with the stacktrace
> 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
> Assignee: Claus Ibsen
> Fix For: 2.9.3, 2.10.0
>
>
> 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&multiline=true&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