Closed xtradev closed 3 years ago
Roman, Josftware can't realistically respond to problems with a repo forked from the Jsoftware official repo. The problem could be anything. Better to contact those responsible for that repo.
But, as it built and installed, a wild guess (without looking at the output you provided) is that you might be running an avx2 build on hardware that does not support that instruction set (hence the illegal instruction).
On Fri, Apr 9, 2021 at 9:11 AM Roman Mishin @.***> wrote:
I am using AUR package to build J9 from Git: https://aur.archlinux.org/packages/j9-git I can see it builds and installs without errors, but when I start jconsole it terminates with Illegal instruction.
$ uname -a Linux rvm 5.11.10-artix1-1 #1 SMP PREEMPT Fri, 26 Mar 2021 15:37:19 +0000 x86_64 GNU/Linux
$ gcc --version gcc (GCC) 10.2.0
$ j9 -c /usr/bin/j9: line 7: 24935 Illegal instruction ${J9PATH}/bin/jconsole "$@"
$ /usr/lib/j9/bin/jconsole Illegal instruction
$ /usr/lib/j9/bin/jqt qt5ct: using qt5ct plugin qt5ct: D-Bus global menu: no Illegal instruction
$ strace -o strace.txt /usr/lib/j9/bin/jconsole Illegal instruction
$ cat strace.txt execve("/usr/lib/j9/bin/jconsole", ["/usr/lib/j9/bin/jconsole"], 0x7fffd552f6a0 / 69 vars /) = 0 brk(NULL) = 0x5622ea5ef000 archprctl(0x3001 /* ARCH??? /, 0x7fff751a5190) = -1 EINVAL (Invalid argument) access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=134828, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 134828, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f788d953000 close(3) = 0 openat(AT_FDCWD, "/usr/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\"\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=22704, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f788d951000 mmap(NULL, 24720, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f788d94a000 mmap(0x7f788d94c000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f788d94c000 mmap(0x7f788d94e000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f788d94e000 mmap(0x7f788d94f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f788d94f000 close(3) = 0 openat(AT_FDCWD, "/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`|\2\0\0\0\0\0"..., 832) = 832 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 pread64(3, "\4\0\0\0@\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0"..., 80, 848) = 80 pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0T\246\344\4\347\334\35\347\301CJ\0\267\261\2552"..., 68, 928) = 68 newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2154488, ...}, AT_EMPTY_PATH) = 0 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 mmap(NULL, 1884632, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f788d77d000 mmap(0x7f788d7a3000, 1359872, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26000) = 0x7f788d7a3000 mmap(0x7f788d8ef000, 311296, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x172000) = 0x7f788d8ef000 mmap(0x7f788d93b000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bd000) = 0x7f788d93b000 mmap(0x7f788d941000, 33240, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f788d941000 close(3) = 0 mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f788d77a000 arch_prctl(ARCH_SET_FS, 0x7f788d77a740) = 0 mprotect(0x7f788d93b000, 12288, PROT_READ) = 0 mprotect(0x7f788d94f000, 4096, PROT_READ) = 0 mprotect(0x5622e9884000, 4096, PROT_READ) = 0 mprotect(0x7f788d9a3000, 8192, PROT_READ) = 0 munmap(0x7f788d953000, 134828) = 0 brk(NULL) = 0x5622ea5ef000 brk(0x5622ea610000) = 0x5622ea610000 openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=4023472, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 4023472, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f788d3a3000 close(3) = 0 readlink("/proc/self/exe", "/usr/lib/j9/bin/jconsole", 4000) = 24 readlink("/usr/lib/j9/bin/jconsole", 0x7fff751a2d80, 4000) = -1 EINVAL (Invalid argument) newfstatat(AT_FDCWD, "/usr/lib/j9/bin/libj.so", {st_mode=S_IFREG|0755, st_size=4062232, ...}, 0) = 0 prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=81921024, rlim_max=RLIM64_INFINITY}) = 0 prlimit64(0, RLIMIT_STACK, {rlim_cur=16384*1024, rlim_max=RLIM64_INFINITY}, NULL) = 0 ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0 ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=134828, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 134828, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f788d953000 close(3) = 0 openat(AT_FDCWD, "/usr/lib/tls/x86_64/x86_64/libedit.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/tls/x86_64/x86_64", 0x7fff751a4470, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/tls/x86_64/libedit.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/tls/x86_64", 0x7fff751a4470, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/tls/x86_64/libedit.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/tls/x86_64", 0x7fff751a4470, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/tls/libedit.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/tls", 0x7fff751a4470, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64/x86_64/libedit.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64/x86_64", 0x7fff751a4470, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64/libedit.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64", 0x7fff751a4470, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64/libedit.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64", 0x7fff751a4470, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/libedit.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib", {st_mode=S_IFDIR|0755, st_size=155648, ...}, 0) = 0 munmap(0x7f788d953000, 134828) = 0 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=134828, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 134828, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f788d953000 close(3) = 0 openat(AT_FDCWD, "/usr/lib/libedit.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) munmap(0x7f788d953000, 134828) = 0 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=134828, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 134828, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f788d953000 close(3) = 0 openat(AT_FDCWD, "/usr/lib/libedit.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) munmap(0x7f788d953000, 134828) = 0 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=134828, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 134828, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f788d953000 close(3) = 0 openat(AT_FDCWD, "/usr/lib/libedit.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \220\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=223136, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 240728, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f788d368000 mprotect(0x7f788d371000, 180224, PROT_NONE) = 0 mmap(0x7f788d371000, 118784, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7f788d371000 mmap(0x7f788d38e000, 57344, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26000) = 0x7f788d38e000 mmap(0x7f788d39d000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x34000) = 0x7f788d39d000 mmap(0x7f788d3a0000, 11352, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f788d3a0000 close(3) = 0 openat(AT_FDCWD, "/usr/lib/libncursesw.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 p\1\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=457736, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 462072, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f788d2f7000 mmap(0x7f788d30e000, 245760, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7f788d30e000 mmap(0x7f788d34a000, 98304, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x53000) = 0x7f788d34a000 mmap(0x7f788d362000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6a000) = 0x7f788d362000 close(3) = 0 mprotect(0x7f788d362000, 20480, PROT_READ) = 0 mprotect(0x7f788d39d000, 8192, PROT_READ) = 0 munmap(0x7f788d953000, 134828) = 0 openat(AT_FDCWD, "/usr/lib/j9/bin/libj.so", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\310\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=4062232, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 4068432, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f788cf15000 mmap(0x7f788cf21000, 3661824, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7f788cf21000 mmap(0x7f788d29f000, 290816, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x38a000) = 0x7f788d29f000 mmap(0x7f788d2e6000, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3d0000) = 0x7f788d2e6000 mmap(0x7f788d2f6000, 1104, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f788d2f6000 mprotect(0x7f788d9a4000, 84, PROT_READ|PROT_WRITE) = 0 mprotect(0x7f788d9a4000, 84, PROT_READ) = 0 mprotect(0x7fff751a5000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC|PROT_GROWSDOWN) = 0 close(3) = 0 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=134828, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 134828, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f788d953000 close(3) = 0 openat(AT_FDCWD, "/usr/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\363\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=1327568, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 1327128, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f788cdd0000 mprotect(0x7f788cddf000, 1261568, PROT_NONE) = 0 mmap(0x7f788cddf000, 634880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7f788cddf000 mmap(0x7f788ce7a000, 622592, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xaa000) = 0x7f788ce7a000 mmap(0x7f788cf13000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x142000) = 0x7f788cf13000 close(3) = 0 mprotect(0x7f788cf13000, 4096, PROT_READ) = 0 mprotect(0x7f788d2e6000, 8192, PROT_READ) = 0 --- SIGILL {si_signo=SIGILL, si_code=ILL_ILLOPN, si_addr=0x7f788cfde426} --- +++ killed by SIGILL +++
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jsoftware/jsource/issues/23, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEBRCHWVHJ72Y7QBOOATLYTTH34H7ANCNFSM42U6MJHA .
For those facing this issue:
The current default build for x86_64
architecture is targeting hardware with AVX support; I attempted to run it on a hardware without AVX support. To make a non-AVX build I changed j64avx
to j64
in make2/build_all.sh
:
diff --git a/make2/build_all.sh b/make2/build_all.sh
index 4dcb3c1e..a22f59d0 100755
--- a/make2/build_all.sh
+++ b/make2/build_all.sh
@@ -26,7 +26,7 @@ else
jplatform="${jplatform:=linux}"
fi
if [ "`uname -m`" = "x86_64" ]; then
-j64x="${j64x:=j64avx}"
+j64x="${j64x:=j64}"
elif [ "`uname -m`" = "aarch64" ]; then
j64x="${j64x:=j64}"
elif [ "`uname -m`" = "arm64" ]; then
For the record, instructions for building binaries is inside make2/make.txt . There is no need to patch the building scripts.
I am using AUR package to build J9 from Git: https://aur.archlinux.org/packages/j9-git I can see it builds and installs without errors, but when I start
jconsole
it terminates withIllegal instruction
.