Andy Fedotov created CAMEL-9448:
-----------------------------------
Summary: java.lang.NullPointerException in the
DefaultCamelContext.removeEndpoints()
Key: CAMEL-9448
URL: https://issues.apache.org/jira/browse/CAMEL-9448
Project: Camel
Issue Type: Bug
Components: camel-core
Affects Versions: 2.15.5, 2.16.1, 2.14.4, 2.14.1
Reporter: Andy Fedotov
Priority: Minor
DefaultCamelContext uses LRUSoftCache for endpoints cache. LRUSoftCache store
values as SoftReference which can be reclaimed by GC.
DefaultCamelContext.removeEndpoints() does not take into account this fact.
This sometimes leads to java.lang.NullPointerException.
We are still tied to 2.14.x Camel, because of our target environment is IBM
enterprise product running under IBM WAS / IBM JDK 1.6. But seems like this
affects all latest Camel releases. Here is an example of error stack trace I
observe from time to time...
{noformat}
0 java.lang.NullPointerException: null
1 at
org.apache.camel.impl.DefaultCamelContext.removeEndpoints(DefaultCamelContext.java:465)
~[camel-core-2.14.1.jar:2.14.1]
2 at
com.amrusoft.easimport.biscc.BisccDocumentImporterBean.execute(BisccDocumentImporterBean.java:196)
~[adapter-biscc-1.4.0.jar:na]
3 at sun.reflect.GeneratedMethodAccessor600.invoke(Unknown Source) ~[na:na]
4 at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
~[na:1.6.0]
5 at java.lang.reflect.Method.invoke(Method.java:611) ~[na:1.6.0]
6 at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:408)
~[camel-core-2.14.1.jar:2.14.1]
7 at
org.apache.camel.component.bean.MethodInfo$1.doProceed(MethodInfo.java:279)
~[camel-core-2.14.1.jar:2.14.1]
8 at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:252)
~[camel-core-2.14.1.jar:2.14.1]
9 at
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:167)
~[camel-core-2.14.1.jar:2.14.1]
10 at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:105)
[camel-core-2.14.1.jar:2.14.1]
11 at
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:67)
~[camel-core-2.14.1.jar:2.14.1]
12 at
org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:103)
~[camel-core-2.14.1.jar:2.14.1]
13 at
org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:71)
~[camel-core-2.14.1.jar:2.14.1]
14 at
org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
~[camel-core-2.14.1.jar:2.14.1]
15 at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:120)
~[camel-core-2.14.1.jar:2.14.1]
16 at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
[camel-core-2.14.1.jar:2.14.1]
17 at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:416)
[camel-core-2.14.1.jar:2.14.1]
18 at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
[camel-core-2.14.1.jar:2.14.1]
19 at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
[camel-core-2.14.1.jar:2.14.1]
20 at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
[camel-core-2.14.1.jar:2.14.1]
21 at
org.apache.camel.processor.idempotent.IdempotentConsumer.process(IdempotentConsumer.java:125)
[camel-core-2.14.1.jar:2.14.1]
22 at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
[camel-core-2.14.1.jar:2.14.1]
23 at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:416)
[camel-core-2.14.1.jar:2.14.1]
24 at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
[camel-core-2.14.1.jar:2.14.1]
25 at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
[camel-core-2.14.1.jar:2.14.1]
26 at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
[camel-core-2.14.1.jar:2.14.1]
27 at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:105)
[camel-core-2.14.1.jar:2.14.1]
28 at org.apache.camel.processor.Pipeline.process(Pipeline.java:60)
[camel-core-2.14.1.jar:2.14.1]
29 at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:166)
[camel-core-2.14.1.jar:2.14.1]
30 at
org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:433)
[camel-core-2.14.1.jar:2.14.1]
31 at
org.apache.camel.component.file.remote.RemoteFileConsumer.processExchange(RemoteFileConsumer.java:99)
[camel-ftp-2.14.1.jar:2.14.1]
32 at
org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:211)
[camel-core-2.14.1.jar:2.14.1]
33 at
org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:175)
[camel-core-2.14.1.jar:2.14.1]
34 at
org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:187)
[camel-core-2.14.1.jar:2.14.1]
35 at
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:114)
[camel-core-2.14.1.jar:2.14.1]
36 at
org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53)
[spring-context-3.2.11.RELEASE.jar:3.2.11.RELEASE]
37 at
org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)
[spring-context-3.2.11.RELEASE.jar:3.2.11.RELEASE]
38 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:450)
[na:1.6.0]
39 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:314)
[na:1.6.0]
40 at java.util.concurrent.FutureTask.run(FutureTask.java:149) [na:1.6.0]
41 at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:109)
[na:1.6.0]
42 at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:217)
[na:1.6.0]
43 at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:908)
[na:1.6.0]
44 at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:931)
[na:1.6.0]
45 at java.lang.Thread.run(Thread.java:773) [na:1.6.0]
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)