When running test gc/arguments/TestHeapFreeRatio.java on macOS aarch64 with ubsan-enabld binaries (XCode15 is used) the following issue is reported :
stderr: [/priv/jenkins/client-home/workspace/openjdk-jdk-weekly-macos_aarch64-opt/jdk/src/hotspot/share/runtime/arguments.cpp:2422:23: runtime error: 2.14748e+11 is outside the range of representable values of type 'int'
#0 0x1064c36dc in Arguments::parse_each_vm_init_arg(JavaVMInitArgs const*, JVMFlagOrigin) arguments.cpp:2422
#1 0x1064c1ee8 in Arguments::parse_vm_init_args(JavaVMInitArgs const*, JavaVMInitArgs const*, JavaVMInitArgs const*, JavaVMInitArgs const*) arguments.cpp:1983
#2 0x1064c75a4 in Arguments::parse(JavaVMInitArgs const*) arguments.cpp:3559
#3 0x107644cec in Threads::create_vm(JavaVMInitArgs*, bool*) threads.cpp:469
#4 0x106eb7d6c in JNI_CreateJavaVM jni.cpp:3678
#5 0x1027ce510 in JavaMain java.c:494
#6 0x1027d553c in ThreadJavaMain java_md_macosx.m:679
#7 0x1936fef90 in _pthread_start+0x84 (libsystem_pthread.dylib:arm64e+0x6f90)
#8 0x1936f9d30 in thread_start+0x4 (libsystem_pthread.dylib:arm64e+0x1d30)
Seems this is coming from the Xminf casting to int in arguments.cpp ( we set a rather large -Xminf2147483647 in the test )
// Xminf
} else if (match_option(option, "-Xminf", &tail)) {
char* err;
int minf = (int)(strtod(tail, &err) * 100); // <- line2422 where the error occurs
stderr: [/priv/jenkins/client-home/workspace/openjdk-jdk-weekly-macos_aarch64-opt/jdk/src/hotspot/share/runtime/arguments.cpp:2422:23: runtime error: 2.14748e+11 is outside the range of representable values of type 'int'
#0 0x1064c36dc in Arguments::parse_each_vm_init_arg(JavaVMInitArgs const*, JVMFlagOrigin) arguments.cpp:2422
#1 0x1064c1ee8 in Arguments::parse_vm_init_args(JavaVMInitArgs const*, JavaVMInitArgs const*, JavaVMInitArgs const*, JavaVMInitArgs const*) arguments.cpp:1983
#2 0x1064c75a4 in Arguments::parse(JavaVMInitArgs const*) arguments.cpp:3559
#3 0x107644cec in Threads::create_vm(JavaVMInitArgs*, bool*) threads.cpp:469
#4 0x106eb7d6c in JNI_CreateJavaVM jni.cpp:3678
#5 0x1027ce510 in JavaMain java.c:494
#6 0x1027d553c in ThreadJavaMain java_md_macosx.m:679
#7 0x1936fef90 in _pthread_start+0x84 (libsystem_pthread.dylib:arm64e+0x6f90)
#8 0x1936f9d30 in thread_start+0x4 (libsystem_pthread.dylib:arm64e+0x1d30)
Seems this is coming from the Xminf casting to int in arguments.cpp ( we set a rather large -Xminf2147483647 in the test )
// Xminf
} else if (match_option(option, "-Xminf", &tail)) {
char* err;
int minf = (int)(strtod(tail, &err) * 100); // <- line2422 where the error occurs