After porting our project from UE4 to UE5 our team has been encountering a crash related to the Paper2D plugin that has a chance to occur whenever we exit play in viewport.
As we have added more characters with sprites to the scene, this crash has become increasingly frequent. Currently, the engine crashes about 25% of the time we stop play in viewport, which is slowing down development tremendously.
I have researched the Access Violation crashes a bit and have tried the following solutions without success:
Resetting Nvidia control pannel render settings on my computer
Updating graphics drivers
Disabled all Set scalar parameter value nodes
Copying the project files to an empty project
Editing config file to change UE default port
This is the crash report Unreal provides:
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000050
UnrealEditor_Paper2D!FSpriteTextureOverrideRenderProxy::GetMaterialNoFallback() [D:\build++UE5\Sync\Engine\Plugins\2D\Paper2D\Source\Paper2D\Private\PaperRenderSceneProxy.cpp:104]
UnrealEditor_Engine!FMaterialRenderProxy::UpdateDeferredCachedUniformExpressions() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\Materials\MaterialRenderProxy.cpp:680]
UnrealEditor_Renderer!FScene::UpdateAllPrimitiveSceneInfos() [D:\build++UE5\Sync\Engine\Source\Runtime\Renderer\Private\RendererScene.cpp:5356]
UnrealEditor_Engine!FSceneInterface::UpdateAllPrimitiveSceneInfos() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\SceneInterface.cpp:17]
UnrealEditor_Renderer!TEnqueueUniqueRenderCommandType<FScene::Release'::
2’::FReleaseCommandName,FScene::Release'::
2’::<lambda_3> >::DoTask() [D:\build++UE5\Sync\Engine\Source\Runtime\RenderCore\Public\RenderingThread.h:209]
UnrealEditor_Renderer!TGraphTask<TEnqueueUniqueRenderCommandType<FScene::Release'::
2’::FReleaseCommandName,FScene::Release'::
2’::<lambda_3> > >::ExecuteTask() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:1265]
UnrealEditor_Core!FNamedTaskThread::ProcessTasksNamedThread() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:758]
UnrealEditor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:649]
UnrealEditor_RenderCore!RenderingThreadMain() [D:\build++UE5\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:411]
UnrealEditor_RenderCore!FRenderingThread::Run() [D:\build++UE5\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:537]
UnrealEditor_Core!FRunnableThreadWin::Run() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:149]
Our project is blueprint based and it seems these crashes are related to something happening inside the C++ code of Paper2D plugin.
Any pointers or advice relating this crash would be much appreciated.
I can provide the full crash log for further details.
2 Likes
thorcxcx
(thorcxcx)
March 18, 2024, 11:41am
2
Did you found some solution, i had encountered this same problem?
Brylonian
(Brylonian)
March 23, 2024, 8:01pm
3
I’m encountering the same Issue in updating my project. It only seemed to start happening after turning on Lumen as well.
MikeMnD
(MikeMnD)
July 12, 2024, 8:50pm
5
Same here:
LoginId:d9be923e4d0b120882485081e99a4b0a
EpicAccountId:92389e08c98b44e3b00e0b2d0d7fe610
Assertion failed: Index>=0 && Index<NumBits [File:D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\BitArray.h] [Line: 1418]
UnrealEditor_Core!FOutputDeviceRedirector::Panic() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Misc\OutputDeviceRedirector.cpp:773]
UnrealEditor_Core!ReportCrash() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsPlatformCrashContext.cpp:1610]
UnrealEditor_RenderCore!FRenderingThread::Run'::
1’::filt$0() [D:\build++UE5\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:539]
VCRUNTIME140
ntdll
ntdll
ntdll
UnrealEditor_Paper2D!FSpriteTextureOverrideRenderProxy::GetMaterialNoFallback() [D:\build++UE5\Sync\Engine\Plugins\2D\Paper2D\Source\Paper2D\Private\PaperRenderSceneProxy.cpp:104]
UnrealEditor_Engine!FMaterialRenderProxy::UpdateDeferredCachedUniformExpressions() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\Materials\MaterialRenderProxy.cpp:680]
UnrealEditor_Renderer!FScene::UpdateAllPrimitiveSceneInfos() [D:\build++UE5\Sync\Engine\Source\Runtime\Renderer\Private\RendererScene.cpp:5356]
UnrealEditor_Engine!FSceneInterface::UpdateAllPrimitiveSceneInfos() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\SceneInterface.cpp:17]
UnrealEditor_Renderer!TEnqueueUniqueRenderCommandType<FScene::Release'::
2’::FReleaseCommandName,FScene::Release'::
2’::<lambda_3> >::DoTask() [D:\build++UE5\Sync\Engine\Source\Runtime\RenderCore\Public\RenderingThread.h:209]
UnrealEditor_Renderer!TGraphTask<TEnqueueUniqueRenderCommandType<FScene::Release'::
2’::FReleaseCommandName,FScene::Release'::
2’::<lambda_3> > >::ExecuteTask() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:1265]
UnrealEditor_Core!FNamedTaskThread::ProcessTasksNamedThread() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:758]
UnrealEditor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:649]
UnrealEditor_RenderCore!RenderingThreadMain() [D:\build++UE5\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:411]
UnrealEditor_RenderCore!FRenderingThread::Run() [D:\build++UE5\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:537]
UnrealEditor_Core!FRunnableThreadWin::Run() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:149]
We basically get used to this but I just post to see if anyone came to a solution in the past year.
NellNV
(NellNV)
September 16, 2024, 1:42pm
6
I’ve had the same problem with a paper2d project upgraded from 4.26 to 5.3.2, both built from source.
In my case it seems to be down to a node “set scalar parameter value” being updated through a timeline. If I update it manually then it’s fine, but if I use the timeline to update the value then it causes the crash on exit.
I suspect it’s something to do with garbage collecting on exit as the material reference is corrupted.