On 28.10.2013 13:47, Eddie Epstein wrote: > Assuming you would rather not share the CAS files, what I'd be looking for > is the xmi:id values changing between the before and after files. There is > some code in ruta that replaces CASes with serialization from files which > could be the cause of this problem.
What code do you mean? I have no idea what the problem could be. I would have bet that the RutaBasic annotation cause the problem, but the problem apparently still exists if all ruta specific annotations are yet removed in the analysis engine. Peter > > Eddie > > > On Tue, Oct 22, 2013 at 10:21 AM, Eddie Epstein <[email protected]> wrote: > >> Can you share the before and after XmiCas files for a case where UIMA-AS >> service serialization failed? No confidential info please! >> >> Eddie >> >> >> >> On Tue, Oct 22, 2013 at 2:27 AM, Prokopis Prokopidis <[email protected]>wrote: >> >>> No, this is not an easily reproduced error: I have noticed it so far only >>> upon application of typesystem-specific ruta rules. I will try to come up >>> with an easily reproducible example. >>> >>> In the meantime, I followed your suggestions and added 2 XMI >>> serialization calls at the end of the AE processing for the failing case, >>> just before and just after using the ruta rules for modifying the >>> annotations in my CAS. In both cases, serialization to file succeeded, with >>> the second file containing the expected results of rule application. >>> >>> Unfortunately, the UIMA-AS serialization still produces the error in my >>> original mail. >>> >>> Prokopis >>> >>> >>> On 10/18/2013 07:09 PM, Eddie Epstein wrote: >>> >>>> Is this a solid error that is easily reproduced? >>>> >>>> The error is occurring when UIMA-AS is returning the CAS from the >>>> service. >>>> You could add XMI serialization to file at the end of AE processing, for >>>> the good and failing cases. If so lucky to have that serialization fail >>>> too, could try inserting the serialization at points earlier. >>>> >>>> Note that the UIMA-AS serialization is only serializing the delta changes >>>> from the input CAS, different from what you would do. >>>> >>>> Eddie >>>> >>>> >>>> >>>> On Thu, Oct 17, 2013 at 12:19 PM, Prokopis Prokopidis <[email protected] >>>>> wrote: >>>> Hi all, >>>>> I have an AE that produces the error below when deployed as a UIMA-AS >>>>> 2.4.0 service. The same AE as part of a UIMA 2.4.2 CPE or a uimafit 2.* >>>>> pipeline does not produce any errors and works as expected. >>>>> >>>>> Among other things, this AE uses ruta rules to process the CAS. When the >>>>> rules are not used, the AE works as expected in both UIMA and UIMA-AS. >>>>> >>>>> I have tried to log all annotations generated by the AE when the rules >>>>> are >>>>> used and just before the AE processing is finished. The annotations seem >>>>> the same in both the UIMA and the UIMA-AS processing scenarios. >>>>> >>>>> Does anyone have hints on what the cause of this might be or how I >>>>> should >>>>> proceed in debugging? >>>>> >>>>> Many thanks in advance, >>>>> >>>>> Prokopis >>>>> >>>>> WARNING: >>>>> java.lang.****ArrayIndexOutOfBoundsException >>>>> at org.apache.uima.internal.util.** >>>>> **IntVector.remove(IntVector.**** >>>>> java:207) >>>>> at org.apache.uima.internal.util.** >>>>> **IntSet.remove(IntSet.java:**77) >>>>> at org.apache.uima.cas.impl.****FSIndexRepositoryImpl.** >>>>> processIndexUpdates(****FSIndexRepositoryImpl.java:****1756) >>>>> at org.apache.uima.cas.impl.****FSIndexRepositoryImpl.**** >>>>> isModified(* >>>>> *FSIndexRepositoryImpl.java:****1800) >>>>> at org.apache.uima.cas.impl.****XmiCasSerializer$** >>>>> XmiCasDocSerializer.serialize(****XmiCasSerializer.java:256) >>>>> at org.apache.uima.cas.impl.****XmiCasSerializer$** >>>>> XmiCasDocSerializer.access$****700(XmiCasSerializer.java:108) >>>>> at org.apache.uima.cas.impl.****XmiCasSerializer.serialize(** >>>>> XmiCasSerializer.java:1566) >>>>> at org.apache.uima.aae.****UimaSerializer.**** >>>>> serializeCasToXmi(** >>>>> UimaSerializer.java:160) >>>>> at org.apache.uima.adapter.jms.**** >>>>> activemq.JmsOutputChannel.** >>>>> serializeCAS(JmsOutputChannel.****java:237) >>>>> at org.apache.uima.adapter.jms.**** >>>>> activemq.JmsOutputChannel.** >>>>> getSerializedCas(****JmsOutputChannel.java:1223) >>>>> at org.apache.uima.adapter.jms.**** >>>>> activemq.JmsOutputChannel.** >>>>> sendReply(JmsOutputChannel.****java:786) >>>>> at org.apache.uima.aae.****controller.** >>>>> PrimitiveAnalysisEngineControl****ler_impl.process(** >>>>> PrimitiveAnalysisEngineControl****ler_impl.java:1036) >>>>> at org.apache.uima.aae.handler.**** >>>>> HandlerBase.invokeProcess(** >>>>> HandlerBase.java:121) >>>>> at org.apache.uima.aae.handler.**** >>>>> input.ProcessRequestHandler_** >>>>> impl.****handleProcessRequestFromRemote****Client(** >>>>> ProcessRequestHandler_** >>>>> impl.java:542) >>>>> at org.apache.uima.aae.handler.**** >>>>> input.ProcessRequestHandler_** >>>>> impl.handle(****ProcessRequestHandler_impl.****java:1041) >>>>> at org.apache.uima.aae.handler.**** >>>>> input.MetadataRequestHandler_**** >>>>> impl.handle(****MetadataRequestHandler_impl.****java:78) >>>>> at org.apache.uima.adapter.jms.****activemq.JmsInputChannel.** >>>>> onMessage(JmsInputChannel.****java:706) >>>>> at org.springframework.jms.****listener.** >>>>> AbstractMessageListenerContain****er.doInvokeListener(** >>>>> AbstractMessageListenerContain****er.java:535) >>>>> at org.springframework.jms.****listener.** >>>>> AbstractMessageListenerContain****er.invokeListener(** >>>>> AbstractMessageListenerContain****er.java:495) >>>>> at org.springframework.jms.****listener.** >>>>> AbstractMessageListenerContain****er.doExecuteListener(** >>>>> AbstractMessageListenerContain****er.java:467) >>>>> at org.springframework.jms.****listener.** >>>>> AbstractPollingMessageListener****Container.**doReceiveAndExecute(** >>>>> AbstractPollingMessageListener****Container.java:325) >>>>> at org.springframework.jms.****listener.** >>>>> AbstractPollingMessageListener****Container.receiveAndExecute(**** >>>>> AbstractPollingMessageListener****Container.java:263) >>>>> at org.springframework.jms.****listener.** >>>>> DefaultMessageListenerContaine****r$**AsyncMessageListenerInvoker.** >>>>> invokeListener(****DefaultMessageListenerContaine****r.java:1058) >>>>> at org.springframework.jms.****listener.** >>>>> DefaultMessageListenerContaine****r$**AsyncMessageListenerInvoker.**** >>>>> run(** >>>>> DefaultMessageListenerContaine****r.java:952) >>>>> at java.util.concurrent.****ThreadPoolExecutor.runWorker(**** >>>>> ThreadPoolExecutor.java:1145) >>>>> at java.util.concurrent.****ThreadPoolExecutor$Worker.run(**** >>>>> ThreadPoolExecutor.java:615) >>>>> at org.apache.uima.aae.****UimaAsThreadFactory$1.run(** >>>>> UimaAsThreadFactory.java:118) >>>>> at java.lang.Thread.run(Thread.****java:724) >>>>> >>>>> >>>>> >>>>> >>>>>
