[PAL] Do not describe RIP location on syscall instruction
Description of the Changes
PR #1991 exposes a segmentation fault with the use of pal_describe_location as in below error log:
(host_exception.c:141:handle_sync_signal) error: Unexpected segmentation fault (SIGSEGV) occurred inside untrusted PAL (libc-2.31.so+0x22941 (addr = 0x7f62e5f98941))
Using the above addresses we could find the functions abort->hlt from objdump of libc.
We tried to debug the issue using GDB to figure out the cause of abort call inside libc but issue did not reproduced with GDB even after multiple tries.
Issue is consistent with Pytorch workload using curated apps (with debug build) without GDB, on a Azure VM, rarely on our lab servers.
Also tested by increasing the ENCLAVE_SIG_STACK_SIZE and ALT_STACK_SIZE size to 256KB but that also did not help.
Likely some race in Gramine when using pal_describe_location which we are not hitting with GDB as GDB makes the execution slow.
We want to remove this function call in coming release and analyze this issue after the release.
Fixes gramineproject/contrib#87
Jenkins, test this please
Closing this, as it's not fixing the issue (see https://github.com/gramineproject/gramine/issues/1261#issuecomment-2411152710). I'll create a proper fix and submit a PR.