Accidentally I found the stat of one Java process is T(Stopped, either by a job control signal or because it is being traced). I think it may be related to jinfo
because I ran this command at that time. Then I try to run jinfo
again and the process crashed agagin. But it's not easy to reproduce.
Does anyone have the idea of why the stat of process became T without kill -SIGSTOP
? Does jinfo
have bug which may crash the process?
EDIT: I have 100% reproduced this issue when jinfo
the process which has ran over 60 days. The bug seems to be triggered if the process has ran for a long time. It doesn't work for the new processes.
OMG, jmap
has the same issue and it's also 100% reproduced. But not for jstack
. Now I'm so sure it's something about detecting jvm.
$ java -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)
It's the bug of JDK 1.6.0 or ptrace with kernel 2.6.32. I will test for different versions.