Skip to content

Sanitizer KCFI (Kernel Control Flow Integrity) reports Illegal instruction in libfabric. #11000

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

Open
kjkozlowski opened this issue Apr 29, 2025 · 0 comments
Labels

Comments

@kjkozlowski
Copy link

Describe the bug
Sanitizer KCFI (Kernel Control Flow Integrity) reports Illegal instruction in libfabric.

To Reproduce
Checkout repository https://github.com/kjkozlowski/rxm_reproducer.

Output

Thread 2 "reproducer" received signal SIGILL, Illegal instruction.
[Switching to Thread 0x7ffff76f4640 (LWP 2056319)]
0x0000555555560b44 in fi_domain (fabric=0x7ffff00e4b90, info=0x7ffff00e8820, domain=0x7ffff76f3d28, context=0x0) at /mnt/kcfi/third_party/libfabric/include/rdma/fi_domain.h:362
362             return fabric->ops->domain(fabric, info, domain, context);
(gdb) bt
#0  0x0000555555560b44 in fi_domain (fabric=0x7ffff00e4b90, info=0x7ffff00e8820, domain=0x7ffff76f3d28, context=0x0) at /mnt/kcfi/third_party/libfabric/include/rdma/fi_domain.h:362
#1  0x000055555555fe5c in main::$_0::operator() (this=0x555555580748) at /mnt/kcfi/main.cpp:146
#2  0x000055555555fd55 in std::__invoke_impl<void, main::$_0> (__f=...) at /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:61
#3  0x000055555555fd15 in std::__invoke<main::$_0> (__fn=...) at /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:96
#4  0x000055555555fced in std::thread::_Invoker<std::tuple<main::$_0> >::_M_invoke<0ul> (this=0x555555580748) at /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_thread.h:279
#5  0x000055555555fcc5 in std::thread::_Invoker<std::tuple<main::$_0> >::operator() (this=0x555555580748) at /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_thread.h:286
#6  0x000055555555fc19 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<main::$_0> > >::_M_run (this=0x555555580740) at /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_thread.h:231
#7  0x00007ffff7bf1253 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x00007ffff7879ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#9  0x00007ffff790b850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Environment:
Operating System: Ubuntu 22.04
Provider: reproducer is using ofi_rxm but it may be irrelevant to a issue
Libfabric Version: 2.1.0
Clang:
clang version 18.1.8 Target: x86_64-unknown-linux-gnu Thread model: posix
On clang version 20.1.3 issue also persist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant