XDagger / xdagj-native-randomx

Java Native Randomx Implement
MIT License
4 stars 3 forks source link

SIGILL during JNI call #10

Open emmalaporte93 opened 10 months ago

emmalaporte93 commented 10 months ago

hi @Holt666 , @cherry1603 , I am running into issue while running Example.java Tried both to build project , and importing xdagj-native-randomx-0.1.7 as Maven dependency into another project, same issue

/home/user/.sdkman/candidates/java/17.0.8-amzn/bin/java -javaagent:/home/user/Downloads/idea-IU-232.10203.10/lib/idea_rt.jar=36503:/home/user/Downloads/idea-IU-232.10203.10/bin -Dfile.encoding=UTF-8 -classpath /home/user/TOOLS/drill/target/classes:/home/user/.m2/repository/commons-cli/commons-cli/1.4/commons-cli-1.4.jar:/home/user/.m2/repository/org/slf4j/slf4j-simple/1.7.21/slf4j-simple-1.7.21.jar:/home/user/.m2/repository/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar:/home/user/.m2/repository/com/eclipsesource/minimal-json/minimal-json/0.9.2/minimal-json-0.9.2.jar:/home/user/.m2/repository/io/xdag/xdagj-native-randomx/0.1.7/xdagj-native-randomx-0.1.7.jar:/home/user/.m2/repository/net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar tk.netindev.drill.Drill #

A fatal error has been detected by the Java Runtime Environment:

#

SIGILL (0x4) at pc=0x00007f3db00b5954, pid=1086159, tid=1086160

#

JRE version: OpenJDK Runtime Environment Corretto-17.0.8.7.1 (17.0.8+7) (build 17.0.8+7-LTS)

Java VM: OpenJDK 64-Bit Server VM Corretto-17.0.8.7.1 (17.0.8+7-LTS, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)

Problematic frame:

C [jna18207388093069493637.tmp+0x32954] randomx_blake2b_init_param+0x74

#

No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again

#

If you would like to submit a bug report, please visit:

https://github.com/corretto/corretto-17/issues/

The crash happened outside the Java Virtual Machine in native code.

See problematic frame for where to report the bug.

#

Process finished with exit code 134 (interrupted by signal 6: SIGABRT)

Ubuntu-20.04, latest Idea

Any help will be appreciated :)

emmalaporte93 commented 10 months ago

Ugghhh, formatting is not good :)

/home/user/.sdkman/candidates/java/17.0.8-amzn/bin/java -javaagent:/home/user/Downloads/idea-IU-232.10203.10/lib/idea_rt.jar=36503:/home/user/Downloads/idea-IU-232.10203.10/bin -Dfile.encoding=UTF-8 -classpath /home/user/TOOLS/drill/target/classes:/home/user/.m2/repository/commons-cli/commons-cli/1.4/commons-cli-1.4.jar:/home/user/.m2/repository/org/slf4j/slf4j-simple/1.7.21/slf4j-simple-1.7.21.jar:/home/user/.m2/repository/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar:/home/user/.m2/repository/com/eclipsesource/minimal-json/minimal-json/0.9.2/minimal-json-0.9.2.jar:/home/user/.m2/repository/io/xdag/xdagj-native-randomx/0.1.7/xdagj-native-randomx-0.1.7.jar:/home/user/.m2/repository/net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar tk.netindev.drill.Drill
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGILL (0x4) at pc=0x00007f3db00b5954, pid=1086159, tid=1086160
#
# JRE version: OpenJDK Runtime Environment Corretto-17.0.8.7.1 (17.0.8+7) (build 17.0.8+7-LTS)
# Java VM: OpenJDK 64-Bit Server VM Corretto-17.0.8.7.1 (17.0.8+7-LTS, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# C  [jna18207388093069493637.tmp+0x32954]  randomx_blake2b_init_param+0x74
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /TOOLS/drill/hs_err_pid1086159.log
#
# If you would like to submit a bug report, please visit:
#   https://github.com/corretto/corretto-17/issues/
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

Process finished with exit code 134 (interrupted by signal 6: SIGABRT)
emmalaporte93 commented 10 months ago

Ok, so after building randomx submodule from sources and placing librandomx.so to parent proj solved issue Although, when importing lib as Maven dependency, issue is the same My question is how portable this solution? I don't have too much experience with C++ and JNI, so not sure if .jar file with included xdagj-native-randomx-0.1.7 Maven dependency will work (both on Linux and Windows)

LucasMLK commented 9 months ago

Theoretically, xdagj-native-randomx can run on any platform where randomx can run. jna is just a call, which facilitates the verification of randomx integrated into java programs.