-
Notifications
You must be signed in to change notification settings - Fork 866
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
Illegal instruction: illegal operand when compiling with -fsanitize=address (openmpi 5.0.5) #12819
Comments
I don't see anything usable in that error output - an "illegal instruction somewhere in the code" is impossible to track down. Any chance you can localize that a bit? |
The culprit seems to be |
@rhc54 I manually compiled openmpi.5.0.5 with the following options:
Here is the backtrace:
|
I take it you run fine when not including the address sanitizer? Last time I tried playing with that, it took me down a rabbit hole. |
Yes, works perfectly without sanitizer. Irony is that 4.1.6 works perfectly fine with sanitizer. |
Which compiler are you using? have you tried configuring with |
on my system, a workaround is to
|
Thanks a lot. I was using both clang and gcc previously, but |
I believe the issue stems from the sanitizer acting as a memory interceptor (so it can perform its address checks) while OMPI has its own memory interceptor (the "patcher") that it uses for optimizing performance - and the two conflict. So basically the MCA parameter is saying "turn off the OMPI interceptor" and ceding control of memory to the sanitizer, thus resolving the conflict. Of course, that begs the question of whether you are checking OMPI's actual memory usage - i.e., is this test doing anything truly useful? 🤷♂️ |
based on the traces, I would suspect the sanitizer does not properly support |
I am not at all concerned with openmpi memory usage. I wanted to use address sanitizer to debug my own code and was not able to use it. |
Background information
What version of Open MPI are you using? (e.g., v4.1.6, v5.0.1, git branch name and hash, etc.)
v 5.0.5
Describe how Open MPI was installed (e.g., from a source/distribution tarball, from a git clone, from an operating system distribution package, etc.)
Operating system distribution package (
pacman -S openmpi
)Please describe the system on which you are running
Details of the problem
When using address sanitizer, I get Illegal instruction. (same with both gcc and clang). Please note that I donot see this error when using
4.1.6
version. This issue was mentioned previously: #12584 (comment)'''gdb output```
The text was updated successfully, but these errors were encountered: