Blender Git Commit Log

Git Commits -> Revision 106ff26

December 29, 2020, 20:39 (GMT)
USD Importer: dependency graph update crash.

Fixed occasional random crash due to simultaneous update
to the dependency graph from multiple threads. A typical
collision might happen when the USD import job thread
is creating a material while the window manager in the
main thread is processing event notifiers. Specifically,
invoking BKE_object_material_slot_add() in the import
thread would crash in the call Depsgraph::find_id_node(),
presumably because the call to BKE_scene_graph_update_for_newframe()
from the main thread is invalidating Depsgraph::id_hash.
The current fix is to remove the ND_FRAME flag from the call
to WM_jobs_timer(), which prevents ED_update_for_newframe()
from being called in wm_event_system.c, line 506.
We should look into whether we can skip invoking WM_jobs_timer()
from the import thread altogether.

Commit Details:

Full Hash: 106ff2632c1d4e0b882215cdb0337f50221823ca
Parent Commit: def3714
Lines Changed: +1, -1

1 Modified Path:

/source/blender/io/usd/intern/usd_capi.cc (+1, -1) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021