With non-GUI testing, I've seen JMeter 'hang' when the 'system under test' hangs due to some bug, but does not close the connection to the JMeter client.
You can try using sampler-specific timeout settings but I don't have any experience with those. The way I've done it is run JMeter from a Perl wrapper which forks off a watchdog process with a user-definable timeout period and waits for the JMeter processes to complete. If the watchdog finds that the wrapper process (and by implication, its JMeter child processes) are still alive at the end of the kill timeout period, a Perl library is used to kill the entire process tree. I hope to release related code in a couple of days (planned to earlier but hit issues in sourceforge - will try googlecode). Regards, Sonam Chauhan -----Original Message----- From: Bob Cotton [mailto:[email protected]] Sent: Saturday, 4 April 2009 10:24 AM To: jmeter-user Subject: JMeter not shutting down in non-gui mode [One more time] JMeter 2.3.2 Java 1.5 OS X Leopard /usr/bin/java -server -Xms256m -Xmx2g -XX:NewSize=128m -XX:MaxNewSize=128m -XX:MaxTenuringThreshold=2 -Dsun.rmi.dgc.client.gcInterval=600000 -Dsun.rmi.dgc.server.gcInterval=600000 -XX:PermSize=64m -XX:MaxPermSize=64m -jar jakarta-jmeter-2.3.2/bin/ApacheJMeter.jar -j jmeter.log -t jmeter-scenarios/loadtest-no-wait-constant-transactions-with-delete.jmx -p ../resources/filters/tbuser1.properties -n -l loadtest_germanium-43-2009-04-03_00-01-10/load-test.jtl -Djmeter.save.saveservice.output_format=csv -Jtest_duration=3600 -Jfinal_thread_count=7 -Jthread_start_interval=100 We run our load test under hudson on a nightly basis. Jmeter is configured to run for a set amount of time, usually 1 hour On most nights, jmeter will not shutdown and hang the build. Here's the kill -QUIT from the process. see anything strange, or should I employ some other means to kill the process? Thanks -bob Full thread dump Java HotSpot(TM) Server VM (1.5.0_16-133 mixed mode): "Thread Group 1-6" prio=5 tid=0x0021ccc0 nid=0x83a000 runnable [0xb19e9000..0xb19e9d90] 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.read1(BufferedInputStream.java:256) at java.io.BufferedInputStream.read(BufferedInputStream.java:313) - locked <0x129e2890> (a java.io.BufferedInputStream) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:681) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:626) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnec tion.java:957) - locked <0x129e28e0> (a sun.net.www.protocol.http.HttpURLConnection) at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnec tion.java:1923) at java.net.URLConnection.getHeaderFieldInt(URLConnection.java:573) at java.net.URLConnection.getContentLength(URLConnection.java:468) at org.apache.jmeter.protocol.http.sampler.HTTPSampler.readResponse(HTTPSam pler.java:203) at org.apache.jmeter.protocol.http.sampler.HTTPSampler.sample(HTTPSampler.j ava:463) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSampl erBase.java:1021) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSampl erBase.java:1007) at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:290) at java.lang.Thread.run(Thread.java:613) "Thread Group 1-2" prio=5 tid=0x0021a460 nid=0x823600 runnable [0xb107d000..0xb107dd90] 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.read1(BufferedInputStream.java:256) at java.io.BufferedInputStream.read(BufferedInputStream.java:313) - locked <0x129e4aa8> (a java.io.BufferedInputStream) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:681) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:626) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnec tion.java:957) - locked <0x129e4af8> (a sun.net.www.protocol.http.HttpURLConnection) at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnec tion.java:1923) at java.net.URLConnection.getHeaderFieldInt(URLConnection.java:573) at java.net.URLConnection.getContentLength(URLConnection.java:468) at org.apache.jmeter.protocol.http.sampler.HTTPSampler.readResponse(HTTPSam pler.java:203) at org.apache.jmeter.protocol.http.sampler.HTTPSampler.sample(HTTPSampler.j ava:463) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSampl erBase.java:1021) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSampl erBase.java:1007) at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:290) at java.lang.Thread.run(Thread.java:613) "Thread Group 1-1" prio=5 tid=0x00219410 nid=0x822800 runnable [0xb0eff000..0xb0effd90] 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.read1(BufferedInputStream.java:256) at java.io.BufferedInputStream.read(BufferedInputStream.java:313) - locked <0x129e6cc0> (a java.io.BufferedInputStream) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:681) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:626) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnec tion.java:957) - locked <0x129e6d10> (a sun.net.www.protocol.http.HttpURLConnection) at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnec tion.java:1923) at java.net.URLConnection.getHeaderFieldInt(URLConnection.java:573) at java.net.URLConnection.getContentLength(URLConnection.java:468) at org.apache.jmeter.protocol.http.sampler.HTTPSampler.readResponse(HTTPSam pler.java:203) at org.apache.jmeter.protocol.http.sampler.HTTPSampler.sample(HTTPSampler.j ava:463) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSampl erBase.java:1021) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSampl erBase.java:1007) at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:290) at java.lang.Thread.run(Thread.java:613) "AWT-AppKit" daemon prio=5 tid=0x002168a0 nid=0xa086b720 runnable [0x00000000..0xbfffd9a8] "DestroyJavaVM" prio=5 tid=0x00201600 nid=0xb0801000 waiting on condition [0x00000000..0xb0800060] "Low Memory Detector" daemon prio=5 tid=0x0020a8b0 nid=0x81b600 runnable [0x00000000..0x00000000] "CompilerThread1" daemon prio=9 tid=0x00209e00 nid=0x81a800 waiting on condition [0x00000000..0xb0c093b8] "CompilerThread0" daemon prio=9 tid=0x00209900 nid=0x819a00 waiting on condition [0x00000000..0xb0b883b8] "AdapterThread" daemon prio=9 tid=0x00209290 nid=0x815c00 waiting on condition [0x00000000..0x00000000] "Signal Dispatcher" daemon prio=9 tid=0x00208e60 nid=0x808600 waiting on condition [0x00000000..0x00000000] "Finalizer" daemon prio=8 tid=0x002085a0 nid=0x818c00 in Object.wait() [0xb0a05000..0xb0a05d90] at java.lang.Object.wait(Native Method) - waiting on <0x0e9e09a8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120) - locked <0x0e9e09a8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:136) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) "Reference Handler" daemon prio=10 tid=0x002081c0 nid=0x817400 in Object.wait() [0xb0984000..0xb0984d90] at java.lang.Object.wait(Native Method) - waiting on <0x0e9e08c8> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:474) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) - locked <0x0e9e08c8> (a java.lang.ref.Reference$Lock) "VM Thread" prio=9 tid=0x00207910 nid=0x80b800 runnable "VM Periodic Task Thread" prio=9 tid=0x0020b490 nid=0x81c400 waiting on condition "Exception Catcher Thread" prio=10 tid=0x00201850 nid=0x809800 runnable The information contained in this email and any attached files are strictly private and confidential. This email should be read by the intended addressee only. If the recipient of this message is not the intended addressee, please call Corporate Express Australia Limited on +61 2 9335 0555 or Corporate Express New Zealand Limited on +64 9 279 2555 and promptly delete this email and any attachments. The intended recipient of this email may only use, reproduce, disclose or distribute the information contained in this email and any attached files with Corporate Express' permission. If you are not the intended addressee, you are strictly prohibited from using, reproducing, disclosing or distributing the information contained in this email and any attached files. Corporate Express advises that this email and any attached files should be scanned to detect viruses. Corporate Express accepts no liability for loss or damage (whether caused by negligence or not) resulting from the use of any attached files. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

