Hi,
I randomly got today tests stuck .
I made a thread dump and got what you can see below.
Reading ResponseAssertionTest I think there is a synchronization issue I
will fix and hopefully make code a bit more readable.
Buildfile: /data/jmeter/workspace/jmeter/build.xml
compile-tests:
_test:
[echo] gump.run = false
[echo] java.awt.headless = ${java.awt.headless}
[echo] test.headless =
[echo] user.dir = /data/jmeter/workspace/jmeter
[echo] basedir = /data/jmeter/workspace/jmeter
[echo] test dir = build/test
[echo] test dir gump = build/test
[echo] testsaveservice.saveout = ${testsaveservice.saveout}
[echo] test.encoding = UTF-8
[echo]
[java] Setting JMeterHome: /data/jmeter/workspace/jmeter
[java] Setting up logging props using file:
/data/jmeter/workspace/jmeter/bin/testfiles/jmetertest.properties
[java] Using initializeProperties() from
org.apache.jmeter.util.JMeterUtils
[java] Setting up initial properties using:
/data/jmeter/workspace/jmeter/bin/testfiles/jmetertest.properties
[java] Initializing Properties:
/data/jmeter/workspace/jmeter/bin/testfiles/jmetertest.properties
[java] JMeterVersion=2.12-SNAPSHOT.20140929
[java] java.version=1.6.0_65
[java]
java.home=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
[java] file.encoding=UTF-8
[java] default encoding=UTF-8
[java] user.dir=/data/jmeter/workspace/jmeter/bin
[java] Locale=en_US
[java] os.name=Mac OS X
[java] os.version=10.9.5
[java] +++++++++++
[java] java.awt.headless=
[java] java.awt.graphicsenv=apple.awt.CGraphicsEnvironment
[java] ------------
[java] Creating test suite
[java] Scanning build/test for test cases
[java] ClassFinder found: 90 TestCase classes
[java] o.a.j.junit.JMeterTest INFO: JMeterGUIComponent: skipping some
tests org.apache.jmeter.testbeans.gui.TestBeanGUI
[java] Created: 90 tests including 8 suites
[java] Starting test run, test count = 2545
[java] .........................................
[java] ......
2014-09-29 14:26:49
[java] Full thread dump Java HotSpot(TM) 64-Bit Server VM
(20.65-b04-462 mixed mode):
[java] "GC Daemon" daemon prio=2 tid=7f80ccaea800 nid=0x111173000 in
Object.wait() [111172000]
[java] java.lang.Thread.State: TIMED_WAITING (on object monitor)
[java] at java.lang.Object.wait(Native Method)
[java] - waiting on <7f5853e90> (a sun.misc.GC$LatencyLock)
[java] at sun.misc.GC$Daemon.run(GC.java:100)
[java] - locked <7f5853e90> (a sun.misc.GC$LatencyLock)
[java] "RMI Reaper" prio=5 tid=7f80ccae9800 nid=0x111070000 in
Object.wait() [11106f000]
[java] java.lang.Thread.State: WAITING (on object monitor)
[java] at java.lang.Object.wait(Native Method)
[java] - waiting on <7f5852b90> (a
java.lang.ref.ReferenceQueue$Lock)
[java] at
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
[java] - locked <7f5852b90> (a java.lang.ref.ReferenceQueue$Lock)
[java] at
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
[java] at
sun.rmi.transport.ObjectTable$Reaper.run(ObjectTable.java:333)
[java] at java.lang.Thread.run(Thread.java:695)
[java] "RMI TCP Accept-0" daemon prio=5 tid=7f80d1516800
nid=0x110f6d000 runnable [110f6c000]
[java] java.lang.Thread.State: RUNNABLE
[java] at java.net.PlainSocketImpl.socketAccept(Native Method)
[java] at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:439)
[java] - locked <7f5852c10> (a java.net.SocksSocketImpl)
[java] at java.net.ServerSocket.implAccept(ServerSocket.java:468)
[java] at java.net.ServerSocket.accept(ServerSocket.java:436)
[java] at
sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
[java] at
sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
[java] at java.lang.Thread.run(Thread.java:695)
[java] "NanoOffset" daemon prio=5 tid=7f80ccafe000 nid=0x110b4b000
waiting on condition [110b4a000]
[java] java.lang.Thread.State: TIMED_WAITING (sleeping)
[java] at java.lang.Thread.sleep(Native Method)
[java] at java.lang.Thread.sleep(Thread.java:300)
[java] at java.util.concurrent.TimeUnit.sleep(TimeUnit.java:328)
[java] at
org.apache.jmeter.samplers.SampleResult$NanoOffset.getOffset(SampleResult.java:1321)
[java] at
org.apache.jmeter.samplers.SampleResult$NanoOffset.run(SampleResult.java:1314)
[java] "Timer-0" daemon prio=5 tid=7f80cca4c000 nid=0x1108e8000 in
Object.wait() [1108e7000]
[java] java.lang.Thread.State: WAITING (on object monitor)
[java] at java.lang.Object.wait(Native Method)
[java] - waiting on <7f4ce3aa0> (a java.util.TaskQueue)
[java] at java.lang.Object.wait(Object.java:485)
[java] at java.util.TimerThread.mainLoop(Timer.java:483)
[java] - locked <7f4ce3aa0> (a java.util.TaskQueue)
[java] at java.util.TimerThread.run(Timer.java:462)
[java] "TimerQueue" daemon prio=5 tid=7f80d03b2000 nid=0x11069d000 in
Object.wait() [11069c000]
[java] java.lang.Thread.State: WAITING (on object monitor)
[java] at java.lang.Object.wait(Native Method)
[java] - waiting on <7f47cc4f0> (a javax.swing.TimerQueue)
[java] at javax.swing.TimerQueue.run(TimerQueue.java:232)
[java] - locked <7f47cc4f0> (a javax.swing.TimerQueue)
[java] at java.lang.Thread.run(Thread.java:695)
[java] "AWT-EventQueue-0" prio=6 tid=7f80d01de000 nid=0x11038e000 in
Object.wait() [11038d000]
[java] java.lang.Thread.State: WAITING (on object monitor)
[java] at java.lang.Object.wait(Native Method)
[java] - waiting on <7f4675830> (a java.awt.EventQueue)
[java] at java.lang.Object.wait(Object.java:485)
[java] at java.awt.EventQueue.getNextEvent(EventQueue.java:558)
[java] - locked <7f4675830> (a java.awt.EventQueue)
[java] at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:263)
[java] at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
[java] at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
[java] at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
[java] at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
[java] at
java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
[java] "Java2D Disposer" daemon prio=10 tid=7f80d1812800
nid=0x11028b000 in Object.wait() [11028a000]
[java] java.lang.Thread.State: WAITING (on object monitor)
[java] at java.lang.Object.wait(Native Method)
[java] - waiting on <7f47cc508> (a
java.lang.ref.ReferenceQueue$Lock)
[java] at
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
[java] - locked <7f47cc508> (a java.lang.ref.ReferenceQueue$Lock)
[java] at
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
[java] at sun.java2d.Disposer.run(Disposer.java:125)
[java] at java.lang.Thread.run(Thread.java:695)
[java] "AWT-Shutdown" prio=5 tid=7f80d0a81000 nid=0x10ba50000 in
Object.wait() [10ba4f000]
[java] java.lang.Thread.State: WAITING (on object monitor)
[java] at java.lang.Object.wait(Native Method)
[java] - waiting on <7f470b920> (a java.lang.Object)
[java] at java.lang.Object.wait(Object.java:485)
[java] at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:265)
[java] - locked <7f470b920> (a java.lang.Object)
[java] at java.lang.Thread.run(Thread.java:695)
[java] "AWT-AppKit" daemon prio=5 tid=7f80d0a45800 nid=0x7fff74f70310
runnable [00000000]
[java] java.lang.Thread.State: RUNNABLE
[java] "Low Memory Detector" daemon prio=5 tid=7f80d0004800
nid=0x10ac85000 runnable [00000000]
[java] java.lang.Thread.State: RUNNABLE
[java] "C2 CompilerThread1" daemon prio=9 tid=7f80d0004000
nid=0x10ab82000 waiting on condition [00000000]
[java] java.lang.Thread.State: RUNNABLE
[java] "C2 CompilerThread0" daemon prio=9 tid=7f80d08ff800
nid=0x10aa7f000 waiting on condition [00000000]
[java] java.lang.Thread.State: RUNNABLE
[java] "Signal Dispatcher" daemon prio=9 tid=7f80d08fe800
nid=0x10a97c000 waiting on condition [00000000]
[java] java.lang.Thread.State: RUNNABLE
[java] "Surrogate Locker Thread (Concurrent GC)" daemon prio=5
tid=7f80d08fe000 nid=0x10a879000 waiting on condition [00000000]
[java] java.lang.Thread.State: RUNNABLE
[java] "Finalizer" daemon prio=8 tid=7f80d1000000 nid=0x10a66e000 in
Object.wait() [10a66d000]
[java] java.lang.Thread.State: WAITING (on object monitor)
[java] at java.lang.Object.wait(Native Method)
[java] - waiting on <7f44c0018> (a
java.lang.ref.ReferenceQueue$Lock)
[java] at
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
[java] - locked <7f44c0018> (a java.lang.ref.ReferenceQueue$Lock)
[java] at
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
[java] at
java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:171)
[java] "Reference Handler" daemon prio=10 tid=7f80d08e4000
nid=0x10a56b000 in Object.wait() [10a56a000]
[java] java.lang.Thread.State: WAITING (on object monitor)
[java] at java.lang.Object.wait(Native Method)
[java] - waiting on <7f44c2480> (a java.lang.ref.Reference$Lock)
[java] at java.lang.Object.wait(Object.java:485)
[java] at
java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
[java] - locked <7f44c2480> (a java.lang.ref.Reference$Lock)
[java] "main" prio=5 tid=7f80d0000800 nid=0x101769000 in Object.wait()
[101767000]
[java] java.lang.Thread.State: WAITING (on object monitor)
[java] at java.lang.Object.wait(Native Method)
[java] - waiting on <7f45aa368> (a
org.apache.jmeter.assertions.ResponseAssertionTest)
[java] at java.lang.Object.wait(Object.java:485)
[java] at
org.apache.jmeter.assertions.ResponseAssertionTest.testThreadSafety(ResponseAssertionTest.java:217)
[java] - locked <7f45aa368> (a
org.apache.jmeter.assertions.ResponseAssertionTest)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[java] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:597)
[java] at junit.framework.TestCase.runTest(TestCase.java:176)
[java] at junit.framework.TestCase.runBare(TestCase.java:141)
[java] at junit.framework.TestResult$1.protect(TestResult.java:122)
[java] at
junit.framework.TestResult.runProtected(TestResult.java:142)
[java] at junit.framework.TestResult.run(TestResult.java:125)
[java] at junit.framework.TestCase.run(TestCase.java:129)
[java] at junit.framework.TestSuite.runTest(TestSuite.java:255)
[java] at junit.framework.TestSuite.run(TestSuite.java:250)
[java] at junit.framework.TestSuite.runTest(TestSuite.java:255)
[java] at junit.framework.TestSuite.run(TestSuite.java:250)
[java] at junit.textui.TestRunner.doRun(TestRunner.java:116)
[java] at junit.textui.TestRunner.doRun(TestRunner.java:109)
[java] at junit.textui.TestRunner.run(TestRunner.java:77)
[java] at org.apache.jorphan.test.AllTests.main(AllTests.java:236)
[java] "VM Thread" prio=9 tid=7f80cc856800 nid=0x10a468000 runnable
[java] "Gang worker#0 (Parallel GC Threads)" prio=9 tid=7f80d0002000
nid=0x105b0c000 runnable
[java] "Gang worker#1 (Parallel GC Threads)" prio=9 tid=7f80d0002800
nid=0x105c0f000 runnable
[java] "Gang worker#2 (Parallel GC Threads)" prio=9 tid=7f80d0003000
nid=0x105d12000 runnable
[java] "Gang worker#3 (Parallel GC Threads)" prio=9 tid=7f80d0800000
nid=0x105e15000 runnable
[java] "Gang worker#4 (Parallel GC Threads)" prio=9 tid=7f80d0801000
nid=0x105f18000 runnable
[java] "Gang worker#5 (Parallel GC Threads)" prio=9 tid=7f80d0801800
nid=0x10601b000 runnable
[java] "Gang worker#6 (Parallel GC Threads)" prio=9 tid=7f80d0802000
nid=0x10611e000 runnable
[java] "Gang worker#7 (Parallel GC Threads)" prio=9 tid=7f80d0802800
nid=0x106221000 runnable
[java] "Concurrent Mark-Sweep GC Thread" prio=9 tid=7f80cc800800
nid=0x10a0e0000 runnable
[java] "Gang worker#0 (Parallel CMS Threads)" prio=9 tid=7f80d08df000
nid=0x1096da000 runnable
[java] "Gang worker#1 (Parallel CMS Threads)" prio=9 tid=7f80d08df800
nid=0x1097dd000 runnable
[java] "VM Periodic Task Thread" prio=10 tid=7f80d0016000
nid=0x10ad88000 waiting on condition
[java] "Exception Catcher Thread" prio=10 tid=7f80d0001800
nid=0x102935000 runnable
[java] JNI global references: 1790
[java] Heap
[java] par new generation total 19136K, used 13958K [7f3000000,
7f44c0000, 7f44c0000)
[java] eden space 17024K, 74% used [7f3000000, 7f3c5ac20, 7f40a0000)
[java] from space 2112K, 61% used [7f40a0000, 7f41e6c90, 7f42b0000)
[java] to space 2112K, 0% used [7f42b0000, 7f42b0000, 7f44c0000)
[java] concurrent mark-sweep generation total 63872K, used 25668K
[7f44c0000, 7f8320000, 7fae00000)
[java] concurrent-mark-sweep perm gen total 63052K, used 38730K
[7fae00000, 7feb93000, 800000000)
Regards
Philippe
|