godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
86.79k stars 19.42k forks source link

Mesh with skeleton and animation crashes on Android (PowerVR) #93406

Open shahriarlabib000 opened 3 weeks ago

shahriarlabib000 commented 3 weeks ago

Tested versions

System information

Android 11 - Godot V.4.3.beta2-compatibility renderer

Issue description

so i have a glb file which has a character with a skeleton and some animation. when i try to run the scene godot crashes

Steps to reproduce

so have a file with some skeleton and animation. add a camera . run the program

Minimal reproduction project (MRP)

https://github.com/shahriarlabib000/godot_robot_crash_project

Zireael07 commented 3 weeks ago

what is your Android device? What GPU?

shahriarlabib000 commented 3 weeks ago

@Zireael07 Realme RMX2189

this is what i found on the internet CPU Octa-core (4x2.3 GHz Cortex-A53 & 4x1.8 GHz Cortex-A53) GPU PowerVR GE8320

clayjohn commented 3 weeks ago

This reminds me of https://github.com/godotengine/godot/issues/90459 which we traced to a specific Adreno driver bug. Maybe the GE8320 has a similar bug.

shahriarlabib000 commented 3 weeks ago

I'd like to mention that the animation works fine in the editor when i play it before ever running the program. In a rare case i got the program to run. but if I try to run it again it crashes.If close godot and try to open the project again it kicks me back out of godot. If i delete ".godot" i can play the animation player in the editor again https://youtu.be/IE6Chknj4yE?si=aLrSpOCthU-GgMNC

shahriarlabib000 commented 3 weeks ago

I'd like to add that I tested the same animated glb on godot 3.6.beta5 in GLES 2.0 renderer and it seems to work fine

shahriarlabib000 commented 2 weeks ago

this might be similar/duplicate of issue #89011

b3ll-4rt commented 1 week ago

My game crashs too, but it doesn't crash the first time I open the app. If i clear the app data it won't crash, if i close the app and reopen then it crashs

b3ll-4rt commented 1 week ago

this has only happened to me with the skeleton3d node, if I deactivate the node, the game doesn't crash, i have also noticed that the loading time increases a lot with the node active

shahriarlabib000 commented 1 week ago

@b3ll-4rt your specs? do you have a powerVR gpu as well?

shahriarlabib000 commented 5 days ago

~~can confirm what @b3ll-4rt said. tested with the same 3D model in my MRP. Android specs:~~

CPU Octa-core (2x2.0 GHz Cortex-A75 & 6x1.8 GHz Cortex-A55) GPU Mali-G52 MC2

~~in compatibility renderer godot version:4.3.beta2~~ Edit: This crash behavior isn't consistent

b3ll-4rt commented 2 days ago

hi, i have test a scene with the new version 4.3 beta3 and the error/crash is still present

shahriarlabib000 commented 2 days ago

@b3ll-4rt please write your device gpu as it may help with debugging the issue

Alex2782 commented 2 days ago

maybe usefull for you

GdScript - System-Info ```gdscript func _ready(): # Labels $video_adapter_api_version.text = RenderingServer.get_video_adapter_api_version() $video_adapter_info.text = RenderingServer.get_video_adapter_vendor() + ", " + RenderingServer.get_video_adapter_name() $os_info.text = OS.get_name() + ", " + OS.get_model_name() print("video_adapter_api_version: ", RenderingServer.get_video_adapter_api_version()) print("video_adapter_name: ", RenderingServer.get_video_adapter_name()) print("video_adapter_type: ", RenderingServer.get_video_adapter_type()) print("video_adapter_vendor: ", RenderingServer.get_video_adapter_vendor()) print("video_adapter_driver_info: ", OS.get_video_adapter_driver_info()) print("OS.model_name: ", OS.get_model_name()) print("OS.name:", OS.get_name()) print("OS.processor_name: ", OS.get_processor_name()) print("OS.get_video_adapter_driver_info: ", OS.get_video_adapter_driver_info()) # example: OpenGL ES (Compatibility) on Adreno 650 # ============================================================ #video_adapter_api_version: OpenGL ES 3.2 V@0502.0 (GIT@193b2ee, I593c16c433, 1633593732) (Date:10/07/21) #video_adapter_name: Adreno (TM) 650 #video_adapter_type: 0 #video_adapter_vendor: Qualcomm #video_adapter_driver_info: [] #OS.model_name: SM-T870 #OS.name:Android #OS.processor_name: #OS.get_video_adapter_driver_info: [] # ------------------------------------------------------------ # Vulkan # ============================================================ #video_adapter_api_version: 1.1.128 #video_adapter_name: Adreno (TM) 650 #video_adapter_type: 1 #video_adapter_vendor: Qualcomm #video_adapter_driver_info: [] #OS.model_name: SM-T870 #OS.name:Android #OS.processor_name: #OS.get_video_adapter_driver_info: [] ```

if Remote Debug is possible, Developer-Mode / connected via USB cable: adb logcat > logs.txt

print outputs, crashes are also included

07-12 23:58:11.578  2326  2408 I godot   : video_adapter_api_version: 1.1.128
07-12 23:58:11.578  2326  2408 I godot   : video_adapter_name: Adreno (TM) 650

Vulkan: Realme RMX2189, OpenGL ES: RMX2189