Hi Peter,

A while ago we started to get some erratic null pointer exceptions from Ruta 
because the type of some feature structure element is null (see stack trace 
below). The error is not consistently reproducible, in fact it seldomly occurs 
and when reprocessing the document it doesn’t happen again. We therefore think 
there are some race conditions at play when running in a multithreaded 
environment as we do in production, and I was hoping that maybe you would get 
an idea what might be causing it just by looking at the stack trace.

Cheers
Mario

java.lang.NullPointerException at 
org.apache.uima.cas.impl.FeatureStructureImpl.prettyPrint(FeatureStructureImpl.java:501)
 at 
org.apache.uima.cas.impl.FeatureStructureImpl.prettyPrint(FeatureStructureImpl.java:483)
 at 
org.apache.uima.cas.impl.FeatureStructureImpl.toString(FeatureStructureImpl.java:472)
 at 
org.apache.uima.cas.impl.FeatureStructureImpl.toString(FeatureStructureImpl.java:467)
 at org.apache.uima.cas.impl.CASImpl.ll_getFSRef(CASImpl.java:3653) at 
org.apache.uima.cas.impl.FeatureStructureImpl.setFeatureValue(FeatureStructureImpl.java:61)
 at org.apache.uima.ruta.RutaStream.assignFeatureValue(RutaStream.java:1140) at 
org.apache.uima.ruta.RutaStream.assignFeatureValues(RutaStream.java:1020) at 
org.apache.uima.ruta.action.CreateAction.execute(CreateAction.java:74) at 
org.apache.uima.ruta.rule.AbstractRuleElement.apply(AbstractRuleElement.java:133)
 at 
org.apache.uima.ruta.rule.RuleElementCaretaker.applyRuleElements(RuleElementCaretaker.java:121)
 at 
org.apache.uima.ruta.rule.ComposedRuleElement.applyRuleElements(ComposedRuleElement.java:621)
 at 
org.apache.uima.ruta.rule.AbstractRuleElement.doneMatching(AbstractRuleElement.java:86)
 at 
org.apache.uima.ruta.rule.ComposedRuleElement.fallback(ComposedRuleElement.java:526)
 at 
org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:419)
 at 
org.apache.uima.ruta.rule.RutaRuleElement.startMatch(RutaRuleElement.java:103) 
at 
org.apache.uima.ruta.rule.ComposedRuleElement.startMatch(ComposedRuleElement.java:76)
 at org.apache.uima.ruta.rule.RutaRule.apply(RutaRule.java:63) at 
org.apache.uima.ruta.rule.RutaRule.apply(RutaRule.java:54) at 
org.apache.uima.ruta.rule.RutaRule.apply(RutaRule.java:36) at 
org.apache.uima.ruta.block.RutaScriptBlock.apply(RutaScriptBlock.java:67) at 
org.apache.uima.ruta.RutaModule.apply(RutaModule.java:56) at 
org.apache.uima.ruta.engine.RutaEngine.process(RutaEngine.java:561) at 
org.apache.uima.analysis_component.JCasAnnotator_ImplBase.process(JCasAnnotator_ImplBase.java:48)
 at 
org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess(PrimitiveAnalysisEngine_impl.java:401)
 at 
org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.processAndOutputNewCASes(PrimitiveAnalysisEngine_impl.java:318)
 at 
org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.processUntilNextOutputCas(ASB_impl.java:570)
 at 
org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.<init>(ASB_impl.java:412)
 at 
org.apache.uima.analysis_engine.asb.impl.ASB_impl.process(ASB_impl.java:344) at 
org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.processAndOutputNewCASes(AggregateAnalysisEngine_impl.java:271)
 at 
org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.processUntilNextOutputCas(ASB_impl.java:570)
 at 
org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.<init>(ASB_impl.java:412)
 at 
org.apache.uima.analysis_engine.asb.impl.ASB_impl.process(ASB_impl.java:344) at 
org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.processAndOutputNewCASes(AggregateAnalysisEngine_impl.java:271)
 at 
org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.processUntilNextOutputCas(ASB_impl.java:570)
 at 
org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.<init>(ASB_impl.java:412)
 at 
org.apache.uima.analysis_engine.asb.impl.ASB_impl.process(ASB_impl.java:344) at 
org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.processAndOutputNewCASes(AggregateAnalysisEngine_impl.java:271)
 at 
org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.processUntilNextOutputCas(ASB_impl.java:570)
 at 
org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.<init>(ASB_impl.java:412)
 at 
org.apache.uima.analysis_engine.asb.impl.ASB_impl.process(ASB_impl.java:344) at 
org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.processAndOutputNewCASes(AggregateAnalysisEngine_impl.java:271)
 at 
org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.process(AnalysisEngineImplBase.java:269)
 at 
org.apache.uima.collection.impl.cpm.engine.ProcessingUnit.processNext(ProcessingUnit.java:895)
 at 
org.apache.uima.collection.impl.cpm.engine.ProcessingUnit.run(ProcessingUnit.java:575)













Reply via email to