Uploaded image for project: 'UIMA'
  1. UIMA
  2. UIMA-1986

Fix Synchronization on Long could deadlock Reported by Findbugs

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.3.1AS
    • 2.3.1AS
    • Async Scaleout
    • 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"

      Attachments

        Activity

          People

            cwiklik Jaroslaw Cwiklik
            cwiklik Jaroslaw Cwiklik
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: