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
