[Bf-blender-cvs] [5c9bea25d08] blender-v3.3-release: Fix crash accessing PyEval_GetFrame from Python's crash handler
Campbell Barton
noreply at git.blender.org
Fri Aug 19 08:24:26 CEST 2022
Commit: 5c9bea25d08ccdcac004d22046d0ca08ad3f462c
Author: Campbell Barton
Date: Fri Aug 19 16:20:20 2022 +1000
Branches: blender-v3.3-release
https://developer.blender.org/rB5c9bea25d08ccdcac004d22046d0ca08ad3f462c
Fix crash accessing PyEval_GetFrame from Python's crash handler
Check the thread-state before accessing PyEval_GetFrame, since this is
a crash handler, the state of the Python interpreter isn't known.
===================================================================
M source/blender/python/intern/bpy_interface.c
===================================================================
diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c
index 939fa475344..23fc0bcaeda 100644
--- a/source/blender/python/intern/bpy_interface.c
+++ b/source/blender/python/intern/bpy_interface.c
@@ -585,6 +585,11 @@ void BPY_python_use_system_env(void)
void BPY_python_backtrace(FILE *fp)
{
fputs("\n# Python backtrace\n", fp);
+
+ /* Can happen in rare cases. */
+ if (!_PyThreadState_UncheckedGet()) {
+ return;
+ }
PyFrameObject *frame;
if (!(frame = PyEval_GetFrame())) {
return;
More information about the Bf-blender-cvs
mailing list