You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Richard Eckart de Castilho (JIRA)" <de...@uima.apache.org> on 2017/02/06 13:53:41 UTC

[jira] [Commented] (UIMA-5097) Current component info on CAS not reset

    [ https://issues.apache.org/jira/browse/UIMA-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15854023#comment-15854023 ] 

Richard Eckart de Castilho commented on UIMA-5097:
--------------------------------------------------

[~schor] After downgrading uimaFIT to uimaj-core 2.9.0 (as I would like to ramp up towards a release), I am again hitting this problem. Is there any way I could work around this in uimaFIT code? Or do you plan to do a uimaj-sdk release soon?

> Current component info on CAS not reset
> ---------------------------------------
>
>                 Key: UIMA-5097
>                 URL: https://issues.apache.org/jira/browse/UIMA-5097
>             Project: UIMA
>          Issue Type: Bug
>          Components: Core Java Framework
>            Reporter: Richard Eckart de Castilho
>            Assignee: Marshall Schor
>             Fix For: 3.0.0SDK-alpha, 2.10.0SDK
>
>         Attachments: UIMA5097SuiteTest.java
>
>
> uimaFIT tests re-use a single CAS which is stored in a thread-local variable and reset that CAS between unit tests. Apparently there was some change which causes the Sofa-mapping information - or more specifically the current component info from which that mapping is obtained - to not be reset anymore. The problem only appears when running all uimafit-core tests jointly in one JVM, e.g. from Eclipse.
> Initial hypothesis which proved to be wrong: 
> There may be a bug that might be related to the UimaContextHolder not being cleaned up probably (probably in case of some kind of failure).
> The problem appears when running the uimafit-core tests in Eclipse. Here all tests run in the same JVM instance which allows "global" information like thread locals to be carried over between unit tests.
> Then running all tests and when the `ViewCreatorAnnotatorTest` runs before the `SimplePipelineTest`, then the deserialization of an XMI file fails because `_InitialView` is still mapped to `myView` in the UIMA context. Debugging yields that the UIMAContext in use for the SimplePipelineTest apparently still belongs to the `ViewCreatorAnnotatorTest` because the *mQualifiedContextName* is `/org.apache.uima.fit.component.ViewCreatorAnnotatorTest$SofaAwareAnnotator/`
> This hypothesis was wrong: checked it by verifying that UimaContextHolder.getContext() is null before and after each unit test.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)