You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Marshall Schor (JIRA)" <de...@uima.apache.org> on 2015/07/01 21:38:05 UTC

[jira] [Reopened] (UIMA-4263) thread safety problem in uimaj-core code causing occasional hang

     [ https://issues.apache.org/jira/browse/UIMA-4263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marshall Schor reopened UIMA-4263:
----------------------------------

There are other static fields that need to be made thread-safe.  Change the counters to AtomicLongs, and make the map of subcomponents thread-safe via synchronization (it's a low freq use, and it's a linked hash map to preserve (insertion) order).

> thread safety problem in uimaj-core code causing occasional hang
> ----------------------------------------------------------------
>
>                 Key: UIMA-4263
>                 URL: https://issues.apache.org/jira/browse/UIMA-4263
>             Project: UIMA
>          Issue Type: Bug
>          Components: Core Java Framework
>            Reporter: Marshall Schor
>            Assignee: Marshall Schor
>            Priority: Minor
>             Fix For: 2.8.0SDK
>
>
> The class AnalysisEngineManagementImpl (which implements JMX instrumentation) uses a static set to remember what names have been used for "root" MBeans.  Access to this set is not synchronized, so it's possible for two threads to try and simultaneously update this set.   Check for other static sets/maps with this problem, too.  Either convert this to a synchronized access, or use one of the concurrent maps/sets.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)