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