|
[sajia@v036122 satest]$ jstack 32133 |
|
2011-02-25 17:16:52 |
|
Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.0-b08 mixed mode): |
|
|
|
"Attach Listener" daemon prio=10 tid=0x0000000060460000 nid=0x7dc8 waiting on condition [0x0000000000000000] |
|
java.lang.Thread.State: RUNNABLE |
|
|
|
"Thread-4" daemon prio=10 tid=0x00002aaab4041000 nid=0x7d9f in Object.wait() [0x000000004167c000] |
|
java.lang.Thread.State: WAITING (on object monitor) |
|
at java.lang.Object.wait(Native Method) |
|
- waiting on <0x00000000eebf0120> (a java.util.LinkedList) |
|
at java.lang.Object.wait(Object.java:485) |
|
at java.util.prefs.AbstractPreferences$EventDispatchThread.run(AbstractPreferences.java:1461) |
|
- locked <0x00000000eebf0120> (a java.util.LinkedList) |
|
|
|
"Timer-0" daemon prio=10 tid=0x00002aaab4063800 nid=0x7d9e in Object.wait() [0x0000000040df7000] |
|
java.lang.Thread.State: TIMED_WAITING (on object monitor) |
|
at java.lang.Object.wait(Native Method) |
|
- waiting on <0x00000000eebf01b0> (a java.util.TaskQueue) |
|
at java.util.TimerThread.mainLoop(Timer.java:509) |
|
- locked <0x00000000eebf01b0> (a java.util.TaskQueue) |
|
at java.util.TimerThread.run(Timer.java:462) |
|
|
|
"Low Memory Detector" daemon prio=10 tid=0x000000005f804000 nid=0x7d9c runnable [0x0000000000000000] |
|
java.lang.Thread.State: RUNNABLE |
|
|
|
"C2 CompilerThread1" daemon prio=10 tid=0x000000005f802000 nid=0x7d9b waiting on condition [0x0000000000000000] |
|
java.lang.Thread.State: RUNNABLE |
|
|
|
"C2 CompilerThread0" daemon prio=10 tid=0x000000005f7fc800 nid=0x7d9a waiting on condition [0x0000000000000000] |
|
java.lang.Thread.State: RUNNABLE |
|
|
|
"Signal Dispatcher" daemon prio=10 tid=0x000000005f7fa000 nid=0x7d99 runnable [0x0000000000000000] |
|
java.lang.Thread.State: RUNNABLE |
|
|
|
"Finalizer" daemon prio=10 tid=0x000000005f7d6000 nid=0x7d98 in Object.wait() [0x0000000042286000] |
|
java.lang.Thread.State: WAITING (on object monitor) |
|
at java.lang.Object.wait(Native Method) |
|
- waiting on <0x00000000eebfa8a8> (a java.lang.ref.ReferenceQueue$Lock) |
|
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) |
|
- locked <0x00000000eebfa8a8> (a java.lang.ref.ReferenceQueue$Lock) |
|
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) |
|
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) |
|
|
|
"Reference Handler" daemon prio=10 tid=0x000000005f7d4000 nid=0x7d97 in Object.wait() [0x0000000042185000] |
|
java.lang.Thread.State: WAITING (on object monitor) |
|
at java.lang.Object.wait(Native Method) |
|
- waiting on <0x00000000eebfa840> (a java.lang.ref.Reference$Lock) |
|
at java.lang.Object.wait(Object.java:485) |
|
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) |
|
- locked <0x00000000eebfa840> (a java.lang.ref.Reference$Lock) |
|
|
|
"main" prio=10 tid=0x000000005f772000 nid=0x7d91 runnable [0x0000000040204000] |
|
java.lang.Thread.State: RUNNABLE |
|
at java.io.FileInputStream.readBytes(Native Method) |
|
at java.io.FileInputStream.read(FileInputStream.java:220) |
|
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) |
|
at java.io.BufferedInputStream.read(BufferedInputStream.java:237) |
|
- locked <0x00000000eedb8f60> (a java.io.BufferedInputStream) |
|
at jline.Terminal.readCharacter(Terminal.java:99) |
|
at jline.UnixTerminal.readVirtualKey(UnixTerminal.java:128) |
|
at jline.ConsoleReader.readVirtualKey(ConsoleReader.java:1453) |
|
at jline.ConsoleReader.readBinding(ConsoleReader.java:654) |
|
at jline.ConsoleReader.readLine(ConsoleReader.java:494) |
|
at jline.ConsoleReader.readLine(ConsoleReader.java:448) |
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) |
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) |
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) |
|
at java.lang.reflect.Method.invoke(Method.java:597) |
|
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229) |
|
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52) |
|
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40) |
|
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) |
|
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124) |
|
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.readLine(InteractiveShellRunner.groovy:87) |
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) |
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) |
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) |
|
at java.lang.reflect.Method.invoke(Method.java:597) |
|
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266) |
|
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51) |
|
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44) |
|
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141) |
|
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:145) |
|
at org.codehaus.groovy.tools.shell.ShellRunner.work(ShellRunner.groovy:75) |
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) |
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) |
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) |
|
at java.lang.reflect.Method.invoke(Method.java:597) |
|
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266) |
|
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51) |
|
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44) |
|
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141) |
|
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:145) |
|
at org.codehaus.groovy.tools.shell.ShellRunner.run(ShellRunner.groovy:57) |
|
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$run(InteractiveShellRunner.groovy) |
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) |
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) |
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) |
|
at java.lang.reflect.Method.invoke(Method.java:597) |
|
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88) |
|
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) |
|
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058) |
|
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:127) |
|
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:147) |
|
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.run(InteractiveShellRunner.groovy:64) |
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) |
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) |
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) |
|
at java.lang.reflect.Method.invoke(Method.java:597) |
|
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266) |
|
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:63) |
|
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40) |
|
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) |
|
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) |
|
at org.codehaus.groovy.tools.shell.Groovysh.run(Groovysh.groovy:442) |
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) |
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) |
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) |
|
at java.lang.reflect.Method.invoke(Method.java:597) |
|
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225) |
|
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51) |
|
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44) |
|
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141) |
|
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149) |
|
at org.codehaus.groovy.tools.shell.Groovysh.run(Groovysh.groovy:381) |
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) |
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) |
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) |
|
at java.lang.reflect.Method.invoke(Method.java:597) |
|
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225) |
|
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:63) |
|
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40) |
|
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) |
|
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124) |
|
at org.codehaus.groovy.tools.shell.Main.main(Main.groovy:132) |
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) |
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) |
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) |
|
at java.lang.reflect.Method.invoke(Method.java:597) |
|
at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:108) |
|
at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:130) |
|
|
|
"VM Thread" prio=10 tid=0x000000005f7cf800 nid=0x7d96 runnable |
|
|
|
"GC task thread#0 (ParallelGC)" prio=10 tid=0x000000005f785000 nid=0x7d92 runnable |
|
|
|
"GC task thread#1 (ParallelGC)" prio=10 tid=0x000000005f787000 nid=0x7d93 runnable |
|
|
|
"GC task thread#2 (ParallelGC)" prio=10 tid=0x000000005f788800 nid=0x7d94 runnable |
|
|
|
"GC task thread#3 (ParallelGC)" prio=10 tid=0x000000005f78a800 nid=0x7d95 runnable |
|
|
|
"VM Periodic Task Thread" prio=10 tid=0x000000005f80f000 nid=0x7d9d waiting on condition |
|
|
|
JNI global references: 1539 |
Hi, one thing I am not very clear is what you said about nid:
On Linux and Solaris, it's the pid of the thread (which in turn is a light-weight process).
In Solaris, one process may have many light weight processes(http://java.sun.com/docs/hotspot/threads/threads.html), which lwp ids are you referring? From what you said, it sounds like a pid is the same as lwp id, but they are not the same right?