Hi Matthias, Just FYI, I've built the current source from svn on a 64-bit machine and run this scenario with no problems. Note that it needs the latest UIMA and UIMA AS builds to use deployAsyncService.
I also had problems building activemq 2.1.3, until installing their recommended versions before running autogen.sh: autoconf >= 2.60 automake >= 1.10 libtool >= 1.5.24 These exact versions worked. I also installed cppunit, but not sure this mattered. Regards, Eddie On Wed, Nov 4, 2009 at 9:00 AM, Matthias Wendt <[email protected]> wrote: > Hi, > > I am using a 64-bit build of the source distribution that was available on > the download page of the website. However, I don't know exactly how it was > built and from which version. The version suffix of the .so library file is > 2.2. I am currently trying to make a fresh 64-bit build but stuck with > problems with the required activemq version (only compatible up to 2.1.3), > which somehow I cannot build. > > I did not try the minimal scenario but it's fairly similar to mine. > > I will continue testing and be back as soon as I found out something more. > > Matthias > > > > > So the only difference in your scenario is to use deployAsyncService? > Both use the same deployCppService executable. The only functional > difference could be the environment picked up from specified > <environmentVariables>. > > Since yours has name="LD_LIBRARY_PATH">${lib.dir}, I also tried with a > Linux build, but had no problem there either. > > Just to be clear, you are seeing the problem with the minimal > DaveDetector scenario? If so, using fairly recent SVN code for both > uimaj and uimacpp? There were some changes recently dealing with > quiesce and shutdown of deployCppService, but no changes in XMI CAS > serialization on either side for some months. > > The only other thing I can think to suggest is putting an XMI dump in > the uimacpp annotator service on entry and before it returns the CAS > to confirm that the service inputs and outputs are what you expect. > > Eddie > > On Tue, Nov 3, 2009 at 2:08 PM, Matthias Wendt > <[email protected]> wrote: >> Eddie Epstein schrieb: >>> >>> Hi Matthias, >>> >>> I'm having trouble reproducing the problem with the latest uimacpp >>> code. Please correct this scenario: >>> >>> 1. Modify type definition for David in DaveDetector.xml to add a >>> StringArrayFS feature: >>> 2. Modify DaveDetector.cpp to add the array to an FS in the incoming CAS: >> >> Pretty much the same >>> >>> 3. Launch DaveDetector as a service (with broker running on >>> tcp://localhost:61616) >>> C:\uimacpp\examples>deploycppservice descriptors\DaveDetector.xml >>> DaveDetector >>> >> >> 3.a Create a deployment descriptor: >> >> <?xml version="1.0" encoding="UTF-8"?> >> <analysisEngineDeploymentDescription >> xmlns="http://uima.apache.org/resourceSpecifier"> >> <deployment protocol="jms" provider="activemq"> >> <service> >> <inputQueue endpoint="DaveDetector" brokerURL="tcp://localhost:61616" >> prefetch="1"/> >> <!-- if arrays don't survive, comment custom element --> >> <custom name="run_top_level_CPP_service_as_separate_process"/> >> <environmentVariables> >> <environmentVariable >> name="LD_LIBRARY_PATH">${lib.dir}</environmentVariable> >> </environmentVariables> >> <topDescriptor> >> <import location="descriptors\DaveDetector.xml"/> >> </topDescriptor> >> <analysisEngine async="false"> >> <scaleout numberOfInstances="1"/> >> </analysisEngine> >> </service> >> </deployment> >> </analysisEngineDeploymentDescription> >> >> 3.b Start the Service from uimaj: >> deployAsyncService DeployDaveDetector.xml >> >> Try steps 4-6 again. >> That seems to be the only obvious difference. To be sure, I also tried the >> cvd as in the example below and had the same effect when I send a >> handcrafted .xmi to my service. >> >> Regards, >> Matthias >> >
