jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From unjc email <unjc.em...@gmail.com>
Subject Re: Remote testing does not exit
Date Mon, 16 Jul 2012 15:57:37 GMT
Anyone has an idea?


On Thu, Jul 12, 2012 at 10:31 AM, unjc email <unjc.email@gmail.com> 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 <shmulikk@gmail.com> 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 <unjc.email@gmail.com> 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: user-unsubscribe@jmeter.apache.org
>>> For additional commands, e-mail: user-help@jmeter.apache.org
>>>
>>>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
For additional commands, e-mail: user-help@jmeter.apache.org


Mime
View raw message