camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wolfgang Nagele (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-10116) NullPointerException in DefaultAsyncProcessorAwaitManager
Date Mon, 04 Jul 2016 13:49:11 GMT

    [ https://issues.apache.org/jira/browse/CAMEL-10116?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15361336#comment-15361336
] 

Wolfgang Nagele commented on CAMEL-10116:
-----------------------------------------

Hi Arno,

I was a bit surprised as well. My best guess was that since I am using threads() this is now
multithreaded and maybe that this list is modified in two places simultaneously. Nowhere in
my own code am I doing anything to MessageHistory. As a workaround I have actually disabled
it in my routes atm.

The way the last element is accessed is "ugly" either way. If you control the list type I
would suggest you move to a specific List implementation that supports retrieving the end
(LinkedList for example).

Cheers,
Wolfgang

> NullPointerException in DefaultAsyncProcessorAwaitManager
> ---------------------------------------------------------
>
>                 Key: CAMEL-10116
>                 URL: https://issues.apache.org/jira/browse/CAMEL-10116
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.17.1
>            Reporter: Wolfgang Nagele
>            Assignee: Arno Noordover
>             Fix For: 2.17.3, 2.18.0
>
>
> The following statement can cause a NPE (line #256 in DefaultAsyncProcessorAwaitManager
at version 2.17.1):
> {{MessageHistory history = list.get(list.size() - 1);}}
> {code}
> java.lang.NullPointerException: null
>         at org.apache.camel.impl.DefaultAsyncProcessorAwaitManager$AwaitThreadEntry.<init>(DefaultAsyncProcessorAwaitManager.java:257)
~[camel-core-2.17.1.jar!/:2.17.1]
>         at org.apache.camel.impl.DefaultAsyncProcessorAwaitManager$AwaitThreadEntry.<init>(DefaultAsyncProcessorAwaitManager.java:238)
~[camel-core-2.17.1.jar!/:2.17.1]
>         at org.apache.camel.impl.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:73)
~[camel-core-2.17.1.jar!/:2.17.1]
>         at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:122)
~[camel-core-2.17.1.jar!/:2.17.1]
>         at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:87)
~[camel-core-2.17.1.jar!/:2.17.1]
>         at org.apache.camel.component.stream.StreamConsumer.processLine(StreamConsumer.java:218)
~[camel-stream-2.17.1.jar!/:2.17.1]
>         at org.apache.camel.component.stream.StreamConsumer.readFromStream(StreamConsumer.java:146)
~[camel-stream-2.17.1.jar!/:2.17.1]
>         at org.apache.camel.component.stream.StreamConsumer.run(StreamConsumer.java:99)
~[camel-stream-2.17.1.jar!/:2.17.1]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_91]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_91]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message