When running FusionAuth in Docker on an m4 mac, I see this error:
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGILL (0x4) at pc=0x0000ffff8d33fc5c, pid=1, tid=21
#
# JRE version: (21.0.4+7) (build )
# Java VM: OpenJDK 64-Bit Server VM (21.0.4+7-LTS, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# j java.lang.System.registerNatives()V+0 java.base
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
--------------- S U M M A R Y ------------
Command Line: -Dfusionauth.home.directory=/usr/local/fusionauth/fusionauth-app -Dfusionauth.config.directory=/usr/local/fusionauth/config -Dfusionauth.data.directory=/usr/local/fusionauth/data -Dfusionauth.log.directory=/usr/local/fusionauth/logs -Dfusionauth.plugin.directory=/usr/local/fusionauth/plugins -Djava.awt.headless=true -Dcom.sun.org.apache.xml.internal.security.ignoreLineBreaks=true --add-exports=java.base/sun.security.x509=ALL-UNNAMED --add-exports=java.base/sun.security.util=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED -DfusionAuthApp87AFBG16 -Xmx512M -Xms512M io.fusionauth.app.FusionAuthMain
Host: AArch64, 14 cores, 7G, Ubuntu 24.04.1 LTS
Time: Wed Jan 22 12:35:29 2025 UTC elapsed time: 0.025614 seconds (0d 0h 0m 0s)
--------------- T H R E A D ---------------
Current thread (0x0000ffff9802c010): JavaThread "Unknown thread" [_thread_in_native, id=21, stack(0x0000ffff9e152000,0x0000ffff9e350000) (2040K)]
Stack: [0x0000ffff9e152000,0x0000ffff9e350000], sp=0x0000ffff9e34e000, free space=2032k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
j java.lang.System.registerNatives()V+0 java.base
j java.lang.System.<clinit>()V+0 java.base
v ~StubRoutines::call_stub 0x0000ffff8d337144
V [libjvm.so+0x8338d8] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x218
V [libjvm.so+0x80f488] InstanceKlass::call_class_initializer(JavaThread*)+0x284
V [libjvm.so+0x8101a8] InstanceKlass::initialize_impl(JavaThread*)+0x528
V [libjvm.so+0xdc7138] Threads::initialize_java_lang_classes(JavaThread*, JavaThread*)+0xe8
V [libjvm.so+0xdc9104] Threads::create_vm(JavaVMInitArgs*, bool*)+0x3f4
V [libjvm.so+0x8c68d4] JNI_CreateJavaVM+0x80
C [libjli.so+0x8bac] JavaMain+0x7c
C [libjli.so+0xc20c] ThreadJavaMain+0xc
C [libc.so.6+0x8597c]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j java.lang.System.registerNatives()V+0 java.base
j java.lang.System.<clinit>()V+0 java.base
v ~StubRoutines::call_stub 0x0000ffff8d337144
siginfo: si_signo: 4 (SIGILL), si_code: 1 (ILL_ILLOPC), si_addr: 0x0000ffff8d33fc5c
Registers:
R0=0x0000000000000000
R1=0x0000000000000000
R2=0x0000000000000000
...
What can I do?