jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: JMeter not shutting down in non-gui mode
Date Wed, 08 Apr 2009 00:41:09 GMT
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 <sonam.chauhan@ce.com.au> 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:bob.cotton@rallydev.com]
>  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: jmeter-user-unsubscribe@jakarta.apache.org
>  For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>
>

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


Mime
View raw message