Blender Git Commit Log
Git Commits -> Revision 89565e0
Revision 89565e0 by Bastien Montagne (lanpr-under-gp, lineart-bvh, lineart-shadow, temp-lineart-contained, temp_lineart_contained) October 1, 2020, 13:37 (GMT) |
Fix unreported Eisenbug leading to a crash when reading a blend file. This took more than a day to fully investigate and understand, one of the reasons being that the probability of the issue to show up was extremely low, and subjected to very specific random factors. Root of the issue is that, in some very rare cases, a newly read ID might get the exact same memory address as the one it had when the blend file was saved. In that case, `BKE_workspace_active_set` would return immediately, since the pointer to the active workspace would remain unchanged. But that lead to having an unset NULL active layout pointer, which would crash when attempting to get e.g. the active screen. For the record, I ran into this when running a specific build (master with one flag added to the `LIB_ID_CREATE` ones, with value `1 << 3`), using a specific set of options (`--background --factory-startup -noaudio`), and passing the .blend file from T80090 as argument. |
Commit Details:
Full Hash: 89565e06310356118858858e7720f204e845f980
Parent Commit: d704c29
Committed By: YimingWu
Lines Changed: +7, -3
1 Modified Path:
/source/blender/blenkernel/intern/workspace.c (+7, -3) (Diff)