-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SIGILL in gmp on Bulldozer CPU #13
Comments
After some messing around in gdb: The memory at $pc is 0x00000000, which of course would translate to an invalid instruction. |
Maybe GMP doesn't detect the CPU properly and returns a NULL for the SIMD optimized code....
I don't have that hardware to debug it. (only a 7th Gen Core i7) |
the coredump here is about a wget.... |
since it's in /usr/bin, it shouldn't know about gmp in /app/lib |
Yes, the git backtrace was needlessly long so I took the next best thing that was using gnutls.
None of the libraries in the backtrace are part of my system, so they must all be from the runtime? I'm not too familiar with runtimes, so no idea why they are in /usr/lib, but my distro (gentoo) places libraries in /usr/lib64, so it's definitely not system libraries. I'll attach gdb and step through later, perhaps that will give me symbol names. |
Ah, seems the coredump was pretty useless. It is a real SIGILL after all!
mulx is an instruction from BMI2, but my CPU only does BMI1. |
I think this can be fixed by removing GMP from the build: |
it seems that for the time being we need to keep building gmp due to flathub/org.freecadweb.FreeCAD#87 but it looks like this was recently fixed in freedesktop sdk: https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/merge_requests/22298 however I don't know when that will land on a release or how to know if we have it. |
I'm getting a SIGILL in libgmp.so.10.4.1 on a Bulldozer CPU. FreeCAD 0.20.1.29410
This happens with everything that uses gnutls, which includes git, so installing addons becomes a bit tedious.
Since there's no debug info available I have no idea how to get the invalid instruction.
I also don't remember gmp having any x86 asm beyond the baseline (i.e. no AVX2 which this cpu wouldn't support), so I have no idea how this'd happen.
Here's the output from
coredumpctl info
Here's a
lscpu
The gmp configuration from the manifest.json
The text was updated successfully, but these errors were encountered: