Since version 2.5 of Sonar, in our Hudson/Sonar continuous integration build environment the following problem occurs:
When two or more builds are created simultaneously and also the Sonar parts of the builds are running in parallel, then these builds regularly lock each other.
For example, if we have a large project being built, which takes a long time, before all the Sonar checks are finished, and we then start the build of a small project, then this build will block in the PurgeDependencies step of the Sonar run, until it gets a timeout or the large build is killed.
See the attached log excerpts for details. A heap dump was triggered for the large project build to be able to see, which threads are locked.