Blender Git Commit Log

Git Commits -> Revision 5a3b7c5

Revision 5a3b7c5 by Hans Goudey (master)
March 2, 2021, 17:08 (GMT)
Fix Node UI Storage Threading Issues

Since the same node tree can be used in modifiers on different objects,
there can be multiple threads writing to the maps in the node tree UI
storage at the same time. The additions for attribute name hints and
error messages made it so this would often cause a crash or at least
an ASAN report. This patch adds locks to prevent multiple threads
from using the maps concurrently.

In a brief test I actually didn't observe a crash without the global
`bNodeTree` UI storage mutex, but I think it's necessary for the change
to be correct, and I did notice some unfreed memory without it anyway.
Ideally it would be in a node tree runtime struct though.

Differential Revision: https://developer.blender.org/D10577

Commit Details:

Full Hash: 5a3b7c532952d29e1ee3b26aba10a91b5bc3af31
Parent Commit: 3a29c19
Lines Changed: +18, -1

2 Modified Paths:

/source/blender/blenkernel/BKE_node_ui_storage.hh (+3, -0) (Diff)
/source/blender/blenkernel/intern/node_ui_storage.cc (+15, -1) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021