Description

According to information from the licensee, the else clause was added to "FSkeletalMeshLODModel::(GetClothMappingData()" at CL 4437969 , but if it is the cloth data existing from 4.20 or earlier, it will be loaded without passing through this processing, so the OutClothIndexMapping isn't embedded for all SectionIndex. It will crash in TArray out-of-range access if it is accessed expecting that there are as many elements as Sections in "FGPUSkinCacheEntry::SetupSection()".

In 4.22 the fix for CL4825333 does not cause a crash, but the mesh seems to be broken.
[Link Removed]

 

Steps to Reproduce
  1. Create a 4.20 Content Example project
  2. Disable the following options in Project Settings
    ・Use Gpu for computing morph targets
    ・Support Compute Skincache
    ・Force all skinned meshes to recompute tangent
  3. Open and save the Skeletal Mesh Owen
  4. Close the editor and reopen it at 4.21
  5. Enable the following options in Project Settings
    ・Use Gpu for computing morph targets
    ・Support Compute Skincache
    ・Force all skinned meshes to recompute tangent
  6. Restart Editor
  7. Crash when opening Owen of Skeletal Mesh
Callstack

UE4Editor_Core!FDebug::AssertFailed() [d:\build++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:417] UE4Editor_Engine!FGPUSkinCacheEntry::SetupSection() [d:\build++ue4\sync\engine\source\runtime\engine\private\gpuskincache.cpp:304] UE4Editor_Engine!FGPUSkinCache::ProcessEntry() [d:\build++ue4\sync\engine\source\runtime\engine\private\gpuskincache.cpp:1028] UE4Editor_Engine!FSkeletalMeshObjectGPUSkin::ProcessUpdatedDynamicData() [d:\build++ue4\sync\engine\source\runtime\engine\private\skeletalrendergpuskin.cpp:480] UE4Editor_Engine!FSkeletalMeshObjectGPUSkin::UpdateDynamicData_RenderThread() [d:\build++ue4\sync\engine\source\runtime\engine\private\skeletalrendergpuskin.cpp:312] UE4Editor_Engine!::operator()() [d:\build++ue4\sync\engine\source\runtime\engine\private\skeletalrendergpuskin.cpp:274] UE4Editor_Engine!TGraphTask > >::ExecuteTask() [d:\build++ue4\sync\engine\source\runtime\core\public\async\taskgraphinterfaces.h:829] UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [d:\build++ue4\sync\engine\source\runtime\core\private\async\taskgraph.cpp:679] UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [d:\build++ue4\sync\engine\source\runtime\core\private\async\taskgraph.cpp:575] UE4Editor_RenderCore!RenderingThreadMain() [d:\build++ue4\sync\engine\source\runtime\rendercore\private\renderingthread.cpp:333] UE4Editor_RenderCore!FRenderingThread::Run() [d:\build++ue4\sync\engine\source\runtime\rendercore\private\renderingthread.cpp:467] UE4Editor_Core!FRunnableThreadWin::Run() [d:\build++ue4\sync\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:76]

Have Comments or More Details?

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

2
Login to Vote

Fixed
ComponentUE - Graphics Features
Affects Versions4.214.22
Target Fix4.23
CreatedMar 19, 2019
ResolvedNov 9, 2019
UpdatedFeb 11, 2020