Hello,
I experienced some problem while working on IBM WebSphere 7.0.0.3 (64
bit) and IBM JVM V9 (1.6.0) with Drools 5.0.1.
To be precise, I get NPE from inside
java.util.concurrent.CopyOnWriteArrayList object. The problem repeats
randomly and I didn't detect an exact factor that causes it. For me, it
looks like an issue in JVM, but I'd like to know if anyone here
experienced it.
KnowledgeBase has been deserialized from DroolsObjectInputStream before
creating session.
The exact stack trace goes here:
2009-09-03 17:14:46,487 [SimpleAsyncTaskExecutor-2] ERROR
amg.exion.statements.StatementContentManager - Exception thrown while
generating marketing info:
java.lang.NullPointerException
at
java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:273)
at
java.util.concurrent.CopyOnWriteArrayList.add(CopyOnWriteArrayList.java:393)
at
org.drools.event.AbstractEventSupport.addEventListener(AbstractEventSupport.java:52)
at
org.drools.common.AbstractRuleBase.addEventListener(AbstractRuleBase.java:846)
at
org.drools.reteoo.ReteooRuleBase.newStatefulSession(ReteooRuleBase.java:332)
at
org.drools.reteoo.ReteooRuleBase.newStatefulSession(ReteooRuleBase.java:306)
at
org.drools.impl.KnowledgeBaseImpl.newStatefulKnowledgeSession(KnowledgeBaseImpl.java:151)
at
org.drools.impl.KnowledgeBaseImpl.newStatefulKnowledgeSession(KnowledgeBaseImpl.java:134)
at
amg.exion.statements.internal.processor.impl.DroolsSessionGenericProcessorImpl.process(DroolsSessionGenericProcessorImpl.java:54)
at
amg.exion.statements.internal.processor.impl.DroolsSessionStatementProcessorImpl.processStatement(DroolsSessionStatementProcessorImpl.java:72)
at
amg.exion.statements.StatementContentManager.process(StatementContentManager.java:272)
at
amg.exion.statements.StatementContentManager.process(StatementContentManager.java:80)
at
org.springframework.batch.core.step.item.SimpleChunkProcessor.doProcess(SimpleChunkProcessor.java:118)
at
org.springframework.batch.core.step.item.SimpleChunkProcessor.transform(SimpleChunkProcessor.java:260)
at
org.springframework.batch.core.step.item.SimpleChunkProcessor.process(SimpleChunkProcessor.java:171)
at
org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:70)
at
org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:268)
at
org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:81)
at
org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:367)
at
org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215)
at
org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:143)
at
org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:242)
at
org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:198)
at
org.springframework.batch.core.job.AbstractJob.handleStep(AbstractJob.java:348)
at
org.springframework.batch.core.job.flow.FlowJob.access$0(FlowJob.java:1)
at
org.springframework.batch.core.job.flow.FlowJob$JobFlowExecutor.executeStep(FlowJob.java:135)
at
org.springframework.batch.core.job.flow.support.state.StepState.handle(StepState.java:60)
at
org.springframework.batch.core.job.flow.support.SimpleFlow.resume(SimpleFlow.java:144)
at
org.springframework.batch.core.job.flow.support.SimpleFlow.start(SimpleFlow.java:124)
at
org.springframework.batch.core.job.flow.FlowJob.doExecute(FlowJob.java:103)
at
org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:250)
at
org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:110)
at
org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
at
org.springframework.batch.core.launch.support.SimpleJobLauncher.run(SimpleJobLauncher.java:105)
at
amg.exion.statements.internal.StatementsInternalImpl$1.run(StatementsInternalImpl.java:100)
at java.lang.Thread.run(Thread.java:735)
Best regards,
--
Przemysław Różycki
IT Architect
AMG.net, A Bull Group Company
ul. Łąkowa 29
90-554 Łódź, Poland
www.amg.net.pl