Hello! I am getting an error at step 3 of snap2stamps “Coregistration and Interferogram computation”:
# A fatal error has been detected by the Java Runtime Environment:
# SIGILL (0x4) at pc=0x00007f359dcbd020, pid=12162, tid=0x00007f36783a3700
# JRE version: OpenJDK Runtime Environment (Zulu 188.8.131.52-CA-linux64) (8.0_242-b20) (build 1.8.0_242-b20)
# Java VM: OpenJDK 64-Bit Server VM (25.242-b20 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libjblas.so+0x64f020] dgemm_otcopy_OPTERON_SSE3+0x20
This is on SNAP 8 with all latest updates and it occurs on Ubuntu 16.04, 18.04, 20.04, Debian 10 and 11. Funny thing is, I can run all four steps of snap2stamps on a Mac without any errors.
I have tried every suggestion I could find online to no avail. Any help would be greatly appreciated. Thanks!
Most of the problems with
libjblas.so in SNAP involve mismatched gfortran runtime libraries, so may not be relevant here.
SIGILL means the CPU doesn’t support an instruction in the
dgemm_otcopy_OPTERON_SSE3 code. Are all those linux version running on the same hardware? What does
cat /proc/cpuinfo | grep sse3 give?
Very old hardware (or a VM that doesn’t provide the full instruction set of the host) could explain the unsupported instruction. Wikipedia SSE3 lists older CPU’s with SSE3. I think “OPTERON_SSE3” refers to AMD’s partial implementation of SSE3, used so the code will run on both Intel and AMD processors.
Interesting, thank you. It did not occur to me that it could be CPU related. I have a custom AMD 5950x workstation running Proxmox which I then use to spin up VMs as needed. SNAP is installed on one of those VMs.
cat /proc/cpuinfo | grep sse3 does not return anything but
cat /proc/cpuinfo | grep sse returns multiple instances of this:
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm rep_good nopl cpuid extd_apicid tsc_known_freq pni cx16 x2apic hypervisor cmp_legacy 3dnowprefetch vmmcall
Here are the options I have on Proxmox for the CPU:
Reading more into this… the default “kvm64” CPU type in promox emulates a Pentium 4 look alike in order to simplify things. I will try a new VM with “host” CPU flags.
Thank you, @gnwiii, for pointing me in the right direction. I did get another error after fixing the problem with the CPU that i was able to solve by installing libgfortran5 on Ubuntu 18.04. Thanks again!
Having two issues (CPU and gfortran versions) at once is rare bad luck! Did this start last Friday (the 13th?).
I’m glad you were able to sort out the problem. For the benefit of the next unlucky user, please describe how you fixed the problem with the CPU (different computer, changes to VM settings, or something else).
Yep, some bad luck but I am grateful for this forum.
On Proxmox, when creating a new VM, under CPU type I chose “host” which allowed the OS to see the AMD 5950x I have. The downside of doing so is that might not be able to migrate the VM to another host if I wanted to but I do not intend to do that anytime soon.