Created attachment 230619 [details] error report Trying to start elasticsearch installed from packages on 13.0-release arm64 under vmware fusion on m1 mac FreeBSD devbox 13.0-RELEASE-p4 FreeBSD 13.0-RELEASE-p4 #0: Tue Aug 24 07:38:07 UTC 2021 root@arm64-builder.daemonology.net:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC arm64 results in message from openjdk8 [root@develk /usr/ports/java/openjdk8]# service elasticsearch onestart Starting elasticsearch. # # A fatal error has been detected by the Java Runtime Environment: # # SIGILL (0x4) at pc=0x000000004224b9a0, pid=14774, tid=0x0000000000018807 # # JRE version: (8.0_302-b08) (build ) # Java VM: OpenJDK 64-Bit Server VM (25.302-b08 mixed mode bsd-aarch64 compressed oops) # Problematic frame: # v ~BufferBlob::native signature handlers # # Core dump written. Default location: //java.core # # An error report file with more information is saved as: # /tmp/hs_err_pid14774.log # # If you would like to submit a bug report, please visit: # https://bugs.freebsd.org/bugzilla/enter_bug.cgi?product=Ports%20%26%20Packages&component=Individual%20Port(s)&short_desc=java/openjdk8%3A%20 # /usr/local/lib/elasticsearch/bin/elasticsearch-env: line 88: 14774 Abort trap "$JAVA" "$XSHARE" -cp "$ES_CLASSPATH" org.elasticsearch.tools.java_version_checker.JavaVersionChecker /usr/local/etc/rc.d/elasticsearch: WARNING: failed to start elasticsearch
I'm getting the same issue using antlr. It looks like java is not working also on FreeBSD 12.3 arm64. I get the same error also changing JDK versions. (lldb) target create "/usr/local/openjdk8/bin/javac" --core "javac.core" Core file '/data/coredumps/javac.core' (aarch64) was loaded. (lldb) bt all * thread #1, name = 'javac', stop reason = signal SIGSEGV * frame #0: 0x000054f8e334adec libjvm.so`___lldb_unnamed_symbol24423$$libjvm.so + 228 frame #1: 0x000054f8e33558a0 libjvm.so`___lldb_unnamed_symbol24681$$libjvm.so + 92 frame #2: 0x000054f8e34c54d4 libjvm.so`___lldb_unnamed_symbol28424$$libjvm.so + 2404 frame #3: 0x000054f8e34c64a0 libjvm.so`___lldb_unnamed_symbol28426$$libjvm.so + 1184 frame #4: 0x000054f8e3355180 libjvm.so`JVM_handle_bsd_signal + 536 frame #5: 0x000054f8e3351d70 libjvm.so`___lldb_unnamed_symbol24596$$libjvm.so + 56 frame #6: 0x000054f8d9e1a09c libthr.so.3`___lldb_unnamed_symbol102$$libthr.so.3 + 252 frame #7: 0x000054f8d9e197d4 libthr.so.3`___lldb_unnamed_symbol83$$libthr.so.3 + 236 frame #8: 0x0000fffffffff000 frame #9: 0x000054f8e34d7650 libjvm.so`___lldb_unnamed_symbol28620$$libjvm.so + 184 frame #10: 0x000054f8e307f314 libjvm.so`___lldb_unnamed_symbol17426$$libjvm.so + 84 frame #11: 0x000054f8e346e178 libjvm.so`___lldb_unnamed_symbol27481$$libjvm.so + 792 frame #12: 0x000054f8e3138b4c libjvm.so`JNI_CreateJavaVM + 136 frame #13: 0x000054f8da824eb8 libjli.so`JavaMain + 264 frame #14: 0x000054f8d9e137ac libthr.so.3`___lldb_unnamed_symbol1$$libthr.so.3 + 464 frame #15: 0x000054f8d9e13300 libthr.so.3`_pthread_create + 904 thread #2, name = 'javac', stop reason = signal SIGSEGV frame #0: 0x000054f8db4b6bdc libc.so.7`__sys__umtx_op + 8 frame #1: 0x000054f8d9e15dfc libthr.so.3`___lldb_unnamed_symbol14$$libthr.so.3 + 56 frame #2: 0x000054f8d9e1f3e4 libthr.so.3`___lldb_unnamed_symbol146$$libthr.so.3 + 800 frame #3: 0x000054f8da8281c4 libjli.so`ContinueInNewThread0 + 124 frame #4: 0x000054f8da8267e8 libjli.so`ContinueInNewThread + 144 frame #5: 0x000054f8da8282ac libjli.so`JVMInit + 120 frame #6: 0x000054f8da824a8c libjli.so`JLI_Launch + 4876 frame #7: 0x000054f898650b6c javac`___lldb_unnamed_symbol4$$javac + 96 frame #8: 0x000054f8986508f8 javac`___lldb_unnamed_symbol1$$javac + 124
Can any of you try to recompile java with the patch from here (only the second hunk is needed): https://cgit.freebsd.org/ports/diff/java/openjdk11/Makefile?id=3822416493cfbbed8fe7a487391b40bec956d671
(In reply to Mikael Urankar from comment #2) Below diff works for me. I have no idea if the CONFIGURE_ENV should have stayed. diff --git a/java/openjdk8/Makefile b/java/openjdk8/Makefile index e444b3147af9..9b21c0da7d54 100644 --- a/java/openjdk8/Makefile +++ b/java/openjdk8/Makefile @@ -202,9 +202,15 @@ LIB_DEPENDS+= libffi.so:devel/libffi .if ${COMPILER_TYPE} == clang MAKE_ENV+= COMPILER_WARNINGS_FATAL=false USE_CLANG=true -CONFIGURE_ENV+= LIBCXX="-lc++" +#CONFIGURE_ENV+= LIBCXX="-lc++" .if ${COMPILER_VERSION} >= 130 -CONFIGURE_ARGS+= --with-extra-cflags="-Wno-unused-but-set-parameter" +#CONFIGURE_ARGS+= --with-extra-cflags="-Wno-unused-but-set-parameter" +# PR258954: OpenJDK <= 13 crash due to undefined behavior with clang >= 13 +# See also https://bugs.openjdk.java.net/browse/JDK-8229258 +LLVM_VER= 12 +BUILD_DEPENDS+= clang${LLVM_VER}:devel/llvm${LLVM_VER} +CC= ${LOCALBASE}/bin/clang${LLVM_VER} +CXX= ${LOCALBASE}/bin/clang++${LLVM_VER} .endif .endif
(In reply to Ronald Klop from comment #3) Please ignore my previous comment. I was looking into an issue similar to bug #258954 and bug #260319. Although going back to llvm12 might also fix/workaround those issues.
(In reply to Mikael Urankar from comment #2) I can confirm that appying the openjdk11 change to openjdk8 makes it work as fop compiled.