Created
February 13, 2012 05:49
-
-
Save rednaxelafx/1814004 to your computer and use it in GitHub Desktop.
Java 7's GC notification notes: throwing an uncaught exception on the Service Thread blows away the thread. Follow up on https://gist.github.com/1465445
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[sajia@122 bin]$ jstack 30226 | |
2012-02-13 13:46:01 | |
Full thread dump Java HotSpot(TM) 64-Bit Server VM (22.0-b10 mixed mode): | |
"Attach Listener" daemon prio=10 tid=0x000000000e135800 nid=0x7654 runnable [0x0000000000000000] | |
java.lang.Thread.State: RUNNABLE | |
"Thread-4" daemon prio=10 tid=0x00002aaab4221800 nid=0x762c in Object.wait() [0x0000000041d0f000] | |
java.lang.Thread.State: WAITING (on object monitor) | |
at java.lang.Object.wait(Native Method) | |
- waiting on <0x00000000c9ae63e0> (a java.util.LinkedList) | |
at java.lang.Object.wait(Object.java:503) | |
at java.util.prefs.AbstractPreferences$EventDispatchThread.run(AbstractPreferences.java:1476) | |
- locked <0x00000000c9ae63e0> (a java.util.LinkedList) | |
"Timer-0" daemon prio=10 tid=0x00002aaab43a9800 nid=0x762b in Object.wait() [0x00000000423d7000] | |
java.lang.Thread.State: TIMED_WAITING (on object monitor) | |
at java.lang.Object.wait(Native Method) | |
- waiting on <0x00000000c97d2678> (a java.util.TaskQueue) | |
at java.util.TimerThread.mainLoop(Timer.java:552) | |
- locked <0x00000000c97d2678> (a java.util.TaskQueue) | |
at java.util.TimerThread.run(Timer.java:505) | |
"C2 CompilerThread1" daemon prio=10 tid=0x000000000daf6800 nid=0x7628 waiting on condition [0x0000000000000000] | |
java.lang.Thread.State: RUNNABLE | |
"C2 CompilerThread0" daemon prio=10 tid=0x000000000daeb000 nid=0x7627 waiting on condition [0x0000000000000000] | |
java.lang.Thread.State: RUNNABLE | |
"Signal Dispatcher" daemon prio=10 tid=0x000000000dae8800 nid=0x7626 runnable [0x0000000000000000] | |
java.lang.Thread.State: RUNNABLE | |
"Finalizer" daemon prio=10 tid=0x000000000da97800 nid=0x7625 in Object.wait() [0x00000000421d5000] | |
java.lang.Thread.State: WAITING (on object monitor) | |
at java.lang.Object.wait(Native Method) | |
- waiting on <0x00000000c99b4b08> (a java.lang.ref.ReferenceQueue$Lock) | |
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135) | |
- locked <0x00000000c99b4b08> (a java.lang.ref.ReferenceQueue$Lock) | |
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151) | |
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177) | |
"Reference Handler" daemon prio=10 tid=0x000000000da95000 nid=0x7624 in Object.wait() [0x0000000041c0e000] | |
java.lang.Thread.State: WAITING (on object monitor) | |
at java.lang.Object.wait(Native Method) | |
- waiting on <0x00000000c99b4740> (a java.lang.ref.Reference$Lock) | |
at java.lang.Object.wait(Object.java:503) | |
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133) | |
- locked <0x00000000c99b4740> (a java.lang.ref.Reference$Lock) | |
"main" prio=10 tid=0x000000000da09800 nid=0x761e runnable [0x0000000041254000] | |
java.lang.Thread.State: RUNNABLE | |
at java.io.FileInputStream.readBytes(Native Method) | |
at java.io.FileInputStream.read(FileInputStream.java:242) | |
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) | |
at java.io.BufferedInputStream.read(BufferedInputStream.java:254) | |
- locked <0x00000000f1566020> (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:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:601) | |
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.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:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:601) | |
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.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:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:601) | |
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.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:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:601) | |
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:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:601) | |
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:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:601) | |
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:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:601) | |
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:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:601) | |
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=0x000000000da8d800 nid=0x7623 runnable | |
"GC task thread#0 (ParallelGC)" prio=10 tid=0x000000000da14000 nid=0x761f runnable | |
"GC task thread#1 (ParallelGC)" prio=10 tid=0x000000000da16000 nid=0x7620 runnable | |
"GC task thread#2 (ParallelGC)" prio=10 tid=0x000000000da18000 nid=0x7621 runnable | |
"GC task thread#3 (ParallelGC)" prio=10 tid=0x000000000da19800 nid=0x7622 runnable | |
"VM Periodic Task Thread" prio=10 tid=0x000000000db03800 nid=0x762a waiting on condition | |
JNI global references: 153 | |
[sajia@122 bin]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[sajia@122 bin]$ jps | |
30264 Jps | |
30226 GroovyStarter | |
[sajia@122 bin]$ jstack 30226 | |
2012-02-13 13:45:18 | |
Full thread dump Java HotSpot(TM) 64-Bit Server VM (22.0-b10 mixed mode): | |
"Attach Listener" daemon prio=10 tid=0x000000000e135800 nid=0x7654 runnable [0x0000000000000000] | |
java.lang.Thread.State: RUNNABLE | |
"process reaper" daemon prio=10 tid=0x000000000e7c1000 nid=0x762f waiting on condition [0x0000000041157000] | |
java.lang.Thread.State: TIMED_WAITING (parking) | |
at sun.misc.Unsafe.park(Native Method) | |
- parking to wait for <0x00000000ef78f6c8> (a java.util.concurrent.SynchronousQueue$TransferStack) | |
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) | |
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) | |
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359) | |
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:942) | |
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) | |
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) | |
at java.lang.Thread.run(Thread.java:722) | |
"Thread-4" daemon prio=10 tid=0x00002aaab4221800 nid=0x762c in Object.wait() [0x0000000041d0f000] | |
java.lang.Thread.State: WAITING (on object monitor) | |
at java.lang.Object.wait(Native Method) | |
- waiting on <0x00000000c9ae63e0> (a java.util.LinkedList) | |
at java.lang.Object.wait(Object.java:503) | |
at java.util.prefs.AbstractPreferences$EventDispatchThread.run(AbstractPreferences.java:1476) | |
- locked <0x00000000c9ae63e0> (a java.util.LinkedList) | |
"Timer-0" daemon prio=10 tid=0x00002aaab43a9800 nid=0x762b in Object.wait() [0x00000000423d7000] | |
java.lang.Thread.State: TIMED_WAITING (on object monitor) | |
at java.lang.Object.wait(Native Method) | |
- waiting on <0x00000000c97d2678> (a java.util.TaskQueue) | |
at java.util.TimerThread.mainLoop(Timer.java:552) | |
- locked <0x00000000c97d2678> (a java.util.TaskQueue) | |
at java.util.TimerThread.run(Timer.java:505) | |
"Service Thread" daemon prio=10 tid=0x000000000daf8800 nid=0x7629 runnable [0x0000000000000000] | |
java.lang.Thread.State: RUNNABLE | |
"C2 CompilerThread1" daemon prio=10 tid=0x000000000daf6800 nid=0x7628 waiting on condition [0x0000000000000000] | |
java.lang.Thread.State: RUNNABLE | |
"C2 CompilerThread0" daemon prio=10 tid=0x000000000daeb000 nid=0x7627 waiting on condition [0x0000000000000000] | |
java.lang.Thread.State: RUNNABLE | |
"Signal Dispatcher" daemon prio=10 tid=0x000000000dae8800 nid=0x7626 runnable [0x0000000000000000] | |
java.lang.Thread.State: RUNNABLE | |
"Finalizer" daemon prio=10 tid=0x000000000da97800 nid=0x7625 in Object.wait() [0x00000000421d5000] | |
java.lang.Thread.State: WAITING (on object monitor) | |
at java.lang.Object.wait(Native Method) | |
- waiting on <0x00000000c99b4b08> (a java.lang.ref.ReferenceQueue$Lock) | |
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135) | |
- locked <0x00000000c99b4b08> (a java.lang.ref.ReferenceQueue$Lock) | |
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151) | |
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177) | |
"Reference Handler" daemon prio=10 tid=0x000000000da95000 nid=0x7624 in Object.wait() [0x0000000041c0e000] | |
java.lang.Thread.State: WAITING (on object monitor) | |
at java.lang.Object.wait(Native Method) | |
- waiting on <0x00000000c99b4740> (a java.lang.ref.Reference$Lock) | |
at java.lang.Object.wait(Object.java:503) | |
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133) | |
- locked <0x00000000c99b4740> (a java.lang.ref.Reference$Lock) | |
"main" prio=10 tid=0x000000000da09800 nid=0x761e runnable [0x0000000041254000] | |
java.lang.Thread.State: RUNNABLE | |
at java.io.FileInputStream.readBytes(Native Method) | |
at java.io.FileInputStream.read(FileInputStream.java:242) | |
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) | |
at java.io.BufferedInputStream.read(BufferedInputStream.java:254) | |
- locked <0x00000000ef786040> (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:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:601) | |
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.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:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:601) | |
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.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:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:601) | |
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.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:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:601) | |
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:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:601) | |
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:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:601) | |
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:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:601) | |
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:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:601) | |
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=0x000000000da8d800 nid=0x7623 runnable | |
"GC task thread#0 (ParallelGC)" prio=10 tid=0x000000000da14000 nid=0x761f runnable | |
"GC task thread#1 (ParallelGC)" prio=10 tid=0x000000000da16000 nid=0x7620 runnable | |
"GC task thread#2 (ParallelGC)" prio=10 tid=0x000000000da18000 nid=0x7621 runnable | |
"GC task thread#3 (ParallelGC)" prio=10 tid=0x000000000da19800 nid=0x7622 runnable | |
"VM Periodic Task Thread" prio=10 tid=0x000000000db03800 nid=0x762a waiting on condition | |
JNI global references: 205 | |
[sajia@122 bin]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[sajia@1227u2_x64]$ groovysh | |
Groovy Shell (1.7.7, JVM: 1.7.0_02) | |
Type 'help' or '\h' for help. | |
---------------------------------------------------------------------------------------------------------------------------- | |
groovy:000> import java.lang.management.*; import javax.management.* | |
===> [import java.lang.management.*; import javax.management.*] | |
groovy:000> psScavengeBean = ManagementFactory.garbageCollectorMXBeans[0] | |
===> sun.management.GarbageCollectorImpl@7154b2f | |
groovy:000> psScavengeBean.addNotificationListener({ Notification n, Object o -> println Thread.currentThread(); throw new RuntimeException('xxx') } as NotificationListener, null, null) | |
===> null | |
groovy:000> 50000.times { [:] } | |
===> null | |
groovy:000> Thread[Service Thread,9,system] | |
java.lang.RuntimeException: xxx | |
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) | |
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) | |
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) | |
at java.lang.reflect.Constructor.newInstance(Constructor.java:525) | |
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77) | |
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102) | |
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:52) | |
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190) | |
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:198) | |
at groovysh_evaluate$_run_closure1.doCall(groovysh_evaluate:3) | |
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:601) | |
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88) | |
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) | |
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:273) | |
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886) | |
at groovy.lang.Closure.call(Closure.java:282) | |
at org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:51) | |
at org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:82) | |
at $Proxy5.handleNotification(Unknown Source) | |
at sun.management.NotificationEmitterSupport.sendNotification(NotificationEmitterSupport.java:156) | |
at sun.management.GarbageCollectorImpl.createGCNotification(GarbageCollectorImpl.java:150) | |
Exception in thread "Service Thread" java.lang.AssertionError: Error in invoking listener | |
at sun.management.NotificationEmitterSupport.sendNotification(NotificationEmitterSupport.java:159) | |
at sun.management.GarbageCollectorImpl.createGCNotification(GarbageCollectorImpl.java:150) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment