Sorry for replying privately by mistake. Thank you so much Florian, I was not aware that libunwind is not the default unwinder. That could be the key to this and looks like we're linking it probably due to a 3rd party dependency. Looks like I made a mistake by reducing our project to an exception hello-world crashing minimum example instead of building one externally. In fact, I did, but I saw that _Unwind_RaiseException is called directly in __cxa_throw in libstdc++, so I assumed that is how it normally goes. Now I see that gcc provides a built-in for this function. On Thu, Feb 3, 2022 at 1:26 PM Florian Weimer <fweimer@xxxxxxxxxx> wrote: > > * Juraj Oršulić: > > > I haven’t specified anything, so it’s using libunwind.so by default. > > I have stepped through libunwind and observed the moment of curruption when it > > prematurely commits the new rbp value. > > The default for GCC is its built-in unwinder. If you are using > libunwind, you need to talk to the libunwind developers. > > Please keep posting to the list. > > Thanks, > Florian >