@Override
  public Set<Dependency<Thread, Serializable>> getBlockedThreads(Thread[] allThreads) {
    Set<Dependency<Thread, Serializable>> results = new HashSet<>();

    DLockService.dumpAllServices(); // for investigating bug #43496

    Map<String, DLockService> services = DLockService.snapshotAllServices();
    for (Map.Entry<String, DLockService> entry : services.entrySet()) {
      String serviceName = entry.getKey();
      DLockService service = entry.getValue();

      UnsafeThreadLocal<Object> blockedThreadLocal = service.getBlockedOn();
      for (Thread thread : allThreads) {
        Object lockName = blockedThreadLocal.get(thread);
        if (lockName != null) {
          results.add(new Dependency<>(thread,
              new LockId(serviceName, (Serializable) lockName)));
        }
      }
    }

    return results;
  }
Report dependencies on dlocks that exist in theis VM.
geode-core/src/main/java/org/apache/geode/distributed/internal/deadlock/DLockDependencyMonitor.java