On 08/04/2009, Sonam Chauhan <[email protected]> wrote: > > However, closing a socket usually stops the I/O, so I've started > > adding "interrupt" methods to some of the samplers, in particular > > HTTP. > > > Just wanted to say it's a great idea Sebb!
Thanks; I'm hoping to add it to the next release, though it may not be possible to provide interrupts for all the samplers. > Regards, > > Sonam > > -----Original Message----- > From: sebb [mailto:[email protected]] > Sent: Wednesday, 8 April 2009 10:41 AM > To: JMeter Users List > Subject: Re: JMeter not shutting down in non-gui mode > > It will also hang in GUI testing if the server fails to respond. > > By the way, the Test Action "stop test" suggestion won't work because > thread interrupt does not terminate normal I/O. > > However, closing a socket usually stops the I/O, so I've started > adding "interrupt" methods to some of the samplers, in particular > HTTP. > > The idea being that any such active samplers will be interrupted if > the test is forcibly stopped. > > On 08/04/2009, Sonam Chauhan <[email protected]> wrote: > > 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] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > > 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] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

