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) >>> >>> >>> >>> >>> >
