Skip to content
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

Mesh.get_faces() method crashes on android #29330

Closed
Toshiwoz opened this issue May 30, 2019 · 8 comments
Closed

Mesh.get_faces() method crashes on android #29330

Toshiwoz opened this issue May 30, 2019 · 8 comments

Comments

@Toshiwoz
Copy link
Contributor

I'm not seeing something similar, will look around for related issues, as it may be others have experienced the same issue but not nailed down to the exact problem.

Godot version:
Official 3.1.1

OS/device including version:
Huawei MYA-L11
Should have:
CPU: ARM Cortex-A53, 1400 MHz
GPU: : ARM Mali-T720 MP2, 600 MHz

Issue description:
I have experienced crashes on my Android GLES2.0 3D project. It works fine in Windows 10.
the issue occours when you want to get vertices of the ArrayMesh in order to generate programmatically a collision shape.

Steps to reproduce:
You can create a simple project with a MeshInstance and arraymesh as it's mesh, doesn't matter if it's empty.
Then use the following code.

func _ready():
	var fcs = self.mesh.get_faces() #this one crashes on android
	print(fcs)

It will crash on an android export.

Minimal reproduction project:
Get_Faces gles2.0.zip
I have added an apk, just in case.. but you may want to configure your own in order to place a breakpoint right before the get_faces() method.

@Toshiwoz
Copy link
Contributor Author

Please don't bully me because I have a Huawei...

@clayjohn
Copy link
Member

Have you tried this with GLES3 as well?

@Toshiwoz
Copy link
Contributor Author

Have you tried this with GLES3 as well?

Nope, at least not on mobile, for performance reasons, too slow on my 2 mobile devices.
Neither on OSX as I do not have a macOS to compile for it.

My guess is that it works, may try later for the sake of solving the issue.

@clayjohn
Copy link
Member

It would help narrow down the problem as I dont have an android build system set up right now.

@Toshiwoz
Copy link
Contributor Author

It would help narrow down the problem as I dont have an android build system set up right now.

That's definitely a problem.

Anyhow, I tried and on my device it crashes right after splash screen:
platform/windows/os_windows.cpp:2532 - Condition ' !process_map->has(p_pid) ' is true. returned: FAILED

But it seems to be my device not working with gles3.0 (even if it states it's compatible), I re created an empty project, added a meshinstance node and a camera, and it crashes, no scripts at all.
I am trying right now with just a node2d this time.

@Toshiwoz
Copy link
Contributor Author

Weird,
I tried with node2d as root, without any other node, it worked, then I changed the root node again to spatial, ad worked.
I added again a mesh and a camera, and it worked again.

@Toshiwoz Toshiwoz changed the title Mesh.get_faces() method crashes on android with GLES2.0 Mesh.get_faces() method crashes on android May 31, 2019
@Toshiwoz
Copy link
Contributor Author

Toshiwoz commented May 31, 2019

Now that I had the GLES3.0 version working I added again the script, and it crashed again.
So I guess I should change the title.

Also, weird as it may sound, I got it crashing even after commenting the get_faces() part, it worked again when I removed the node tho.

@clayjohn clayjohn added this to the 3.2 milestone Jan 16, 2020
@clayjohn
Copy link
Member

Fixed by #34794

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants