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

Marshall Schor commented on UIMA-2308:
--------------------------------------

Jerry points out that the key idea is to use class-level, not instance-level 
synchronization object for this.  (There already is an instance level 
synchronization.)  Also, he says this is more a work-around, rather than a 
complete understanding of what was going wrong, so people can avoid this issue 
until it is perhaps fixed in a better way in the future, after a successful 
root-cause analysis.  The work-around is only implemented in the UIMA-AS usage 
of the call to defineCasPool().
                
> UIMA CasCreationUtils throws NPE when multiple threads in UIMA AS call 
> defineCasPool
> ------------------------------------------------------------------------------------
>
>                 Key: UIMA-2308
>                 URL: https://issues.apache.org/jira/browse/UIMA-2308
>             Project: UIMA
>          Issue Type: Bug
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>             Fix For: 2.4.0AS
>
>
> UIMA CasCreationUtils throws NPE from setupTypePriorities() when UIMA AS 
> scales AEs in multiple threads. The NPE is due to thread safety issue in UIMA 
> caused by lazy initialization of CAS pools. Seems to be triggered when large 
> type system is used. Synchronize UIMA AS 
> org.apache.uima.aae.EECasManager_impl.defineCasPool() to make sure only one 
> thread at a time executes the code.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to