-
Bug
-
Resolution: Duplicate
-
P3
-
None
-
6, 7
FULL PRODUCT VERSION :
java version "1.7.0_02"
Java(TM) SE Runtime Environment (build 1.7.0_02-b13)
Java HotSpot(TM) 64-Bit Server VM (build 22.0-b10, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]
EXTRA RELEVANT SYSTEM CONFIGURATION :
Quad-core i7, Windows 64-bit
A DESCRIPTION OF THE PROBLEM :
Mark A. Ziesemer posted a testcase at https://bugs.eclipse.org/bugs/show_bug.cgi?id=357318#c2 that causes HTTP requests to hang (they never come back with a response). Upon further investigation we discovered that when a request hangs, it is blocked on sun.nio.ch.WindowsSelectorImpl.discardUrgentData().
When a "hang" occurs, Jetty will accept new connections and allow the client to send anything but it will not respond. CPU usage is zero.
I've personally run across this issue multiple times (without the testcase) and my client was only opening a single connection at a time. In other words, this issue occurs even under minimal load.
Please note that once the hang occurs you're forced to restart the server. You may lose active connections and data along the way.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run the testcase posted at https://bugs.eclipse.org/bugs/show_bug.cgi?id=357318#c2
The issue is 100% reproducible for me if JettyHangTest.ITERATIONS is increased to 10,000 or higher.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Testcase doesn't hang
ACTUAL -
Testcase hangs
REPRODUCIBILITY :
This bug can be reproduced always.
java version "1.7.0_02"
Java(TM) SE Runtime Environment (build 1.7.0_02-b13)
Java HotSpot(TM) 64-Bit Server VM (build 22.0-b10, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]
EXTRA RELEVANT SYSTEM CONFIGURATION :
Quad-core i7, Windows 64-bit
A DESCRIPTION OF THE PROBLEM :
Mark A. Ziesemer posted a testcase at https://bugs.eclipse.org/bugs/show_bug.cgi?id=357318#c2 that causes HTTP requests to hang (they never come back with a response). Upon further investigation we discovered that when a request hangs, it is blocked on sun.nio.ch.WindowsSelectorImpl.discardUrgentData().
When a "hang" occurs, Jetty will accept new connections and allow the client to send anything but it will not respond. CPU usage is zero.
I've personally run across this issue multiple times (without the testcase) and my client was only opening a single connection at a time. In other words, this issue occurs even under minimal load.
Please note that once the hang occurs you're forced to restart the server. You may lose active connections and data along the way.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run the testcase posted at https://bugs.eclipse.org/bugs/show_bug.cgi?id=357318#c2
The issue is 100% reproducible for me if JettyHangTest.ITERATIONS is increased to 10,000 or higher.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Testcase doesn't hang
ACTUAL -
Testcase hangs
REPRODUCIBILITY :
This bug can be reproduced always.
- duplicates
-
JDK-6346658 (se) Selector briefly spins when asynchronously closing a registered channel [win]
-
- Closed
-
- relates to
-
JDK-4960962 (so) SocketChannel.close() does not close immediately when channel is registered
-
- Resolved
-