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]

Reply via email to