Anyone has an idea?
On Thu, Jul 12, 2012 at 10:31 AM, unjc email <[email protected]> wrote: > Hi Shmuel, > > Thanks for your reply. I have the same problem even I run the remote > call on the same machine that has Jmeter server running. > > Here is the thread dump of the remote process when it "hangs". It > seems like it's in sleeping mode?! > > [root@bin]# 2012-07-12 14:25:27 > Full thread dump OpenJDK 64-Bit Server VM (20.0-b12 mixed mode): > > "Thread-1" daemon prio=10 tid=0x00007f958c001000 nid=0x951 > sleeping[0x00007f95f87f7000] > java.lang.Thread.State: TIMED_WAITING (sleeping) > at java.lang.Thread.sleep(Native Method) > at org.apache.jmeter.JMeter$ListenToTest.run(JMeter.java:966) > at java.lang.Thread.run(Thread.java:679) > > "DestroyJavaVM" prio=10 tid=0x00007f95fc007000 nid=0x934 waiting on > condition [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "RMI TCP Connection(1)-192.168.1.12" daemon prio=10 > tid=0x00007f9594001000 nid=0x94d runnable [0x00007f95f88f8000] > java.lang.Thread.State: RUNNABLE > at java.net.SocketInputStream.socketRead0(Native Method) > at java.net.SocketInputStream.read(SocketInputStream.java:146) > at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) > at java.io.BufferedInputStream.read(BufferedInputStream.java:254) > - locked <0x00000000e21e9028> (a java.io.BufferedInputStream) > at java.io.FilterInputStream.read(FilterInputStream.java:83) > at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:679) > > "RMI Reaper" prio=10 tid=0x00007f95fc257000 nid=0x94b in Object.wait() > [0x00007f95f89f9000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x00000000e19804a8> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133) > - locked <0x00000000e19804a8> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149) > at sun.rmi.transport.ObjectTable$Reaper.run(ObjectTable.java:350) > at java.lang.Thread.run(Thread.java:679) > > "RMI TCP Accept-0" daemon prio=10 tid=0x00007f95fc35b000 nid=0x94a > runnable [0x00007f95f8afa000] > java.lang.Thread.State: RUNNABLE > at java.net.PlainSocketImpl.socketAccept(Native Method) > at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:375) > at java.net.ServerSocket.implAccept(ServerSocket.java:470) > at java.net.ServerSocket.accept(ServerSocket.java:438) > at > sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:387) > at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:359) > at java.lang.Thread.run(Thread.java:679) > > "GC Daemon" daemon prio=10 tid=0x00007f95fc1fd000 nid=0x948 in > Object.wait() [0x00007f95f8bfb000] > java.lang.Thread.State: TIMED_WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x00000000a4c0fc58> (a sun.misc.GC$LatencyLock) > at sun.misc.GC$Daemon.run(GC.java:117) > - locked <0x00000000a4c0fc58> (a sun.misc.GC$LatencyLock) > > "RMI RenewClean-[192.168.1.12:52010]" daemon prio=10 > tid=0x00007f95fc225000 nid=0x947 in Object.wait() [0x00007f95f8cfc000] > java.lang.Thread.State: TIMED_WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x00000000a4c17be0> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133) > - locked <0x00000000a4c17be0> (a java.lang.ref.ReferenceQueue$Lock) > at > sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:534) > at java.lang.Thread.run(Thread.java:679) > > "RMI Scheduler(0)" daemon prio=10 tid=0x00007f95fc251800 nid=0x946 > waiting on condition [0x00007f95f8dfd000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00000000a4c08078> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2081) > at java.util.concurrent.DelayQueue.take(DelayQueue.java:193) > at > java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:688) > at > java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:681) > 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:679) > > "Low Memory Detector" daemon prio=10 tid=0x00007f95fc0a4000 nid=0x943 > runnable [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "C2 CompilerThread1" daemon prio=10 tid=0x00007f95fc0a2000 nid=0x942 > waiting on condition [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "C2 CompilerThread0" daemon prio=10 tid=0x00007f95fc09f000 nid=0x941 > waiting on condition [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "Signal Dispatcher" daemon prio=10 tid=0x00007f95fc09d800 nid=0x940 > waiting on condition [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "Finalizer" daemon prio=10 tid=0x00007f95fc07f000 nid=0x93f in > Object.wait() [0x00007f9600a40000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x00000000a4c0fe98> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133) > - locked <0x00000000a4c0fe98> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149) > at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177) > > "Reference Handler" daemon prio=10 tid=0x00007f95fc07d000 nid=0x93e in > Object.wait() [0x00007f9600b41000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x00000000a4c0fc38> (a java.lang.ref.Reference$Lock) > at java.lang.Object.wait(Object.java:502) > at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133) > - locked <0x00000000a4c0fc38> (a java.lang.ref.Reference$Lock) > > "VM Thread" prio=10 tid=0x00007f95fc076000 nid=0x93d runnable > > "GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f95fc011800 > nid=0x935 runnable > > "GC task thread#1 (ParallelGC)" prio=10 tid=0x00007f95fc013800 > nid=0x936 runnable > > "GC task thread#2 (ParallelGC)" prio=10 tid=0x00007f95fc015800 > nid=0x937 runnable > > "GC task thread#3 (ParallelGC)" prio=10 tid=0x00007f95fc017000 > nid=0x938 runnable > > "GC task thread#4 (ParallelGC)" prio=10 tid=0x00007f95fc019000 > nid=0x939 runnable > > "GC task thread#5 (ParallelGC)" prio=10 tid=0x00007f95fc01b000 > nid=0x93a runnable > > "GC task thread#6 (ParallelGC)" prio=10 tid=0x00007f95fc01d000 > nid=0x93b runnable > > "GC task thread#7 (ParallelGC)" prio=10 tid=0x00007f95fc01e800 > nid=0x93c runnable > > "VM Periodic Task Thread" prio=10 tid=0x00007f95fc0af000 nid=0x944 > waiting on condition > > JNI global references: 1144 > > Heap > PSYoungGen total 27264K, used 9910K [0x00000000e1960000, > 0x00000000e37c0000, 0x0000000100000000) > eden space 23424K, 42% used > [0x00000000e1960000,0x00000000e230db80,0x00000000e3040000) > from space 3840K, 0% used > [0x00000000e3040000,0x00000000e3040000,0x00000000e3400000) > to space 3840K, 0% used > [0x00000000e3400000,0x00000000e3400000,0x00000000e37c0000) > PSOldGen total 62336K, used 1176K [0x00000000a4c00000, > 0x00000000a88e0000, 0x00000000e1960000) > object space 62336K, 1% used > [0x00000000a4c00000,0x00000000a4d26390,0x00000000a88e0000) > PSPermGen total 21248K, used 11732K [0x000000009a600000, > 0x000000009bac0000, 0x00000000a4c00000) > object space 21248K, 55% used > [0x000000009a600000,0x000000009b175038,0x000000009bac0000) > > > > Thanks, > Jacky > > On Thu, Jul 12, 2012 at 7:21 AM, Shmuel Krakower <[email protected]> wrote: >> Hi, >> I usually have problems like this when I have firewalls between the master >> and the slave. >> Anyway - I'd suggest you to take a thread dump out of JMeter's JVM, both >> for the master and the slave and post them here / in bugzilla. >> This info will help to understand why this hanging happens. >> >> (google for thread+dump+jvm) >> >> Best Regards, >> Shmuel. >> >> On Wed, Jul 11, 2012 at 7:23 PM, unjc email <[email protected]> wrote: >> >>> Hello there, >>> >>> I encounter a problem with remote testing. I have two jmeter servers >>> running. When I start a remote nongui testing using a simple test >>> plan, the remote process does not exit even though after the tests are >>> completed successfully on both remote servers. The process seems hung >>> there and didn't get terminated. I have tried "-X" option as well, >>> and the problem persists even the remote jmeter servers do exit after >>> the completion of the test. The version of Jmeter I am using is >>> Version 2.6 r1237317. All machines have the same version of Jmeter >>> with java "1.6.0_24". Please advise the proper way to run the remote >>> testing. >>> >>> >>> Console Output: >>> [root@bin]# java -jar ApacheJMeter.jar -n -t test.jmx -R >>> 192.168.1.12,192.168.1.13 >>> Created the tree successfully using test.jmx >>> Configuring remote engine for 192.168.1.12 >>> Using remote object: UnicastRef [liveRef: >>> [endpoint:[192.168.1.12:52010](remote),objID:[-310e3d54:13872d7fdb9:-7fff, >>> 4757255373403868018]]] >>> Configuring remote engine for 192.168.1.13 >>> Using remote object: UnicastRef [liveRef: >>> [endpoint:[192.168.1.13:55110](remote),objID:[-1174d7:138721a1ddf:-7fff, >>> -6734490503268367282]]] >>> Starting remote engines >>> Starting the test @ Wed Jul 11 16:07:37 GMT-00:00 2012 (1342022857988) >>> Starting the test on host 192.168.1.12 @ Wed Jul 11 16:07:38 GMT-00:00 >>> 2012 (1342022858153) >>> Remote engines have been started >>> Finished the test on host 192.168.1.12 @ Wed Jul 11 16:07:38 GMT-00:00 >>> 2012 (1342022858194) >>> Tidying up remote @ Wed Jul 11 16:07:38 GMT-00:00 2012 (1342022858227) >>> >>> ^C >>> >>> >>> test.jmx: >>> <?xml version="1.0" encoding="UTF-8"?> >>> <jmeterTestPlan version="1.2" properties="2.2"> >>> <hashTree> >>> <TestPlan guiclass="TestPlanGui" testclass="TestPlan" >>> testname="Test Plan" enabled="true"> >>> <stringProp name="TestPlan.comments"></stringProp> >>> <boolProp name="TestPlan.functional_mode">false</boolProp> >>> <boolProp name="TestPlan.serialize_threadgroups">false</boolProp> >>> <elementProp name="TestPlan.user_defined_variables" >>> elementType="Arguments" guiclass="ArgumentsPanel" >>> testclass="Arguments" testname="User Defined Variables" >>> enabled="true"> >>> <collectionProp name="Arguments.arguments"/> >>> </elementProp> >>> <stringProp name="TestPlan.user_define_classpath"></stringProp> >>> </TestPlan> >>> <hashTree> >>> <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" >>> testname="Thread Group" enabled="true"> >>> <stringProp >>> name="ThreadGroup.on_sample_error">continue</stringProp> >>> <elementProp name="ThreadGroup.main_controller" >>> elementType="LoopController" guiclass="LoopControlPanel" >>> testclass="LoopController" testname="Loop Controller" enabled="true"> >>> <boolProp name="LoopController.continue_forever">false</boolProp> >>> <stringProp name="LoopController.loops">1</stringProp> >>> </elementProp> >>> <stringProp name="ThreadGroup.num_threads">1</stringProp> >>> <stringProp name="ThreadGroup.ramp_time">1</stringProp> >>> <longProp name="ThreadGroup.start_time">1342019550000</longProp> >>> <longProp name="ThreadGroup.end_time">1342019550000</longProp> >>> <boolProp name="ThreadGroup.scheduler">false</boolProp> >>> <stringProp name="ThreadGroup.duration"></stringProp> >>> <stringProp name="ThreadGroup.delay"></stringProp> >>> </ThreadGroup> >>> <hashTree> >>> <HTTPSamplerProxy guiclass="HttpTestSampleGui" >>> testclass="HTTPSamplerProxy" testname="HTTP Request" enabled="true"> >>> <elementProp name="HTTPsampler.Arguments" >>> elementType="Arguments" guiclass="HTTPArgumentsPanel" >>> testclass="Arguments" testname="User Defined Variables" >>> enabled="true"> >>> <collectionProp name="Arguments.arguments"/> >>> </elementProp> >>> <stringProp name="HTTPSampler.domain">192.168.1.11</stringProp> >>> <stringProp name="HTTPSampler.port"></stringProp> >>> <stringProp name="HTTPSampler.connect_timeout"></stringProp> >>> <stringProp name="HTTPSampler.response_timeout"></stringProp> >>> <stringProp name="HTTPSampler.protocol">http</stringProp> >>> <stringProp name="HTTPSampler.contentEncoding"></stringProp> >>> <stringProp name="HTTPSampler.path">index.html</stringProp> >>> <stringProp name="HTTPSampler.method">GET</stringProp> >>> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> >>> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> >>> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> >>> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> >>> <boolProp name="HTTPSampler.monitor">false</boolProp> >>> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> >>> </HTTPSamplerProxy> >>> <hashTree/> >>> </hashTree> >>> </hashTree> >>> </hashTree> >>> </jmeterTestPlan> >>> >>> >>> >>> Thanks, >>> Jacky >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >>> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
