Read timeout doesn't seem to work

Gary Mulder <[email protected]> Mon, 17 Nov 2014 16:37:43 +0000
Newsgroups gmane.comp.java.grinder.user
Message-ID <CAKy9zTChOHiLzCse+YnbiTLWfMJX8fJf8eW_=Dkr2yh6ELjrpA@mail.gmail.com>
Hi guys,

I seem to have HTTP requests hanging on reading from the network, even
though I've set HTTPPluginControl setTimeout to 500ms. Due to the
non-functional failure testing I am doing, the System Under Test (SUT) will
sometimes take extended amounts of times (> 30 secs) to complete sending
responses to Grinder HTTP requests, if at all.

Grinder is correctly throwing a TimeoutException when it can't connect at
all to the SUT, but it seems to simply hang if the connection is
successful, but the socket read never completes. A thread dump of the
Grinder worker indicates that the Grinder http threads are Runnable (see
below).

I found an old bug (http://sourceforge.net/p/grinder/bugs/148/) that seems
to describe what I am seeing, but it dates from 2009.

2014-11-17 16:13:54,399 INFO  go-agent2-0 : The Grinder version 3.11

2014-11-17 16:13:54,410 INFO  go-agent2-0 : Java(TM) SE Runtime Environment
1.7.0_65-b17: Java HotSpot(TM) 64-Bit Server VM (24.65-b04, mixed mode) on
Linux amd64 3.2.0-4-amd64


[...]


Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.65-b04 mixed mode):


"SocketTimeout" daemon prio=10 tid=0x00007fec7d36c000 nid=0x1440 waiting on
condition [0x00007fec58fbe000]

   java.lang.Thread.State: TIMED_WAITING (sleeping)

at java.lang.Thread.sleep(Native Method)

at HTTPClient.SocketTimeout.run(StreamDemultiplexor.java:924)


"Timer-0" daemon prio=10 tid=0x00007fec7da7a800 nid=0x143e in Object.wait()
[0x00007fec590bf000]

   java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x0000000585a9b5e8> (a java.util.TaskQueue)

at java.util.TimerThread.mainLoop(Timer.java:552)

- locked <0x0000000585a9b5e8> (a java.util.TaskQueue)

at java.util.TimerThread.run(Timer.java:505)


"Thread-1" daemon prio=10 tid=0x0000000001097800 nid=0x143d in
Object.wait() [0x00007fec591c0000]

   java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x00000005857d5868> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)

- locked <0x00000005857d5868> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)

at
extra166y.CustomConcurrentHashMap$ReclamationThread.run(CustomConcurrentHashMap.java:1754)


"thread 4" daemon prio=10 tid=0x00007fec7d8b4800 nid=0x143c runnable
[0x00007fec592c0000]

   java.lang.Thread.State: RUNNABLE

at java.net.SocketInputStream.socketRead0(Native Method)

at java.net.SocketInputStream.read(SocketInputStream.java:152)

at java.net.SocketInputStream.read(SocketInputStream.java:122)

[...]

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk

_______________________________________________
grinder-use mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/grinder-use