-
-
Notifications
You must be signed in to change notification settings - Fork 21.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash on iOS when generating a MeshInstance using ArrayMesh #42728
Comments
This is very concerning, it looks like the graphics driver is crashing during drawing. Can you provide more info about the mesh you create? Also does this crash when you use similar nodes like Polygon2D? |
I packaged the scene I use to generate the mesh in the array_geom_crash.zip (everything is in FoW.gd). I'm basically making a 80x80 square tilemap. Each tile is 128x128 pixel and for each square I assign UVs based on some data I pass to the method. I haven't tried different nodes. Sadly it takes me 2-3 days to make a new build, upload it to testflight and have some people I know test it and report to me so I can't really say. I do know that updating to 3.2.3 and switching to gles3 seem to prevent the crash. I'm not sure if it's the update to 3.2.3 or gles3 that fixed it since I changed both at the same time. I've seen other iOS issues mentioning problem with gles2 so maybe it's related (#39764) I did browse the issues and internet. I saw mentions of problem when accessing data from other threads which is why I tried to do the surface creation in a call_deferred but it didn't fix the crash. |
Just to be clear, the crash is occurring with 3.2 stable GLES2? Have you tried 3.2.3 GLES2? There have been a number of changes since 3.2. Notably there were some changes to reading back geometry on GLES2, which I have an inkling feeling may have been involved in the add_surface_from_arrays function historically. See this PR : #34794 Edit: Ah maybe it's not that PR, it looks like it may have been committed just before 3.2 stable. Still worth trying a latest 3.2.3 build though. |
Yes 3.2 stable and GLES2 crashes. 3.2.3 stable GLES3 doesn't crash. I have not tried GLES2 with 3.2.3. |
Tested reproduction project in
|
Also seeing this crash on 3.2.3 GLES2 |
I have also run into this issue "GLDRendererMetal command buffer completion error: Error Domain=MTLCommandBufferErrorDomain Code=3 "Caused GPU Address Fault Error (IOAF code 11)" in my iOS app, but switching to GLES3 doesn't fix it. Some advice? |
I am also running into this now and I am not even using anything fancy. just some static meshes in the scene (Godot 3.2.3) |
Godot version:
3.2
OS/device including version:
iPhone X with iOS 13.5.1 and 14.0.1 with GLES2
The crash doesn't happen with 3.2.3 running on GLES3
Issue description:
I generate an ArrayMesh to set the mesh in an MeshInstance2D.
This work without any problem on Windows, Linux and even running directly in the editor on MacOS but the iOS build is crashing with this log :
Steps to reproduce:
Run the sample project on any iPhone and click the "crash?" button.
I have very limited access to Apple Hardware so I haven't been able to debug it much more than this. I sent a test project to a friend with an iPhone and it seems to have the same crash problem so I've attached the minimal reproduction project.
the scene actually generating the crash is FoW.tscn and it crashes as soon as it's loaded.
Minimal reproduction project:
array_geom_crash.zip
The text was updated successfully, but these errors were encountered: