When building with ubsan enabled on macOS x86_64, we run into some function pointer related issues like this one :
/jdk/src/hotspot/share/classfile/classLoader.cpp:1352:32: runtime error: call to function JIMAGE_FindResource through pointer to incorrect function type 'long (*)(JImageFile *, const char *, const char *, const char *, long *)'
jimage.cpp:114: note: JIMAGE_FindResource defined here
#0 0x109ec0675 in lookup_vm_resource(JImageFile*, char const*, char const*) classLoader.cpp:1352
#1 0x109ec04cd in ClassLoader::lookup_vm_options() classLoader.cpp:1380
#2 0x109b983ed in Arguments::parse(JavaVMInitArgs const*) arguments.cpp:3474
#3 0x10aec5726 in Threads::create_vm(JavaVMInitArgs*, bool*) threads.cpp:454
#4 0x10a609799 in JNI_CreateJavaVM_inner(JavaVM_**, void**, void*) jni.cpp:3581
#5 0x108b957e4 in JavaMain java.c:491
#6 0x108b9c978 in ThreadJavaMain java_md_macosx.m:720
#7 0x7fff204338fb in _pthread_start+0xdf (libsystem_pthread.dylib:x86_64+0x68fb)
#8 0x7fff2042f442 in thread_start+0xe (libsystem_pthread.dylib:x86_64+0x2442)
/jdk/src/hotspot/share/classfile/classLoader.cpp:1352:32: runtime error: call to function JIMAGE_FindResource through pointer to incorrect function type 'long (*)(JImageFile *, const char *, const char *, const char *, long *)'
jimage.cpp:114: note: JIMAGE_FindResource defined here
#0 0x109ec0675 in lookup_vm_resource(JImageFile*, char const*, char const*) classLoader.cpp:1352
#1 0x109ec04cd in ClassLoader::lookup_vm_options() classLoader.cpp:1380
#2 0x109b983ed in Arguments::parse(JavaVMInitArgs const*) arguments.cpp:3474
#3 0x10aec5726 in Threads::create_vm(JavaVMInitArgs*, bool*) threads.cpp:454
#4 0x10a609799 in JNI_CreateJavaVM_inner(JavaVM_**, void**, void*) jni.cpp:3581
#5 0x108b957e4 in JavaMain java.c:491
#6 0x108b9c978 in ThreadJavaMain java_md_macosx.m:720
#7 0x7fff204338fb in _pthread_start+0xdf (libsystem_pthread.dylib:x86_64+0x68fb)
#8 0x7fff2042f442 in thread_start+0xe (libsystem_pthread.dylib:x86_64+0x2442)