]
Marek Kopecký updated WFLY-10448:
---------------------------------
Affects Version/s: 16.0.0.Final
Obsolete java options -d32, -d64 in jdk-10 affect scripts domain.sh,
standalone.sh, appclient.sh
------------------------------------------------------------------------------------------------
Key: WFLY-10448
URL:
https://issues.jboss.org/browse/WFLY-10448
Project: WildFly
Issue Type: Bug
Components: Scripts
Affects Versions: 13.0.0.Final, 16.0.0.Final
Reporter: R Searls
Assignee: R Searls
Priority: Minor
bin\scripts domain.sh, standalone.sh and appclient.sh have a section of code that uses
java option -d32 and -d64 when calling java to check the HotSpot type. These 2 options
have been removed from JDK-10. They are marked as deprecated in JDK-9 but still
function.
These options are used in determining if '-server' is added to JAVA_OPTS.
Enhancements need to be made to the scripts to check the JDK version and take appropriate
action is assigning the value '-server'.
The code affected
{code:java}
# Check for -d32/-d64 in JAVA_OPTS
JVM_OPTVERSION="-version"
JVM_D64_OPTION=`echo $JAVA_OPTS | $GREP "\-d64"`
JVM_D32_OPTION=`echo $JAVA_OPTS | $GREP "\-d32"`
test "x$JVM_D64_OPTION" != "x" && JVM_OPTVERSION="-d64
$JVM_OPTVERSION"
test "x$JVM_D32_OPTION" != "x" && JVM_OPTVERSION="-d32
$JVM_OPTVERSION"
# If -server not set in JAVA_OPTS, set it, if supported
SERVER_SET=`echo $JAVA_OPTS | $GREP "\-server"`
if [ "x$SERVER_SET" = "x" ]; then
# Check for SUN(tm) JVM w/ HotSpot support
if [ "x$HAS_HOTSPOT" = "x" ]; then
HAS_HOTSPOT=`"$JAVA" $JVM_OPTVERSION -version 2>&1 | $GREP -i
HotSpot`
fi
# Check for OpenJDK JVM w/server support
if [ "x$HAS_OPENJDK" = "x" ]; then
HAS_OPENJDK=`"$JAVA" $JVM_OPTVERSION 2>&1 | $GREP -i OpenJDK`
fi
# Check for IBM JVM w/server support
if [ "x$HAS_IBM" = "x" ]; then
HAS_IBM=`"$JAVA" $JVM_OPTVERSION 2>&1 | $GREP -i "IBM
J9"`
fi
# Enable -server if we have Hotspot or OpenJDK, unless we can't
if [ "x$HAS_HOTSPOT" != "x" -o "x$HAS_OPENJDK" !=
"x" -o "x$HAS_IBM" != "x" ]; then
# MacOS does not support -server flag
if [ "$darwin" != "true" ]; then
PROCESS_CONTROLLER_JAVA_OPTS="-server
$PROCESS_CONTROLLER_JAVA_OPTS"
HOST_CONTROLLER_JAVA_OPTS="-server $HOST_CONTROLLER_JAVA_OPTS"
JVM_OPTVERSION="-server $JVM_OPTVERSION"
fi
fi
else
JVM_OPTVERSION="-server $JVM_OPTVERSION"
fi
{code}
Here is the output of the currently supported java versions
Doc for jdk-8 states
> java -help
where options include:
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
Using these options tell if the version supports 32-bit or 64-bit
> java -d32 -version
Error: This Java instance does not support a 32-bit JVM.
Please install the desired version.
> java -d64 -version
java version "1.8.0_72"
Java(TM) SE Runtime Environment (build 1.8.0_72-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.72-b15, mixed mode)
Doc for jdk-9 states
> java -help
where options include:
-d32 Deprecated, will be removed in a future release
-d64 Deprecated, will be removed in a future release
> java -d32 -version
Error: This Java instance does not support a 32-bit JVM.
Please install the desired version.
> java -d64 -version
openjdk version "9.0.4"
OpenJDK Runtime Environment (build 9.0.4+11)
OpenJDK 64-Bit Server VM (build 9.0.4+11, mixed mode)
Doc for jdk-10
> java -help
No documentation for these options listed
> java -d32 -version
Unrecognized option: -d32
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
> java -d64 -version
Unrecognized option: -d64
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Obsolete java options -d32, -d64 in jdk-10 affect scripts domain.sh, standalone.sh