United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6554406 Change switch UseVMInterruptibleIO default to false (sol)
JDK-6554406 : Change switch UseVMInterruptibleIO default to false (sol)

Details
Type:
Bug
Submit Date:
2007-05-07
Status:
Closed
Updated Date:
2014-03-03
Project Name:
JDK
Resolved Date:
2008-12-10
Component:
hotspot
OS:
solaris
Sub-Component:
runtime
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
hs14 (b09)

Related Reports
Backport:
Relates:
Relates:
Relates:
Relates:

Sub Tasks

Description
This is one of the last steps toward completing CR 4385444 "(spec) InterruptedIOException should not be required by platform specification (sol)" to get rid of Solaris-specific behavior with respect to thread interruption. (Note that this is unrelated to java.nio's fully portable support for I/O interruptibility).

This change flips the VM interruptible I/O switch UseVMInterruptibleIO to the false/off/don't use state so that it is not found on by the Solaris-specific code for handling I/O interruption in response to thread interruption. This makes Solaris the blocking I/O operations currently interruptible noninterruptible, as they are on Linux and Windows. Although no dependent application has yet been discovered, should there be one, the above switch can be used to restore past behavior. Note that this switch is accepted by all versions of Hotspot as a user convenience, but ignored except on Solaris.

Before this change can be putback both final JAT approval and CCC approval must be in hand. The initial JAT case is here: http://javaweb.sfbay/j2se/jat/log.html#solaris-iio .

When the switch was added by CR 6382902 it was tested extensively in the "true" and "false" settings to look for posible regressions (see http://javaweb/java/jdk/ws/libs/rev/6382902 for details)

In addition, when this switch was back ported to SE 5 it got additional testing (see CR and CCC case 2143405 for details).

This change will be documented to users via the SE 7 release notes (CR, CCC TBD).

In its previous meeting the JAT recommended this CR be implemented relatively early in the SE 7 release cycle as an additional precaution in case there are dependent applications, to give maximum time to adjust to the change.

                                    

Comments
SUGGESTED FIX

--- /home/psoper/public_html/webrev/rt_baseline_070507141657/./src/share/vm/runtime/globals.hpp-        Mon May  7 14:19:58 2007
+++ globals.hpp Mon May  7 14:16:52 2007
@@ -1,7 +1,7 @@
 #ifdef USE_PRAGMA_IDENT_HDR
-#pragma ident "@(#)globals.hpp 1.961 07/04/26 18:22:30 JVM"
+#pragma ident "@(#)globals.hpp 1.962 07/05/07 14:16:51 JVM"
 #endif
 /*
  * Copyright (c) 2007 Sun Microsystems, Inc.  All Rights Reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *   
@@ -3119,11 +3119,11 @@
           "Enable dtrace probes for monitor events")                        \
                                                                             \
   product(bool, RelaxAccessControlCheck, false,                             \
           "Relax the access control checks in the verifier")                \
                                                                             \
-  product(bool, UseVMInterruptibleIO, true,                                 \
+  product(bool, UseVMInterruptibleIO, false,                                 \
           "(Unstable, Solaris-specific) Thread interrupt before or with "   \
           "EINTR for I/O operations results in OS_INTRPT")
 
 
 /*
                                     
2007-05-07
EVALUATION

It seems an easy change as described in the "suggested fix".
                                     
2007-05-17
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/171e581e8161
                                     
2008-11-22



Hardware and Software, Engineered to Work Together