UIMA
  1. UIMA
  2. UIMA-1986

Fix Synchronization on Long could deadlock Reported by Findbugs

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.3.1AS
    • Fix Version/s: 2.3.1AS
    • Component/s: Async Scaleout
    • Labels:
      None

      Description

      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"

        Activity

          People

          • Assignee:
            Jerry Cwiklik
            Reporter:
            Jerry Cwiklik
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development