Hi, While analyzing some of the later failure traces reported for https://bugs.openjdk.java.net/browse/JDK-8170940 8170940: test/java/net/httpclient/TimeoutOrdering.java failing intermittently I began to suspect that this was not caused by a test bug.
Looking at the timeout handling code in httpclient, I have identified a number of race conditions in the http/2 client timeout logic. The races can be observed quite easily by supplying a very small timeout (1ms). In that case the new SmallTimeout test in the webrev below, which is a modified clone of TimeOrdering, will always hang. webrev: http://cr.openjdk.java.net/~dfuchs/webrev_8170940/webrev.00/ I also suspect these races to be at the root cause of https://bugs.openjdk.java.net/browse/JDK-8170940 8170940: test/java/net/httpclient/TimeoutOrdering.java failing intermittently so I am planning to close 8170940 as a duplicate of 8178147 when 8178147 is pushed. I would like to propose this be fixed for JDK 9. best regards, -- daniel