Details

      Description

      I did a little investigation and I think I found out why:
      The problem seems to be in the private method
      DefaultOsgiUtilsService.waitForServiceFromTracker(ServiceTracker, long)

      It does the following to the tracker:
      tracker.open()
      tracker.waitforService()
      tracker.close()

      Now two threads do this concurrently this might fail:
      T1: tracker.open()
      T2: tracker.open()
      T1: tracker.waitforService()
      T1: tracker.cose()
      T2: tracker.waitforService() -> returns null

      The question is, what do we do about it.
      I think this is an actual problem (not just in this test).

      I think making the function synchronized is a bad solution.
      I thought we could just skip closing the tracker (tried it, and did not encounter the bug since).

        Gliffy Diagrams

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            • Assignee:
              Christoph Gritschenberger
              Reporter:
              Christoph Gritschenberger
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: