4.14 crash upon loading skeletal mesh with cloth

After updating our project to 4.14 one of our skeletal mesh assets is causing the editor to crash when it is loaded. Loading an empty map works fine, but the crash happens as soon as a certain skeletal mesh asset is loaded. I tried going back and forth between 4.13 and 4.14 and the same asset loads fine in 4.13. I also tried deleting the asset in question and as expected, the project then loads fine even in 4.14.

The crash happens inside ApexClothingUtils::GenerateMeshToMeshSkinningData, in a call to GetPointBaryAndDist with the points passed being all equal. This causes a check to fail in FMath::ComputeBaryCentric2D because the points are colinear.

As I understand the root cause of this crash is that there is some invalid skinning data stored in the skeletal mesh asset itself: it probably contains triangles where all 3 vertices are equal. However, thought this is still a general bug as I don’t think a hard crash is the intended response to this.

I have included the log from the Saved/Logs folder and the call stack.

Hey Zhi Kang Shao,

In order to effectively assist you with this issue I am going to need the assets in question causing the crash, or a way to reproduce this in a new blank project?

I will say looking at your logs, there is a mention of a few warnings. More specifically the “Look_At_Blend.uasset has been saved with empty engine version.” I would check to make sure those are referenced correctly in your original project and they save as expected.

Let me know if you have further questions.

Thank you,

Andrew Hurley

You need to open the folder where the project where apex cloth is saved, and manually find the object you made with apex cloth in it, then delete that item. you’ll then be able to load the project no issue.

Hi Andrew,

I have uploaded a blank project with just the asset that makes it crash. You can grab it from here: https://drive.google.com/open?id=0B9FQA3JheooqblE0QkZ2UHZaZHc

To reproduce the issue, simply drag the skeletal mesh into a level.

I don’t think the crash is caused by any of the “saved with empty engine version” warnings. We sometimes use the precompiled engine and sometimes built from source, but always the same major and minor version. From inspecting the debug information in Visual Studio the crash seems to trigger by the new mesh to mesh skinning feature on certain input data. Hopefully the blank project helps.

Hi Trecks, thanks for the suggestion. I will try this out.

Thank you! This does avoid the crash and makes us able to work with 4.14. Our animator will have to fix the cloth somehow but its better than staying on 4.13 just for the cloth.

Hi Andrew, as you can see below we have done a workaround so this issue doesn’t block us from working with 4.14. I hope you will still look into the issue, if not for us, but for others if my suspicion is correct that the crash triggers on dirty but not corrupt input data from a cloth asset. Anyhow thank you for your time.

Hey Zhi Kang Shao,

Thanks for the clear and precise repro steps. I was able to confirm what you are reporting and have gone ahead and entered a bug report for the issue. You can track the report following the link below on our public issues tracker.

UE-39137

Once the issue has been addressed by our engineers the ticket will be updated and reflected in the public tracker. Let me know if you have further questions or need additional assistance.

Cheers,

Andrew Hurley