Many threads waiting for an object lock, but the thread does not hold this lock

I have an application that is currently stuck, and I'm trying to figure out why. In the output of kill -3 (thread dump), I see many threads waiting for the object to lock (in particular, waiting for the Vector synchronized method), but I do not see any thread holding this lock.

Any idea how this can be debugged?

thank

PS I know that Vector is old, and ArrayList is more recommended, but this is legacy code I'm trying to debug.

+3
source share
2 answers

The situation you are describing sounds like a classic case of a dead end.

(, ) IDE, ​​ Eclipse IntelliJ Idea, , .

, JVM ..

+2

( :

  • : sressource
  • Live-Locks: , ( , )
  • : , , , . , .
  • : ,
  • ( ): , .

, , . , -. , ( , NUMA .. )

, . , (, - HVM!). .

(R Studio, Mathematica ..). , . . . , , . , .

, " " (REPL). , , . Clojure REPL, Scala SBT REPL, Bean shell , JRebel (WebService, , ..). ( ) REPL ( localhost Unix, , , , ..)!

JMX

Java Java Management Extensions (JMX). JConsole Java Visual VM, , . , . DTrace ( , , Solaris, FreeBSD, NetBSD, Mac OS X), .

, MBeans MXBeans ( , ).

JConsole VisualVM , . .

, , , , , ressources arround -.

, JMX ( ), REPL . REPL , , - JMX, .

JMX DTrace . REPL JVM . JMX .

, , . , .

+2

All Articles