Description

Deleting all jobs after rendering queue with executor causes an assertion to fail.

Repro Rate: 3/3

Tested this in //UE4/Release-4.27 @ CL#18319896 by utilizing a For Each Loop and Delete Job node (Since there's no Delete All Jobs node) and the issue also occurred there, it is not a regression.

 === Critical error: ===
 
 Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\Array.h] [Line: 691] 
 Array index out of bounds: 0 from an array of size 0
Steps to Reproduce
  1. Create a new Third Person BP template project.
  2. Enable the Movie Render Queue Plugin & restart the editor.
  3. Right-Click the Content Browser, create a new Level Sequence. (Located in Animation)
  4. Create a new Camera utilizing the Camera button in Sequencer & save.
  5. Back in Content Browser, create a new Actor Blueprint and open it.
  6. Head to the Event Graph and right-click empty space.
  7. Add Get MoviePipelineQueueEngineSubsystem (MPQES)
  8. Drag from the MPQES output pin and place the node RenderQueueWithExecutor
    • Set the In Execution Type to MoviePipelineInProcessExecutor
  9. Drag from the MPQES output and place the node Get Queue
  10. From the return value on the Get Queue node, place a Delete All Jobs node.
  11. From the return value on the Get Queue node, place an Allocate New Job node.
  12. Drag out from the return value of the Allocate node and place a Set Sequence node then a Set Map node.
    1. Ensure 'Target' is connected to the 'Return Value' and that the execution pins for the Set nodes are connected to the Allocate New Job execution!
    2. Promote Sequence & Map into variables
    3. Compile and Save
    4. Set the Sequence to the new level sequence & the Map to the map where the level sequence was created.
  13. Drag from the execution pin of BeginPlay and place a sequence node
  14. Add a pin
  15. Drag the Execution Pin Then 0 and set it to Allocate New Job
  16. Drag the Execution Pin Then 1 and set it to Render Queue with Executor
  17. Drag the Execution Pin Then 2 and set it to Delete All Jobs
  18. Save & Compile
  19. Place the Blueprint into the scene.
  20. Play In Editor

Results: Editor crashes hitting an assertion due to an index being out of bounds of an array.
Expected: Warning occurs in the output log that the jobs were unable to be deleted due to being in progress.

Callstack
 === Critical error: ===
 
 Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\Array.h] [Line: 691] 
 Array index out of bounds: 0 from an array of size 0
 
 
 [Callstack] 0x00007ffb25f0a437 UnrealEditor-MovieRenderPipelineCore.dll!UMoviePipelineInProcessExecutor::OnMapLoadFinished() [D:\build\++UE5\Sync\Engine\Plugins\MovieScene\MovieRenderPipeline\Source\MovieRenderPipelineCore\Private\MoviePipelineInProcessExecutor.cpp:92]
 [Callstack] 0x00007ffb25ef3bac UnrealEditor-MovieRenderPipelineCore.dll!TBaseUObjectMethodDelegateInstance<0,UMoviePipelineInProcessExecutor,void __cdecl(UWorld *),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:611]
 [Callstack] 0x00007ffb6979cd70 UnrealEditor-Engine.dll!TMulticastDelegate<void __cdecl(UWorld *),FDefaultDelegateUserPolicy>::Broadcast() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:967]
 [Callstack] 0x00007ffb6ac28711 UnrealEditor-Engine.dll!UEngine::LoadMap() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\UnrealEngine.cpp:14233]
 [Callstack] 0x00007ffb6abcc0d6 UnrealEditor-Engine.dll!UEngine::Browse() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\UnrealEngine.cpp:13412]
 [Callstack] 0x00007ffb6ac4ce0b UnrealEditor-Engine.dll!UEngine::TickWorldTravel() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\UnrealEngine.cpp:13610]
 [Callstack] 0x00007ffb653cdca2 UnrealEditor-UnrealEd.dll!UEditorEngine::Tick() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\EditorEngine.cpp:1751]
 [Callstack] 0x00007ffb65d59f56 UnrealEditor-UnrealEd.dll!UUnrealEdEngine::Tick() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\UnrealEdEngine.cpp:474]
 [Callstack] 0x00007ff756d182f6 UnrealEditor.exe!FEngineLoop::Tick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5215]
 [Callstack] 0x00007ff756d30d9c UnrealEditor.exe!GuardedMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:183]
 [Callstack] 0x00007ff756d30e8a UnrealEditor.exe!GuardedMainWrapper() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:147]
 [Callstack] 0x00007ff756d33c4d UnrealEditor.exe!LaunchWindowsStartup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:283]
 [Callstack] 0x00007ff756d45534 UnrealEditor.exe!WinMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:330]
 [Callstack] 0x00007ff756d486e6 UnrealEditor.exe!__scrt_common_main_seh() [d:\a01\_work\6\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
 [Callstack] 0x00007ffc536d7bd4 KERNEL32.DLL!UnknownFunction []
 [Callstack] 0x00007ffc5504ced1 ntdll.dll!UnknownFunction []

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-149440 in the post.

2
Login to Vote

Fixed
ComponentUE - Anim - Sequencer - MRQ
Affects Versions5.0
Target Fix5.1
Fix Commit20302319
Main Commit20302319
CreatedApr 18, 2022
ResolvedMay 23, 2022
UpdatedMay 28, 2022