632bd741f7efeadfde48202f91976829367333f5
Caused by some tricky use after-free / stack corruption. This affect both Cycles and EEVEE. The `sms` local variable is getting dereferenced by `get_inscattering` inside the threaded for loop but is passed by copy to the lambda expression. This makes its lifetime ill-defined in a multithreaded context. I am not fully sure about the rules at play here so maybe my understanding is wrong. But removing the call to `get_inscattering` avoids the crash. Note that `SkyMultipleScattering` is also very big (it contains the whole LUT). So copying it might have caused stack overflow. But that should trigger a system interupt. Passing everything by references fixes the issue. This seems to be safe since all as the other local variables are `const` anyway. Also the loop doesn't seem to modify the one that aren't. Pull Request: https://projects.blender.org/blender/blender/pulls/148260
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
