JDK-6554406 : Change switch UseVMInterruptibleIO default to false (sol)
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 7
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris
  • CPU: generic
  • Submitted: 2007-05-07
  • Updated: 2017-05-16
  • Resolved: 2008-12-10
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7 Other
7Fixed hs14Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
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.

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/171e581e8161

EVALUATION It seems an easy change as described in the "suggested fix".

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") /*