[
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