-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
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
Crashes on android devices #58139
Comments
I also get bug reports with android 11 and my game. |
I getting 11 and 12 android versions. |
Yes, I get tons of these errors, hundreds of thousands of people play mine, and my Google Play Console reports tens of thousands of crashes every day.
|
And it's terrible. We cannot get a feature or a good organic traffic when we have 20+% of crashes. |
Note that the latest "stable" version of 3.4 is 3.4.2, and we are already on betas for 3.4.3: It is highly advised to use the latest point release to get all the latest bug fixes (unless there has been some regression which breaks an earlier version, which we try to avoid), this may be a bug that has been fixed. Also afaik, GLES3 is not recommended on mobile. I've always used GLES2 for mobile and HTML5. |
We have tried all minor and major releases from version 2.1.3 to 3.4.2 and nothing has changed over the years. The console is still full of inexplicable crashes. Compiling with separate debugging symbols would help, but Godot does not support this feature and is not even going to |
And this should be fixed in 3.4. |
There's many ways for a crash to happen, there's no indication at this time that the issue reported here would be the same as #38053.
What do you mean with "is not even going to"? Currently you can compile a debug template with debug symbols using |
And what we must to do? We don't know what is it, how to fix it. |
I decided not to do anything, I once wrote about this (long ago) but nothing has been fixed. I've been getting these errors consistently for over a year, including the latest up to date version 3.5 beta 1, these errors don't change. |
Just to provide some info on Android debugging - to debug Android in general the minimum needed to start with might be something like:
Along with the usual stuff like
A crash without debug symbols is rarely enough information to go on on its own. You will usually need access to the hardware that fails and have it cabled to a PC. In general I personally would advise against using GLES3 on Android, as there are too many things that can go wrong, I'm not sure whether we are officially supporting GLES3 on Android at this stage (I'm just a contributor not a spokesperson 🙂 ). As it says in the new project dialog, GLES3 may not work on older hardware, and this is especially the case with Android, I would personally expect it to crash / malfunction on a large percentage of users. So I would make a copy of any project and convert to GLES2 and start from there. I would also usually advise against using custom shaders on Android unless you really know you are doing because you are highly likely to run into hardware issues / hardware bugs, you would have to investigate and work around these yourself. This normally involves studying the relevant GLES API spec, mandated features, checking out the caps of target hardware and working to constraints. As an open source project we don't have massive (any! 😁 ) resources to investigate particular problems on specific hardware so we have to rely on users to do a lot of the work, and interest from a capable developer who is likely donating their spare time for free. Also bear in mind Android is problematic for compatibility not just for Godot, but for all devs. I've had to deal with similar issues prior to working with Godot, it comes with the territory unfortunately. |
I think it makes sense to implement at least Native Crash support in the build system |
Getting just about the same stack trace with my releases on GooglePlay, also can confirm that most of the devices it crashes on are Samsungs are Xiaomis. Faced this on both 3.4.3 and 3.4.4. Renderer doesn't have anything to do with it, apparently. My 1st release was GLES3 and 2nd release was GLES2, still getting crash reps. |
any news on that topic ? |
I'm seeing the same report from my Google Play Console. The only crash that was consistently happening was on a Pixel 2 arm64 emulator. Simply wouldn't launch: video.mp4Though I will note, this is Godot 4, so this may not be the same problem anymore, unsure if I should create a new issue for this. EDIT: I was able to resolve this: #58139 (comment) |
I really don't think blindly saying "just upgrade to the latest version" is useful advice. It can lead people astray and make it seem like a problem is solved when it really isn't. It can also introduce new issues for them, which can distract from the problem at hand. In this case, the problem is still not solved, years later. |
Sorry I should have been more explicit in what I meant here by "latest point release" as readers may not be familiar with semantic versioning:
When we release a MINOR version (e.g. 3.4) we read bug reports and attempt to fix bugs. As we fix them, we release new versions in a PATCH release (e.g. 3.4.1, 3.4.2 etc, we are now at 3.4.5). We don't re-release 3.4 itself with bug fixes, because that would be incredibly confusing because we wouldn't know which 3.4 it was. We try as much as possible not to introduce new bugs in PATCH releases, but there can be no absolute guarantees, because software includes many components that interact with each other in sometimes unexpected ways. We always advise to use the latest PATCH release simply because we know that earlier PATCH releases contain bugs, and there is no point (for anybody) in spending time trying to identify and fix bugs that are already fixed. MINOR versions are different as you say, as they can introduce new features, new ways of working, and new bugs. See https://docs.godotengine.org/en/latest/about/release_policy.html#release-support-timeline for more info. |
If you don't know of a patch or version that addresses the issue at hand yet you still advise updating, then you are blindly telling a user to update. In this case, the user can update and the problem will still exist. If you don't know the solution to a problem, it's okay to refrain from giving automated responses that will distract and delay. |
I had forgotten that I had posted on this issue - I was able to resolve this on my end by switching the rendering backend from Forward+ to Compatibility. However, I'm using Godot 4.2 in this instance, so it may not be relevant. |
Just as it doesn't seem mentioned in this thread, I would like to remind all that setting correct Android permissions in the export settings is vital, and this has often been the cause of Android crashes (app tries to do something like write a file it doesn't have permission for, it fails and the app crashes). The engine currently doesn't deal with permissions very well afaik. If we could query the permissions at runtime (either through the OS, or storing a database in the APK) before attempting operations that might crash, that would be useful. |
Godot version
3.4 stable
System information
Android devices, Build system - Linux, Gles3
Issue description
In android developer console I getting a huge crashes:
Repeated on different android devices.
On my personal + 10 testers could not find and repeat such a failure. Therefore, I cannot fix this problem in any way.
20% of users are affected by this problem and I don't know how to solve it.
I found information on this error in Google, but it says that it will be fixed in the 3.4 version of the engine.
Occurs on completely different processors.
Most often cases on:
Redmi Note 8 Pro
Samsung Galaxy A50
But I think that there is no connection here, it’s just that people have the most of these devices.
Steps to reproduce
No steps.
Minimal reproduction project
Game can be installed from google play: https://play.google.com/store/apps/details?id=games.misu.zombie.room.survival.game
The text was updated successfully, but these errors were encountered: