mirror of
https://github.com/blender/blender
synced 2026-10-25 03:07:01 +03:00
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 |
||
|---|---|---|
| .. | ||
| include | ||
| source | ||
| CMakeLists.txt | ||