-
-
Notifications
You must be signed in to change notification settings - Fork 590
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
[C++] Regression in 4.3: std::set_terminate
fails to set termination handler
#1576
Comments
set_terminate
fails to set termination handlerstd::set_terminate
fails to set termination handler
I'm not familiar with that API, but note that both Godot and godot-cpp disable exceptions out of the box since 4.2-stable. For godot-cpp: #1216 Are you building Godot and godot-cpp with You mention it worked in 4.2.2, were you using the |
I checked the MRP and I see you're passing Original MRP commit for godot-cpp:
So it should work fine in both cases, the problem must be something else. I'll move this to |
I was using the latest version of godot-cpp in both instances (as that's what the example project does). I'll try testing this with 4.3.stable from the archive as well, but I don't believe this is a config issue since an exception is thrown in both cases, if there wasn't an exception handler at all it would presumably just crash with zero mention of an exception. |
I stand corrected. The version from the arch repository doesn't work, however the version from the godot repos works fine. Closing, reopening if it somehow turns out to be a godot bug. |
The Godot package on Arch Linux is known to have some problems with GDExtension: https://gitlab.archlinux.org/archlinux/packaging/packages/godot/-/issues/2 Folks have reported that using the official builds or their own custom builds of Godot seem to work fine. |
Tested versions
System information
Arch Linux - Ryzen 5 5600X (x86_64)
Issue description
The C++ function
std::set_terminate
sets the termination function when an exception's not handled. In Godot 4.3.stable, this function doesn't seem to do anything: the stock termination handler is always used. In 4.2.2.stable, this issue isn't there - the function is called.This doesn't seem to depend on the version of godot_cpp - same version is used (latest) therefore the bug's in the main engine presumably.
Steps to reproduce
git submodule update --init
to obtain godot-cppMinimal reproduction project (MRP)
mrp.zip
The text was updated successfully, but these errors were encountered: