intel / intel/confidential-computing.sgx.sdk
Segfault in arch_prctl in SIM mode
- Dominant language
- C++
- Stars
- 2
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
After upgrading SDK to the 2.13 I started getting random segfaults:
```
#0 0x00007fffc85447a6 in ecall_XXX (eid=824640059720, retval=0x459f4f , XXX) at shim/enclave_u.c:189
intel/confidential-computing.sgx#1 0x000000000047ef83 in runtime.sigtramp () at /usr/local/go/src/runtime/sys_linux_amd64.s:399
intel/confidential-computing.sgx#2
intel/confidential-computing.sgx#3 0x00007ffff7ecca6b in arch_prctl () at ../sysdeps/unix/syscall-template.S:78
intel/confidential-computing.sgx#4 0x00007fffc852d00d in _SE3 () from /opt/intel/sgxsdk/lib64/libsgx_urts_sim.so
intel/confidential-computing.sgx#5 0x00007fffc852c247 in __morestack () from /opt/intel/sgxsdk/lib64/libsgx_urts_sim.so
intel/confidential-computing.sgx#6 0x00007fffc8521c8b in CEnclave::ecall(int, void const*, void*, bool) () from /opt/intel/sgxsdk/lib64/libsgx_urts_sim.so
intel/confidential-computing.sgx#7 0x00007fffc8526202 in _sgx_ecall(unsigned long, int, void const*, void*, bool) () from /opt/intel/sgxsdk/lib64/libsgx_urts_sim.so
intel/confidential-computing.sgx#8 0x00007fffc85447a6 in ecall_XXX (eid=38654705666, retval=0x7fffc9ffade0, XXX) at shim/enclave_u.c:189
...
```
After some research it becomes clear that:
- Only SIM mode is affected, HW mode works fine
- The issue does not happen every time but still quite often (~10% of the cases)
- SDK 2.12 works fine but both 2.13 and 2.13.3 are affected
Environment:
- Ubuntu 20.04
- Docker engine 20.10.6 (the code runs inside Docker container)
Contributor guide
Assessment
This issue has not been assessed yet.