Crash on android 7

Hi there - I’ve just started to play around with gdevelop, to check if it’s a nice solution to bring my kids into game development, and I’ve made a very simple game in the online tool, and published to android.

The game runs fine in browser from gdevelop online, and on a recent device, but I’ve tested in on some old LG K10 device with android 7, and after few seconds the game starts to blink, and crashes.

At the same logcat displays the following:

2022-04-28 10:46:02.195 ? E/chromium: [ERROR:gles2_cmd_decoder.cc(4919)]   GLES2DecoderImpl: Context reset detected after MakeCurrent.
2022-04-28 10:46:02.196 ? E/chromium: [ERROR:gl_context.cc(109)] Failed to make current since context is marked as lost
2022-04-28 10:46:02.198 ? E/libEGL: validate_display:99 error 3008 (EGL_BAD_DISPLAY)
2022-04-28 10:46:02.199 ? E/libEGL: validate_display:99 error 3008 (EGL_BAD_DISPLAY)
2022-04-28 10:46:02.200 ? E/libEGL: validate_display:99 error 3008 (EGL_BAD_DISPLAY)
2022-04-28 10:46:02.202 ? E/chromium: [ERROR:shared_image_stub.cc(519)] SharedImageStub: context already lost
2022-04-28 10:46:02.207 ? E/MALI: gles_state_set_error_internal:69: [MALI] GLES ctx: 0x8ed00008, error code:0x505
2022-04-28 10:46:02.437 ? D/: #00 pc 005d0021  /system/vendor/lib/egl/libGLES_mali.so (MtkMali_DumpCallStack+20)
2022-04-28 10:46:02.437 ? D/: #01 pc 0058a6fd  /system/vendor/lib/egl/libGLES_mali.so
2022-04-28 10:46:02.437 ? D/: #02 pc 005576cd  /system/vendor/lib/egl/libGLES_mali.so
2022-04-28 10:46:02.437 ? D/: #03 pc 0053d49d  /system/vendor/lib/egl/libGLES_mali.so
2022-04-28 10:46:02.437 ? D/: #04 pc 0052ffc1  /system/vendor/lib/egl/libGLES_mali.so (eglDestroyContext+320)
2022-04-28 10:46:02.437 ? D/: #05 pc 0000ca2f  /system/lib/libEGL.so (eglDestroyContext+62)
2022-04-28 10:46:02.437 ? D/: #06 pc 02c89867  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #07 pc 02c842c1  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #08 pc 02be39fb  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #09 pc 02be39df  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #10 pc 030c9b8d  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #11 pc 030c9c97  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #12 pc 02c95a13  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #13 pc 02bda03b  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #14 pc 02bd9fb9  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #15 pc 02bd6ea3  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #16 pc 02bd6de9  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #17 pc 0273586b  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #18 pc 02bd6dd9  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #19 pc 030e3583  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #20 pc 021ccf4f  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #21 pc 021cd3b3  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #22 pc 0180c6a1  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #23 pc 021cfbd7  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #24 pc 021ccb39  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #25 pc 021cc897  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #26 pc 021cc787  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #27 pc 021eca59  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #28 pc 021a1d89  /data/app/com.android.chrome-2/base.apk (offset 0xc41000)
2022-04-28 10:46:02.437 ? D/: #29 pc 00047273  /system/lib/libc.so (_ZL15__pthread_startPv+22)
2022-04-28 10:46:02.437 ? D/: #30 pc 00019bd1  /system/lib/libc.so (__start_thread+6)
2022-04-28 10:46:02.437 ? D/MALI: gles_state_set_error_internal:70: [MALI] GLES error info:execution failed

I believe it can be somehow cordova related.
The game is really simple (not much of a game yet really), happy to attach the json file (if that is even possible here) the json is only 57KB and 1760 lines (after formatting).
The apk file is only 1.8 MB

The logic is really so simple that I can’t believe this can be related to what I’ve created, at the same time I can’t test it more myself, as I’m allowed only 2 builds :man_shrugging:

in this post:

it is suggested to send json and recording - I can’t attach neither in the message

I’ll at least attach the screenshot of my whole events panel:

Android 7 isn’t supported anymore. I think last supported version is 9.

Your errors are related to the browser chrome, chrome is used as webview to run games.
Try to update it?

1 Like

Wow, seriously minsdk is 28 (android 9)? :open_mouth:
It cuts out like 20% of android users :scream:

As for chrome - yeah I’ve tried updating it before posting here, and most recent chrome does not help.
Updating the OS is a no go - this is one of my testing device, and that’s not an advice you would give to your app (or game) user. If I had only most recent devices as developer I would be detached from my users (and would never learn that the app doesn’t work on android 7 :stuck_out_tongue:).

So where can I find official information on min supported android version? From my knowledge latest Cordova supports android api 22 (android 5.1). Why would gdevelop not support the same?

My understanding is that GDevleop’s android export primarily targets Google Play, and not other methods/stores/etc. Google Play’s minimum API for existing apps is 28 (and even then only on Google Wear devices), new apps must be 30. Starting in august, new apps must be API 31.

1 Like

Indeed last version was 30, and now we support API 31.

1 Like

@Silver-Streak, @Bouh you are now mixing target api level with min api level.

You can have target api set to 31, and still support devices running lower levels by defining the min sdk.

If you released your app with min sdk set to 31, at this moment less then 10% (!!!) of all android users could even install your app (the rest wouldn’t even see it in Google Play)

The question here is about the minimal supported sdk (not target) which for cordova is at this moment 22. And I’d like to understand why would it be different for gdevelop, since gdevelop in fact deploys a cordova app.

So to further follow up on the issue - I’ve checked the apk file in Android Studio, and as expected the min sdk is just like on cordova spec:

    <uses-sdk
        android:minSdkVersion="22"
        android:targetSdkVersion="30" />

I’ve also managed to run the device on the emulator with api 22 without any issues (well - the frame rate dropped :wink:), so the problem must be on the LG device - still worth investigating IMO, as LG is quite a popular vendor.

Thats good to know that the minSDK spec is being set, and we arent being restrticted to just API 31/android 11 devices. (although from some cursory searches, over ~30% of android users are on Android 11 worldwide, so not quite as worrisome, but still limiting if 31 only)

On the LG, can you try Network preview and still see if you still get the crash? That could indicate if it is something base OS level or if it is something with an incompatibility with electron/cordova and that device.

Side edit: I think you mean was a popular vendor. :frowning_face: They discontinued their mobile device production permanently about a year ago in 2021.