I have an annotator with a Set<String> variable which reads data in initialize(UimaContext)
from a file via parameter configuration in UimaContext. When debugging, it is OK at first
2 steps checks.contains(shingle) returned true. However, when called checks.contains(shingle)
at the 36th, it throws an exception
AnalysisEngineProcessException: Annotator processing failed
Caused by: java.util.ConcurrentModificationException
In my part of the code, after initialized, the variable is never modified and only the method
"contains" is called. I also tried to create the variable in
Set<String> checks = Collections.synchronizedSet(new HashSet<String>());
and not to test in JUnit, but the problem remains the same.
After removing the code unit with "contains", it can go through.
Any idea?
Xue-Feng
/////////////////////////////
Oct 14, 2011 5:57:26 PM org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl
callAnalysisComponentProcess(405)
SEVERE: Exception occurred
org.apache.uima.analysis_engine.AnalysisEngineProcessException: Annotator processing failed.
at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess(PrimitiveAnalysisEngine_impl.java:391)
at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.processAndOutputNewCASes(PrimitiveAnalysisEngine_impl.java:295)
at org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.process(AnalysisEngineImplBase.java:267)
at org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.process(AnalysisEngineImplBase.java:280)
at com.norvar.uima.test.utils.TestUtils.runAE(TestUtils.java:48)
at com.norvar.uima.en_places.test.EnPlacesTest.testPlacesAE(EnPlacesTest.java:41)
at com.norvar.uima.en_places.test.EnPlacesTest.main(EnPlacesTest.java:20)
Caused by: java.util.ConcurrentModificationException
at org.apache.uima.cas.impl.FSIndexRepositoryImpl$PointerIterator.checkConcurrentModification(FSIndexRepositoryImpl.java:246)
at org.apache.uima.cas.impl.FSIndexRepositoryImpl$PointerIterator.ll_get(FSIndexRepositoryImpl.java:537)
at org.apache.uima.cas.impl.FSIndexRepositoryImpl$PointerIterator.get(FSIndexRepositoryImpl.java:530)
at org.apache.uima.cas.impl.FSIteratorWrapper.get(FSIteratorWrapper.java:48)
at org.apache.uima.cas.impl.FSIteratorImplBase.next(FSIteratorImplBase.java:67)
at org.apache.uima.cas.impl.FSIteratorImplBase.next(FSIteratorImplBase.java:1)
at com.norvar.uima.en_dic.annotator.EnDicAnnotator.process(EnDicAnnotator.java:127)
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:377)
... 6 more
org.apache.uima.analysis_engine.AnalysisEngineProcessException: Annotator processing failed.
at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess(PrimitiveAnalysisEngine_impl.java:391)
at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.processAndOutputNewCASes(PrimitiveAnalysisEngine_impl.java:295)
at org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.process(AnalysisEngineImplBase.java:267)
at org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.process(AnalysisEngineImplBase.java:280)
at com.norvar.uima.test.utils.TestUtils.runAE(TestUtils.java:48)
at com.norvar.uima.en_places.test.EnPlacesTest.testPlacesAE(EnPlacesTest.java:41)
at com.norvar.uima.en_places.test.EnPlacesTest.main(EnPlacesTest.java:20)
Caused by: java.util.ConcurrentModificationException
at org.apache.uima.cas.impl.FSIndexRepositoryImpl$PointerIterator.checkConcurrentModification(FSIndexRepositoryImpl.java:246)
at org.apache.uima.cas.impl.FSIndexRepositoryImpl$PointerIterator.ll_get(FSIndexRepositoryImpl.java:537)
at org.apache.uima.cas.impl.FSIndexRepositoryImpl$PointerIterator.get(FSIndexRepositoryImpl.java:530)
at org.apache.uima.cas.impl.FSIteratorWrapper.get(FSIteratorWrapper.java:48)
at org.apache.uima.cas.impl.FSIteratorImplBase.next(FSIteratorImplBase.java:67)
at org.apache.uima.cas.impl.FSIteratorImplBase.next(FSIteratorImplBase.java:1)
at com.norvar.uima.en_dic.annotator.EnDicAnnotator.process(EnDicAnnotator.java:127)
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:377)
... 6 more
|