7117717: (aio) Tests failing due to implementation bug 7052549

Alan Bateman Alan.Bateman at oracle.com
Sat Dec 3 09:03:32 PST 2011


There are two asynchronous I/O tests that fail intermittently on Windows 
when running with assertions enabled. The underlying issue is a 
complicated issue that arises when closing an asynchronous channel when 
there are outstanding asynchronous operations on the channel. If there 
aren't threads servicing the completion port then failure notifications 
needs to be synthesized and the resources releases later. The bug is 
that it's possible for the failure status for these outstanding 
operations to be serviced by other threads just at around the time that 
a failure notification is synthesized and this tickles an assert these 
tests to fail. It's on my list to fix but in the mean-time these test 
failures are annoying to others and so need to do onto the "problem 
list". As test/java/nio/channels/AsynchronousSocketChannel/Basic.java is 
a complete unit test then it's preferable, in the short term, to have it 
skip the timeout tests rather than put the test on the problem list.

Thanks,

-Alan


diff --git a/test/ProblemList.txt b/test/ProblemList.txt
--- a/test/ProblemList.txt
+++ b/test/ProblemList.txt
@@ -400,8 +400,8 @@ java/io/File/Basic.java
  # 6963118
  java/nio/channels/Selector/Wakeup.java                          
windows-all

-# 7076700
-java/nio/channels/SocketChannel/AdaptSocket.java                generic-all
+# 7052549
+java/nio/channels/FileChannel/ReleaseOnCloseDeadlock.java      windows-all

  ############################################################################

diff --git a/test/java/nio/channels/AsynchronousSocketChannel/Basic.java 
b/test/java/nio/channels/AsynchronousSocketChannel/Basic.java
--- a/test/java/nio/channels/AsynchronousSocketChannel/Basic.java
+++ b/test/java/nio/channels/AsynchronousSocketChannel/Basic.java
@@ -63,7 +63,9 @@ public class Basic {
          testRead3();
          testWrite1();
          testWrite2();
-        testTimeout();
+        // skip timeout tests until 7052549 is fixed
+        if (!System.getProperty("os.name").startsWith("Windows"))
+            testTimeout();
          testShutdown();
      }



More information about the nio-dev mailing list