I have a Maven project which features a handful of Groovy WebtestCases that I
wrote (each extends com.canoo.webtest.WebtestCase). I am running these tests
during the integration-test phase (I've bound an execution of failsafe test
runner to the integration-test phase, and the groovy classes are compiled with
the gmaven-plugin).
After the tests (which fail, btw) are run, the wt.htmlReports step seems to
hang forever (this is on a Windows XP machine):
Tests in error:
testLoginSuccess(com.blah.LoginTest)
testHomePage(com.blah.HomePageTest)
Tests run: 2, Failures: 0, Errors: 2, Skipped: 0
wt.htmlReports:
[mkdir] Created dir: C:\Documents and
Settings\...\target\test-classes\webtest-results\resources
[copy] Copying 20 files to C:\Documents and
Settings\...\target\test-classes\webtest-results\resources
[xslt] Transforming into C:\Documents and
Settings\...\target\test-classes\webtest-results
[xslt] Transforming into C:\Documents and
Settings\...\target\test-classes\webtest-results
("..." is not the real path)
Taking a look at the process in Process Explorer, the process seems to keep a
file handle open to target\test-classes\webtest-resources\tools\spinner.gif. If
I kill the Maven process, then any subsequent attempts to clean the project
result in an error that this file is still locked.
Looking at the process in Visual VM, I see a thread related to
groovy/WebTestMonitorImpl which seems to be dead-locked waiting for a
java.awt.EventQueue$1AWTInvocationLock:
"Thread-3" prio=6 tid=0x034fd400 nid=0x1604 in Object.wait()
[0x0409d000..0x0409fc94]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x239b7518> (a java.awt.EventQueue$1AWTInvocationLock)
at java.lang.Object.wait(Object.java:485)
at java.awt.EventQueue.invokeAndWait(EventQueue.java:992)
- locked <0x239b7518> (a java.awt.EventQueue$1AWTInvocationLock)
at java.awt.Window.doDispose(Window.java:1029)
at java.awt.Window.dispose(Window.java:972)
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:117)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)
at WebTestMonitorImpl.shutdown(WebTestMonitor.groovy:143)
at WebTestMonitorImpl$shutdown.call(Unknown Source)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
...
I've attached the complete thread dump.
Is it possible there is some sort of deadlock going on while copying the
resources to the target directory? Has anyone seen this before?
Relevant version info:
Apache Maven 2.2.1 (r801777; 2009-08-06 15:16:01-0400)
Java version: 1.6.0_13
Java home: C:\Program Files\Java\jdk1.6.0_13\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"
com.canoo.webtest:webtest:3.1-SNAPSHOT
Thanks,
Matt Brown
2009-09-15 12:49:11
Full thread dump Java HotSpot(TM) Client VM (11.3-b02 mixed mode, sharing):
"JMX server connection timeout 20" daemon prio=6 tid=0x03561400 nid=0x1620 in
Object.wait() [0x0423f000..0x0423fd94]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x239d6d90> (a [I)
at
com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:150)
- locked <0x239d6d90> (a [I)
at java.lang.Thread.run(Thread.java:619)
Locked ownable synchronizers:
- None
"RMI Scheduler(0)" daemon prio=6 tid=0x03511800 nid=0x1a60 waiting on condition
[0x041ef000..0x041efa14]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x239d6e18> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
at
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583)
at
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576)
at
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Locked ownable synchronizers:
- None
"RMI TCP Connection(2)-10.1.80.78" daemon prio=6 tid=0x0339c800 nid=0xacc
runnable [0x0402f000..0x0402fa94]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
- locked <0x22ae0340> (a java.io.BufferedInputStream)
at java.io.FilterInputStream.read(FilterInputStream.java:66)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:517)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Locked ownable synchronizers:
- <0x239de568> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
"RMI TCP Accept-0" daemon prio=6 tid=0x0351f800 nid=0x1a34 runnable
[0x03fdf000..0x03fdfb14]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
- locked <0x239d7338> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at
sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:34)
at
sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
at
sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
at java.lang.Thread.run(Thread.java:619)
Locked ownable synchronizers:
- None
"Thread-3" prio=6 tid=0x034fd400 nid=0x1604 in Object.wait()
[0x0409d000..0x0409fc94]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x239b7518> (a java.awt.EventQueue$1AWTInvocationLock)
at java.lang.Object.wait(Object.java:485)
at java.awt.EventQueue.invokeAndWait(EventQueue.java:992)
- locked <0x239b7518> (a java.awt.EventQueue$1AWTInvocationLock)
at java.awt.Window.doDispose(Window.java:1029)
at java.awt.Window.dispose(Window.java:972)
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:117)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)
at WebTestMonitorImpl.shutdown(WebTestMonitor.groovy:143)
at WebTestMonitorImpl$shutdown.call(Unknown Source)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callSafe(AbstractCallSite.java:83)
at
embedded_script_in_C__Documents_and_Settings_matt_dot_brown_workspace_Quicksilver_Sprint_5_target_test_classes_webtest_resources_webtest_dot_xml.run(embedded_script_in_C__Documents_and_Settings_matt_dot_brown_workspace_Quicksilver_Sprint_5_target_test_classes_webtest_resources_webtest_dot_xml:1)
at org.codehaus.groovy.ant.Groovy.parseAndRunScript(Groovy.java:425)
at org.codehaus.groovy.ant.Groovy.execGroovy(Groovy.java:404)
at org.codehaus.groovy.ant.Groovy.execute(Groovy.java:279)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
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:117)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at com.canoo.webtest.WebtestCase.doAfterTestsWork(WebtestCase.groovy:81)
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:86)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
at
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:361)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
at
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:147)
at
com.canoo.webtest.WebtestCase$_getOwnerProject_closure2.doCall(WebtestCase.groovy:67)
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:86)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
at
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
at
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)
at
com.canoo.webtest.WebtestCase$_getOwnerProject_closure2.doCall(WebtestCase.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:86)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
at
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
at groovy.lang.Closure.call(Closure.java:279)
at groovy.lang.Closure.call(Closure.java:274)
at groovy.lang.Closure.run(Closure.java:355)
at java.lang.Thread.run(Thread.java:619)
Locked ownable synchronizers:
- None
"AWT-EventQueue-0" prio=6 tid=0x03449800 nid=0x15ec runnable
[0x03eff000..0x03effd94]
java.lang.Thread.State: RUNNABLE
at sun.awt.windows.WInputMethod.getNativeLocale(Native Method)
at sun.awt.windows.WInputMethod.getLocale(WInputMethod.java:167)
at sun.awt.windows.WInputMethod.deactivate(WInputMethod.java:308)
at sun.awt.im.InputContext.deactivateInputMethod(InputContext.java:472)
at sun.awt.im.InputContext.focusLost(InputContext.java:438)
- locked <0x23876660> (a sun.awt.im.InputMethodContext)
- locked <0x23173720> (a java.awt.Component$AWTTreeLock)
at sun.awt.im.InputContext.dispatchEvent(InputContext.java:231)
at
sun.awt.im.InputMethodContext.dispatchEvent(InputMethodContext.java:180)
at java.awt.Component.dispatchEventImpl(Component.java:4517)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4413)
at
java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)
at
java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:889)
at
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:562)
at java.awt.Component.dispatchEventImpl(Component.java:4455)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.SequencedEvent.dispatch(SequencedEvent.java:101)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Locked ownable synchronizers:
- None
"Image Animator 3" daemon prio=4 tid=0x0358c400 nid=0x9e4 runnable
[0x03eaf000..0x03eafa14]
java.lang.Thread.State: RUNNABLE
at sun.awt.windows.WFramePeer.getState(Native Method)
at java.awt.Frame.getExtendedState(Frame.java:745)
- locked <0x236dce08> (a javax.swing.JFrame)
at javax.swing.RepaintManager.addDirtyRegion0(RepaintManager.java:419)
at javax.swing.RepaintManager.addDirtyRegion(RepaintManager.java:465)
at javax.swing.JComponent.repaint(JComponent.java:4732)
at java.awt.Component.imageUpdate(Component.java:3250)
at javax.swing.JLabel.imageUpdate(JLabel.java:881)
at sun.awt.image.ImageWatched$WeakLink.newInfo(ImageWatched.java:114)
at sun.awt.image.ImageWatched.newInfo(ImageWatched.java:151)
at
sun.awt.image.ImageRepresentation.imageComplete(ImageRepresentation.java:649)
at sun.awt.image.ImageDecoder.imageComplete(ImageDecoder.java:135)
at sun.awt.image.GifFrame.dispose(GifImageDecoder.java:645)
at sun.awt.image.GifImageDecoder.readImage(GifImageDecoder.java:441)
at sun.awt.image.GifImageDecoder.produceImage(GifImageDecoder.java:195)
at
sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:246)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)
Locked ownable synchronizers:
- None
"AWT-Shutdown" prio=6 tid=0x035e9400 nid=0x1b88 in Object.wait()
[0x03dcf000..0x03dcfb14]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x231c75f8> (a java.lang.Object)
at java.lang.Object.wait(Object.java:485)
at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259)
- locked <0x231c75f8> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:619)
Locked ownable synchronizers:
- None
"Java2D Disposer" daemon prio=10 tid=0x03437800 nid=0x17e0 in Object.wait()
[0x03d7f000..0x03d7fb94]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x231c7688> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
- locked <0x231c7688> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
at sun.java2d.Disposer.run(Disposer.java:125)
at java.lang.Thread.run(Thread.java:619)
Locked ownable synchronizers:
- None
"Low Memory Detector" daemon prio=6 tid=0x02b81800 nid=0x14e0 runnable
[0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"CompilerThread0" daemon prio=10 tid=0x02b7bc00 nid=0x8bc waiting on condition
[0x00000000..0x02e2f9bc]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Attach Listener" daemon prio=10 tid=0x02b7a400 nid=0x14e8 runnable
[0x00000000..0x02ddfd40]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Signal Dispatcher" daemon prio=10 tid=0x02b79000 nid=0x1f80 runnable
[0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Finalizer" daemon prio=8 tid=0x02b70c00 nid=0x1948 in Object.wait()
[0x02d3f000..0x02d3fa94]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x22e86410> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
- locked <0x22e86410> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
Locked ownable synchronizers:
- None
"Reference Handler" daemon prio=10 tid=0x02b6f400 nid=0x18bc in Object.wait()
[0x02cef000..0x02cefb14]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x22e86498> (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 <0x22e86498> (a java.lang.ref.Reference$Lock)
Locked ownable synchronizers:
- None
"main" prio=6 tid=0x003b6c00 nid=0x1ed0 in Object.wait()
[0x009df000..0x009dfe5c]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x238da438> (a java.lang.Thread)
at java.lang.Thread.join(Thread.java:1143)
- locked <0x238da438> (a java.lang.Thread)
at java.lang.Thread.join(Thread.java:1196)
at
java.lang.ApplicationShutdownHooks.run(ApplicationShutdownHooks.java:79)
at java.lang.Shutdown.runHooks(Shutdown.java:89)
at java.lang.Shutdown.sequence(Shutdown.java:133)
at java.lang.Shutdown.exit(Shutdown.java:178)
- locked <0x2b7969d0> (a java.lang.Class for java.lang.Shutdown)
at java.lang.Runtime.exit(Runtime.java:90)
at java.lang.System.exit(System.java:906)
at
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1015)
Locked ownable synchronizers:
- None
"VM Thread" prio=10 tid=0x02b6dc00 nid=0x80c runnable
"VM Periodic Task Thread" prio=10 tid=0x02b8c000 nid=0x170 waiting on condition
JNI global references: 1085