Developer Notes

This issue has been closed as 'Won't Fix' due to an extended period of time without updates. If this issue is important to you please let us know by posting on the AnswerHub or UDN, and Epic will re-open the ticket for further review.

Description

Crash rendering image sequence if the Sub-Level containing the matinee is not loaded.

This seems to go away if the level is either set to "Always Loaded". Seems to be a result of people not switching their streaming method. Still shouldn't crash though.


Error message:

Fatal error: [Link Removed] [Line: 118] A FRenderResource was deleted without being released first!

Source Context:

  372       /** Called when a window is destroyed to give the renderer a chance to free resources */
  373       void FSlateRHIRenderer::OnWindowDestroyed( const TSharedRef<SWindow>& InWindow )
  374       {
  375       checkSlow(IsThreadSafeForSlateRendering());
  376       
  377       FViewportInfo** ViewportInfoPtr = WindowToViewportInfo.Find( &InWindow.Get() );
  378       if( ViewportInfoPtr )
  379       {
  380       BeginReleaseResource( *ViewportInfoPtr );
  381       
  382       // Need to flush rendering commands as the viewport may be in use by the render thread
  383       // and the rendering resources must be released on the render thread before the viewport can be deleted
  384       FlushRenderingCommands();
  385       
  386 ***** delete *ViewportInfoPtr;
  387       }
  388       
  389       WindowToViewportInfo.Remove( &InWindow.Get() );
  390       }
  391       
  392       /** Draws windows from a FSlateDrawBuffer on the render thread */
  393       void FSlateRHIRenderer::DrawWindow_RenderThread(FRHICommandListImmediate& RHICmdList, const FViewportInfo& ViewportInfo, FSlateWindowElementList& WindowElementList, bool bLockToVsync, bool bClear)
  394       {
  395       SCOPED_DRAW_EVENT(RHICmdList, SlateUI);
  396       
  397       // Should only be called by the rendering thread
  398       check(IsInRenderingThread());
  399       
  400       {
  401       SCOPE_CYCLE_COUNTER( STAT_SlateRenderingRTTime );

Most recent user affected CL: 2934540

Logs:
[Link Removed]


CrashReporter User Descriptions:
EUS [NameRemoved] - Render an image sequence from a Matinee that resides in a sub-level

Steps to Reproduce

1. Open the attached project
2. Under the Cinematics menu, select "MatineeActor"
3. In the toolbar, select "Movie"
4. Change "Capture Type" to any of the "Image Sequence" options
5. Click "Capture Movie"
6. Allow the editor to close matinee
7. Hit Escape after a few seconds

Result: Crash
Expected: PIE Window closes and you return to the editor

Callstack
UE4Editor_SlateRHIRenderer!FSlateRHIRenderer::FViewportInfo::`scalar deleting destructor'() 
UE4Editor_SlateRHIRenderer!FSlateRHIRenderer::OnWindowDestroyed() slaterhirenderer.cpp:387 
UE4Editor_Slate!FSlateApplication::PrivateDestroyWindow() slateapplication.cpp:5659 
UE4Editor_Slate!FSlateApplication::DestroyWindowsImmediately() slateapplication.cpp:2609 
UE4Editor_Slate!FSlateApplication::RequestDestroyWindow() slateapplication.cpp:2085 
UE4Editor_Slate!FSlateApplication::DestroyWindowImmediately() slateapplication.cpp:2093 
UE4Editor_UnrealEd!UEditorEngine::TeardownPlaySession() playlevel.cpp:536 
UE4Editor_UnrealEd!UEditorEngine::EndPlayMap() playlevel.cpp:255 
UE4Editor_UnrealEd!UEditorEngine::Tick() editorengine.cpp:977 
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() unrealedengine.cpp:370 
UE4Editor!FEngineLoop::Tick() launchengineloop.cpp:2643 
UE4Editor!GuardedMain() launch.cpp:142 
UE4Editor!GuardedMainWrapper() launchwindows.cpp:126 
UE4Editor!WinMain() launchwindows.cpp:200 
UE4Editor!__scrt_common_main_seh() exe_common.inl:264 
kernel32!<Unknown> 
ntdll!<Unknown> 

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

0
Login to Vote

Won't Fix
ComponentTools
Affects Versions4.11
CreatedApr 15, 2016
ResolvedJan 5, 2017
UpdatedFeb 4, 2019