[Bug Report] Null pointer crash in UProceduralMeshComponent

In 4.10 it is possible to get a null “ProcSceneMeshProxy” inside UProceduralMeshComponent::UpdateMeshSection() and also UProceduralMeshComponent::SetMeshSectionVisible().

Inside the “ENQUEUE_UNIQUE_RENDER_COMMAND…”, there should be a check for null.

e.g.

				if (ProcMeshSceneProxy) //New null check needed
				{
					ProcMeshSceneProxy->SetSectionVisibility_RenderThread(SectionIndex, bNewVisibility);
				}

Think this can happen when setting the actor to hidden that the procedural mesh is attached to. Not every time though, probably race condition between game & render thread.

Hello scamp,

Thank you for reporting this. Have you considered creating a Pull Request for this change on our GitHub repository? If you do so, a developer related to this field will review the code change directly to ensure that it fits with our standards and doesn’t affect anything else. If the request is accepted, you’ll become an Engine Contributor as well.

If you would rather not make a Pull Request however, please let me know and I’ll place a bug report in for you.

I’ll create the pull request, wasn’t sure the best means of reporting these things. Thanks!

No problem. Posting here and having us do a bug report is always best when you don’t know of how to fix the problem yourself, but pull requests are better when you have an idea that we can work off of. It usually ends up being a quicker process to get through as well, depending on how important it is, along with being able to have direct contact with the person looking into the issue if they have any questions.

If you don’t mind, could you link the pull request here whenever you enter it so that anyone who comes across this can check on the progress?

Pull request
Hopefully created it on the correct branch. Took longer than expected to figure it all out. Let me know if anything’s wrong.

Everything looks fine other than the branch that you’ve pushed it to. For changes to the engine, the pull request needs to be pushed to the Master branch, as the Release branch is something that is branch off from Master at a certain point and things are selectively added to it.

Ok yeah makes sense. Think the doc I was referencing may be out of date. Link. (is this trello board run by a 3rd party perhaps? Don’t see anything epic specific looking at it now)

Turns out someone else submitted the fix a few days earlier (here) so I’ve closed mine. Next time should go a bit smoother. Thanks for the help!

That Trello board is run by a third party. If I remember correctly, the only thing we officially have on Trello is the UE4 Roadmap. I’m glad to hear that it’s all sorted out. Looks like a dev is already on the case as well.