Hi Peter, Things like XmiCasDeserializer.deserialize(new FileInputStream(each), cas, true) in RutaInterpreterRunner? I am only looking for things that would do something unexpected to a CAS. I would not be so concerned with the new Ruta annotations as with changes to previously existing annotations.
Eddie On Tue, Oct 29, 2013 at 9:39 AM, Peter Klügl <[email protected]>wrote: > 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) > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >
