Blender Git Commit Log

Git Commits -> Revision 08ac4d3

Revision 08ac4d3 by Jeroen Bakker (master)
May 14, 2020, 11:54 (GMT)
Fix T76553: Blender Freezes When Playing Back Animation

In some cases blender could freeze. When threads are blocked (waiting for other tasks completion) the scheduler can let the thread perform a different task. If this task wants a write-lock for something that was read-locked in the stack a dead lock will happen.

For task pools every task is isolated. For range tasks the inner loop will be isolated. The implementation is limited as isolation in TBB uses functors which are tricky to add to a C API. We decided to start with a simple and adapt were we need to.

During testing we came to this setup as it was reliable (we weren't able to let it freeze or crash) and didn't had noticeable performance impact.

Reviewed By: Brecht van Lommel

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

Commit Details:

Full Hash: 08ac4d3d71dee9fc4ec7f878e57de59c87115280
Parent Commit: 36d9f7e
Lines Changed: +16, -7

3 Modified Paths:

/source/blender/blenlib/intern/task_pool.cc (+1, -1) (Diff)
/source/blender/blenlib/intern/task_range.cc (+7, -5) (Diff)
/source/blender/modifiers/intern/MOD_remesh.c (+8, -1) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021