Page MenuHome

Fix T93442: Crash when proxy building is cancelled
ClosedPublic

Authored by Richard Antalik (ISS) on Nov 29 2021, 3:37 PM.

Details

Summary

If strip is removed while proxy is built, this causes crash when
building is finished. This happens because proxy anims are freed in
SEQ_proxy_rebuild_finish()

Iterate over available strips and check if original strip still exists
by comparing SessionUUID.

Diff Detail

Repository
rB Blender

Event Timeline

Richard Antalik (ISS) requested review of this revision.Nov 29 2021, 3:37 PM
Richard Antalik (ISS) created this revision.
Sergey Sharybin (sergey) requested changes to this revision.Nov 29 2021, 4:09 PM

This is not 100% safe solution as another strip with same pointer could be allocated

That's why why have Sequence.runtime.session_uuid. Those session UUIDs will be matched for original and its evaluated strip, but will not be re-used by original strip.

This revision now requires changes to proceed.Nov 29 2021, 4:09 PM

Forgot to ask, is this a regression since 2.93?

Forgot to ask, is this a regression since 2.93?

Don't think so. 2.93.0 build from bot is not crashing, but I double checked with debugger and it does crash. Original code is very old.

This is not 100% safe solution as another strip with same pointer could be allocated

That's why why have Sequence.runtime.session_uuid. Those session UUIDs will be matched for original and its evaluated strip, but will not be re-used by original strip.

I will have to double check that UUID is not changed when strip is duplicated, but this is good idea to use it.

I will have to double check that UUID is not changed when strip is duplicated, but this is good idea to use it.

Dupliucation as Shift-D will change session UUID, that's for sure and that is expected.
Duplication used for dependency graph's copy-on-write preserves session UUID.

  • Use SessionUUID to check if strip exists
Richard Antalik (ISS) edited the summary of this revision. (Show Details)Nov 30 2021, 9:45 AM
This revision is now accepted and ready to land.Nov 30 2021, 9:56 AM