This looks like a optimizer bug where it makes wrong assumptions.
The code inside lib_id_delete:264 on rBafd13710b897cc1c11b
for (id = last_remapped_id->next; id; id = id->next) {..}
is not executed in release/relwithdebinfo builds.
This can be "fixed" by several ways:
- Adding a line that prints the last_remapped_id->name right before the said for-loop starts.
- Turning off optimization for the whole function id_delete: #pragma clang optimize off/on Ray Molenkamp
- Marking last_remapped_id volatile. Julian Eisel
- Marking tagged_deleted_ids volatile. But it adds a warning when calling BLI_addtail: discards volatile qualifier. Discovered by accident.
Fix T81077