https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109712
Bug ID: 109712 Summary: Segmentation fault in linear_search_fdes Product: gcc Version: 13.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: carlosgalvezp at gmail dot com Target Milestone: --- Created attachment 54978 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54978&action=edit Reproducible example Hi! We are bumping our GCC installation from 6910cad55ffc330dc9767d2c8e0b66ccfa4134af to 07c52d1eec9671af92b7ce977b469f13a87887ad and are now getting a segmentation fault when an exception is thrown, gdb points at "linear_search_fdes". Here's the backtrace: Thread 1 "a.out" received signal SIGSEGV, Segmentation fault. linear_search_fdes (ob=0x7fffffffd690, this_fde=0x0, pc=0x404248 <foo()+50>) at ../../../gcc/libgcc/unwind-dw2-fde.c:969 969 ../../../gcc/libgcc/unwind-dw2-fde.c: No such file or directory. (gdb) bt #0 linear_search_fdes (ob=0x7fffffffd690, this_fde=0x0, pc=0x404248 <foo()+50>) at ../../../gcc/libgcc/unwind-dw2-fde.c:969 #1 0x00007ffff77c1e11 in find_fde_tail (dbase=18446744073709383432, bases=0x7fffffffd8e8, hdr=0x4aaa34, pc=4211272) at ../../../gcc/libgcc/unwind-dw2-fde-dip.c:519 #2 _Unwind_Find_FDE (pc=<optimized out>, bases=bases@entry=0x7fffffffd8e8) at ../../../gcc/libgcc/unwind-dw2-fde-dip.c:573 #3 0x00007ffff77bd4aa in uw_frame_state_for (context=0x7fffffffd840, fs=0x7fffffffd930) at ../../../gcc/libgcc/unwind-dw2.c:1005 #4 0x00007ffff77beefd in _Unwind_RaiseException (exc=0xcfc390) at ../../../gcc/libgcc/unwind.inc:104 #5 0x00007ffff7bced8a in __cxa_throw () from /home/s0000069/src/src/bazel-src/external/gcc_trunk_x86_64_linux/usr/lib64/libstdc++.so.6 #6 0x0000000000404249 in foo () at ../main.cpp:8 #7 0x00000000004042a7 in main () at ../main.cpp:18 I attach a reproducible example that I have tested on Ubuntu 20.04, it will download dependencies and build the example project. It expects a "GCC_BASE" variable to be set pointing to the base GCC installation. I have made the following observations, so I'm not sure the problem is GCC, but I thought nevertheless to share it in case someone has a good intuition for what could be happening. If this is not the right forum please let me know where I should ask! * The problem happens only when linking libcudart_static.a. If I think libcudart.so it's fine. I have asked this question at the Nvidia forums as well, awaiting reply. * The problem happens only when throwing exceptions. * The problem happens only when using the Gold linker. * The problem happens only if I use the GCC trunk's libstdc++.so and libgcc_s.so at runtime (via rpath). If I use the Ubuntu 20.04 system-installed libraries, it runs fine. Thank you for your time!