A licensee has hit an access violation issue due to a movie scene containing a reference to an invalid child object binding. It triggers in the following method: UMovieSceneFolder::PostLoad
// Validate child Object Bindings for (int32 ChildObjectBindingIndex = 0; ChildObjectBindingIndex < ChildObjectBindings.Num(); ChildObjectBindingIndex++) { const FGuid& ChildBinding = ChildObjectBindings[ChildObjectBindingIndex]; if (!OwningScene->FindBinding(ChildBinding)) { ChildObjectBindings.RemoveAt(ChildObjectBindingIndex); ChildObjectBindingIndex--; UE_LOG(LogMovieScene, Warning, TEXT("Folder (%s) in Sequence (%s) contained a reference to an Object Binding (%s) that no longer exists in the sequence, removing."), *GetFolderName().ToString(), *OwningScene->GetPathName(), *ChildBinding.ToString()); } }
The issue is that the child object binding is removed, and then the ChildBinding Guid is used in the log which can access freed memory.
According to the licensee, you can fix this by either taking a copy of the GUID, or moving the log before you remove the element from the list.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-224941 in the post.
0 |
Component | UE - Anim - Sequencer |
---|---|
Affects Versions | 5.4 |
Target Fix | 5.5 |
Fix Commit | 36456428 |
---|
Created | Sep 19, 2024 |
---|---|
Resolved | Sep 19, 2024 |
Updated | Oct 10, 2024 |