[4.7.2] Editor Crashes on Converted Project With Instanced Static Meshes

I have updated the original question with more information after some users on the forum found what could be the cause.

Hi. can someone from Epic comment if there’s already a UE JIRA logged for this?

This is a pretty major issue IMO as it effectively prevents any use of static instanced meshes in a map.

Also, to add to Kenomica’s reproduction steps I want to clarify that the issue manifests only if lighting has been built. i.e. if you spawn instanced static meshes in your construction script but do not build lighting your level will load fine in 4.7. However, once you build lighting you will no longer be able to open the map the again.

I suspect InstancedStaticMeshComponentInstanceData/FLightMapInstanceData related code in InstancedStaticMesh.cpp is causing this crash (although admittedly I’m not familiar enough with these engine classes to be sure)

Hi VSZ,

I entered JIRA UE-10157 for this issue but we haven’t been able to reproduce this in-house. I will try to see if I can get a repro with your additional steps. If I’m unable to, would you be willing to send a stripped down test project that has the issue?

Hi TJ Ballard, the project which I shared with you for an unrelated bug during 4.7 preview should also come handy in reproducing this You just need to turn ‘Force Precomputed lighting’ off in that level, build lighting once and try to restart the editor. In fact I had disabled lighting back then to circumvent this very issue.

Let me know if that doesn’t work out in which case I’ll try preparing a repro project.

Your other project that you sent awhile ago has the compile errors that we discussed as well as being a much more complex project. If you could try creating a new project that repro’s the issue, that would help a lot. I tried it again with your steps added but so far no luck.

Hmmm thought it wouldn’t have had any compiler errors after 4.7.1 fixes, but no matter. I’ll post an update tomorrow (it’s pretty late where I live now).

Kenomica - feel free to upload a repro project as well if you have a suitable one.

Uploading a repro project now. Very lightweight and simple,

Two maps : a blank one and one containing a BP that creates instances via the construction script.

It will crash when you open the InstanceMap.

Repro Project


Steps to reproduce :


Action 1 : Create a new map

Action 2 : Place the “Floor” blueprint in the map,

Action 3 : Build lighting on the newly created map

Action 4 : Open a blank map, or restart the engine,

Action 5 : Reopen the map with the Floor BP that you just built lighting for.


Thanks for all the help VSZ and thank you Kenomica for the test project! I was easily able to reproduce the issue. I’ve entered this as a different report (JIRA UE-11865) instead of reopening the previous one. The reason being is the old JIRA was more about the conversion process. I did however reference it in the new report.

We will investigate the issue further and post back here with updates.

Cheers,

TJ

Not a problem, I’m glad you were able to reproduce it and that we could help get this fixed :slight_smile:

Hi VSZ and Kenomica,

I just submitted a fix for this crash, but unfortunately it just missed the deadline for the 4.7.3. Something seems to have changed with the way we fixed up components after re-running a construction script and it’s affected the way lighting is reapplied to InstancedStaticMeshComponents.

The fix will be in 4.8, and a 4.7.4 update if we end up making one. I think this fix is pretty important so I’ll push for it.

If you’re using source code you can apply the fix directly yourself:

https://github.com/EpicGames/UnrealEngine/commit/67b10c1e844c78692caf08bfa419aba795b4f999

Thanks for your patience and help reproducing this bug.

Thank you for keeping me informed, I really appreciate it.

I’m not using the source so I’ll continue to use 4.6 for the time being - but I’m glad to hear It will be fixed in the upcoming release (whichever one it may be) and look forward to being able to use all the great new features in 4.7/4.8!

Thanks everyone for fixing this!

I too am using the binary version right now (especially now that engine debug symbols are available in binary itself) but if I do happen to build from source I’ll check out the fix.