BVHTree Causes Crash When Calculated Twice on an Object #59710

Closed
opened 2018-12-21 08:04:50 +01:00 by Andrew Ray · 6 comments

System Information
Operating system: Win10
Graphics card: EVGA GTX970

Blender Version
Broken: BVHTree calculation
2.80, 9dde3e42a7c5, blender2.8, 2018-12-20

Short description of error
Scripting in Blender python, running a script that calculates BVHTree twice (for example, clicking RUN SCRIPT twice) on the same object causes crash.

Exact steps for others to reproduce the error
Put two cubes in a new file. Rename "s" and "t".
Open a new text editor and run the below code.
First time it runs fine. Run again and it will crash.
Reopen blender.
Run object "s". Runs OK.
Change code to run object "t". Runs OK.
Run either object again and it will crash.
I tried in 2.79 and it works ok (modifying for depsgraph of course).

import bpy
from mathutils.bvhtree import BVHTree

s = 's'
t = 't'

sc = bpy.context.depsgraph
bvhtree = BVHTree.FromObject(bpy.data.objects- [x], sc)

**System Information** Operating system: Win10 Graphics card: EVGA GTX970 **Blender Version** Broken: BVHTree calculation 2.80, 9dde3e42a7c5, blender2.8, 2018-12-20 **Short description of error** Scripting in Blender python, running a script that calculates BVHTree twice (for example, clicking RUN SCRIPT twice) on the same object causes crash. **Exact steps for others to reproduce the error** Put two cubes in a new file. Rename "s" and "t". Open a new text editor and run the below code. First time it runs fine. Run again and it will crash. Reopen blender. Run object "s". Runs OK. Change code to run object "t". Runs OK. Run either object again and it will crash. I tried in 2.79 and it works ok (modifying for depsgraph of course). import bpy from mathutils.bvhtree import BVHTree s = 's' t = 't' sc = bpy.context.depsgraph bvhtree = BVHTree.FromObject(bpy.data.objects- [x], sc)
Author

Added subscriber: @gumby1325

Added subscriber: @gumby1325

Added subscribers: @Sergey, @ZedDB

Added subscribers: @Sergey, @ZedDB

With a debug build I get this assert on first script run:
BLI_assert failed: /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/DerivedMesh.c:2192, mesh_get_eval_final(), at 'ob->id.tag & LIB_TAG_COPIED_ON_WRITE'

release build backtrace:

Thread 1 "blender" received signal SIGSEGV, Segmentation fault.
0x0000555556752aae in CustomData_get_active_layer_index ()
(gdb) bt
- 0  0x0000555556752aae in CustomData_get_active_layer_index ()
- 1  0x0000555556753b09 in CustomData_get_layer ()
- 2  0x0000555556472894 in C_BVHTree_FromObject ()
- 3  0x00007ffff743a702 in _PyCFunction_FastCallDict () from /usr/lib64/libpython3.6m.so.1.0
- 4  0x00007ffff74a8e94 in call_function () from /usr/lib64/libpython3.6m.so.1.0
- 5  0x00007ffff74adbd6 in _PyEval_EvalFrameDefault () from /usr/lib64/libpython3.6m.so.1.0
- 6  0x00007ffff74a89c0 in _PyEval_EvalCodeWithName () from /usr/lib64/libpython3.6m.so.1.0
- 7  0x00007ffff74a8f22 in PyEval_EvalCodeEx () from /usr/lib64/libpython3.6m.so.1.0
- 8  0x00007ffff74a8f4b in PyEval_EvalCode () from /usr/lib64/libpython3.6m.so.1.0
- 9  0x0000555556431e0b in python_script_exec ()
- 10 0x000055555615f1a6 in text_run_script ()
- 11 0x000055555609263c in wm_operator_invoke ()
- 12 0x0000555556092bc8 in wm_operator_call_internal ()
- 13 0x0000555556092f8a in WM_operator_name_call_ptr ()
- 14 0x000055555623eacf in ui_apply_but_funcs_after ()
- 15 0x000055555624edbc in ui_handler_region_menu ()
- 16 0x000055555609589a in wm_handlers_do_intern ()
- 17 0x000055555609625c in wm_handlers_do ()
- 18 0x0000555556096a54 in wm_event_do_handlers ()
- 19 0x000055555608e300 in WM_main ()
#20 0x000055555607a44b in main ()

@Sergey COW related?

With a debug build I get this assert on first script run: `BLI_assert failed: /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/DerivedMesh.c:2192, mesh_get_eval_final(), at 'ob->id.tag & LIB_TAG_COPIED_ON_WRITE'` release build backtrace: ``` Thread 1 "blender" received signal SIGSEGV, Segmentation fault. 0x0000555556752aae in CustomData_get_active_layer_index () (gdb) bt - 0 0x0000555556752aae in CustomData_get_active_layer_index () - 1 0x0000555556753b09 in CustomData_get_layer () - 2 0x0000555556472894 in C_BVHTree_FromObject () - 3 0x00007ffff743a702 in _PyCFunction_FastCallDict () from /usr/lib64/libpython3.6m.so.1.0 - 4 0x00007ffff74a8e94 in call_function () from /usr/lib64/libpython3.6m.so.1.0 - 5 0x00007ffff74adbd6 in _PyEval_EvalFrameDefault () from /usr/lib64/libpython3.6m.so.1.0 - 6 0x00007ffff74a89c0 in _PyEval_EvalCodeWithName () from /usr/lib64/libpython3.6m.so.1.0 - 7 0x00007ffff74a8f22 in PyEval_EvalCodeEx () from /usr/lib64/libpython3.6m.so.1.0 - 8 0x00007ffff74a8f4b in PyEval_EvalCode () from /usr/lib64/libpython3.6m.so.1.0 - 9 0x0000555556431e0b in python_script_exec () - 10 0x000055555615f1a6 in text_run_script () - 11 0x000055555609263c in wm_operator_invoke () - 12 0x0000555556092bc8 in wm_operator_call_internal () - 13 0x0000555556092f8a in WM_operator_name_call_ptr () - 14 0x000055555623eacf in ui_apply_but_funcs_after () - 15 0x000055555624edbc in ui_handler_region_menu () - 16 0x000055555609589a in wm_handlers_do_intern () - 17 0x000055555609625c in wm_handlers_do () - 18 0x0000555556096a54 in wm_event_do_handlers () - 19 0x000055555608e300 in WM_main () #20 0x000055555607a44b in main () ``` @Sergey COW related?

Added subscriber: @JoseConseco

Added subscriber: @JoseConseco

I think this is related to my bug: https://developer.blender.org/T58734

I think this is related to my bug: https://developer.blender.org/T58734

Closed as duplicate of #58734

Closed as duplicate of #58734
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#59710
No description provided.