[
https://issues.apache.org/jira/browse/UIMA-1986?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jerry Cwiklik closed UIMA-1986.
-------------------------------
Resolution: Fixed
Fix Version/s: 2.3.1AS
Added a new monitor to synchronize critical region in StackDumpTimer.class:
static private Object threadDumpMonitor = new Object();
> Fix Synchronization on Long could deadlock Reported by Findbugs
> ---------------------------------------------------------------
>
> Key: UIMA-1986
> URL: https://issues.apache.org/jira/browse/UIMA-1986
> Project: UIMA
> Issue Type: Bug
> Components: Async Scaleout
> Affects Versions: 2.3.1AS
> Reporter: Jerry Cwiklik
> Assignee: Jerry Cwiklik
> Fix For: 2.3.1AS
>
>
> Local class StackDumpTimer in PrimitiveAnalysisEngineController_impl is
> synchronizing a block of code using a primitive (Long) which is not a good
> idea.
> Finbugs documentation on this bug says:
> "DL: Synchronization on boxed primitive could lead to deadlock
> (DL_SYNCHRONIZATION_ON_BOXED_PRIMITIVE)
> The code synchronizes on a boxed primitive constant, such as an Integer.
> private static Integer count = 0;
> ...
> synchronized(count) {
> count++;
> }
> ...
> Since Integer objects can be cached and shared, this code could be
> synchronizing on the same object as other, unrelated code, leading to
> unresponsiveness and possible deadlock"
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.