Assume two projects that never shall be build in parallel. You may build project A, then project B or vice versa, but never project A and B together.
In Project A you define project B as blocker.
In Project B you define project A as blocker.
All will be fine:
Project A builds, Project B is blocked.
Project B builds, Project A is blocked.
... until when Project A is queued, because no available slots to build, and then Project B is queued to. Now Project A blocks Project B, while Project B blocks Project A. Both will never be build! Cause:
"Build-Blocker-Plugin" does not only take running projects in to account to block other projects, it takes the queue too! This leads to deadlocks as soon as both projects are queued. The plugin should only take running projects into account blocking other projects.