I’m using the UIMA C++ framework 2.4.0 (32-bit) on linux (CentOS 6.5), and following the instructions https://uima.apache.org/d/uimacpp-2.4.0/docs/overview_and_setup.html. I’ve successfully built DaveDetector and run it with the standalone C++ pipeline (runAECpp) and within a Java pipeline via JNI. I’ve now installed UIMA AS 2.8.1 so I can follow the instructions under 2.3 Testing Interoperability with UIMA AS
cd $UIMACPP_HOME/examples/tutorial runRemoteAsyncAE.sh tcp://localhost:61616 MeetingAnnotator \ -d descriptors/Deploy_MeetingAnnotator.xml I get a NullPointerException and a transport warning about a java.io.EOFException runRemoteAsyncAE.sh tcp://localhost:61616 MeetingAnnotator -d descriptors/Deploy_MeetingAnnotator.xml -o `pwd`/out Attempting to deploy descriptors/Deploy_MeetingAnnotator.xml ... Waiting for Uima C++ service to connect... Waiting for Uima C++ service to connect... Waiting for Uima C++ service to report init status... deployCppService.cpp91 Start receiving messages Startinging GetMetaData instance Starting Annotator instance 0 deployCppService.cpp UIMA C++ Service MeetingAnnotator at tcp://localhost:61616 Ready to process... Uima C++ service at MeetingAnnotator Ready to process... UIMA AS Service Initialization Complete .Completed 1 documents Time Elapsed : 2184 ms java.lang.NullPointerException at org.apache.uima.adapter.jms.client.BaseUIMAAsynchronousEngine_impl.undeploy(BaseUIMAAsynchronousEngine_impl.java:964) at org.apache.uima.adapter.jms.client.BaseUIMAAsynchronousEngine_impl.undeploy(BaseUIMAAsynchronousEngine_impl.java:906) at org.apache.uima.examples.as.RunRemoteAsyncAE.run(RunRemoteAsyncAE.java:260) at org.apache.uima.examples.as.RunRemoteAsyncAE.main(RunRemoteAsyncAE.java:314) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.uima.bootstrap.UimaBootstrap.main(UimaBootstrap.java:87) WARN Transport - Transport Connection to: tcp://127.0.0.1:56221 failed: java.io.EOFException I'm I can also run with a collection reader: runRemoteAsyncAE.sh tcp://localhost:61616 MeetingAnnotator -d descriptors/Deploy_MeetingAnnotator.xml -o `pwd`/out -c /misc/NLP/dfox/scratch/uima/apache-uima-as-2.8.1/examples/descriptors/collection_reader/FileSystemCollectionReader.mine.xml (where the modified collection reader points to $UIMA_HOME/examples/data) in which case I get “Completed 8 documents”, and xmi output for each in the out/ directory, but still get the same exception and warning. Based on that (plus looking at the RunRemoteAsyncAE java source), it looks like my analysis engine is running fine, but then hitting some problem when RunRemoteAsyncAE tries to undeploy the C++ annotator. I’m trying to figure out if this is something I should worry about (especially if it reflects a problem with running UIMA C++ 2.4 and UIMA AS 2.8.1), or if it is normal or harmless. When I run the similar test with one of the Java-only UIMA AS samples: runRemoteAsyncAE.sh tcp://localhost:61616 MeetingDetectorTaeQueue -d deploy/as/Deploy_MeetingDetectorTAE.xml -c descriptors/collection_reader/FileSystemCollectionReader.mine.xml I still get the transport warning WARN Transport - Transport Connection to: tcp://127.0.0.1:56261 failed: java.io.EOFException but not the NullPointerException Thanks, David