We’ve just finished transition from Unity 2018.4.31 to Unity 2019.4.27. According to our internal testing everything works fine and FPS, Memory and build size doesn’t suffer of this transition at all.
But by some reason the average rating of version with new Unity drops from 4.5 down to 3.7. According to user reviews the problem is that application doesn’t start. Using Crashlytics we have found crash with this stacktrace:
This crash is not really frequent and occurs only on 0.5% of users, but nearly all those users throws 1 star rating or review :(. Also this fact prevents us on reproducing this crash on our test devices. Now we have returned Unity 2018.4 build in Google Play.
Does anybody knows how to overcome this bug or knows Unity 2019.4 version which doesn’t has this bug (2019.4.25, 2019.4.26, 2019.4.28 or others)?
According to crashlytics it can happen on any android version and on lots of different android devices. Also I have checked if it depends on GPU, and it looks like it’s more frequent on Mali, but Adreno GPUs also present in crash reports.
Today we discover that Unity 2018.4.31f1 also have this crash, but only for armv7 ABI (that’s why we didn’t notice it earlier).
In Unity 2019.4.27f1 it crashes on both armv7 and arm64 ABIs.
We are working on an improvement but since so far nobody is able to reproduce the problem we don’t know if it’s actually going to solve the core issue as described in https://discussions.unity.com/t/873518 .
This seems to happen on Huawei devices, maybe that can help reproduce it.
It’s pretty weird, about a month ago I released a version of the app which didn’t have this problem. Now, some code changes later, it suddenly appeared. It’s the same Unity version - 2020.3.30f1.
I reverted all code, plugins, Unity settings, etc. back to the previous version and strangely the bug still happens. While the apk that was built a month ago is fine. They were supposed to be 100% the same, but apparently something’s different and that difference is not visible to Git.
Got it, the working build was done on a Mac, while the crashing one was done on Windows - both use the same Unity version - 2020.3.30f1. So switching to a Mac fixed it.
Also seems like I was wrong about Huawei devices - happens on others also.
But only when using Release builds, debug builds seem to be fine.
I’m facing thousands of these errors on user devices (seen both in Google Play and in Crashlytics) since update from Unity 2018 to Unity 2020. I’m using Unity 2020.3.34 now and build is done on macOS. Happens on wide range of devices, but Google Play mostly reports Huawei devices.
Stack trace is as follows:
Caused by java.lang.Error: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Version '2020.3.34f1 (9a4c9c70452b)', Build type 'Release', Scripting Backend 'il2cpp', CPU 'arm64-v8a'
Build fingerprint: 'samsung/a31xx/a31:11/RP1A.200720.012/A315FXXU1CUK4:user/release-keys'
Revision: '3'
ABI: 'arm64'
Timestamp: 2022-06-26 12:39:30+0300
pid: 10269, tid: 12315, name: UnityMain >>> bundle.id <<<
uid: 10255
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
Cause: null pointer dereference
x0 0000000000000000 x1 0000007bd6e5188e x2 0000007cdcf4a627 x3 0000000000000005
x4 0000000000000000 x5 0000aa0000101000 x6 0000000000000000 x7 ff7f7f7fffff7fff
x8 0000000000000041 x9 e12b387ceabd4dae x10 0000000000000000 x11 0000007bde90e071
x12 0000000000000000 x13 0000000000000047 x14 0000000000000001 x15 00003e04809d99b9
x16 0000007cdcf7d9b0 x17 0000007cdcf55670 x18 000000007c5ec72c x19 0000007bde90e180
x20 0000007b30d39c18 x21 0000007b302cefc0 x22 0000000000000000 x23 0000000000000001
x24 0000007bde90ee10 x25 0000007bde910000 x26 0000007bde910000 x27 0000007bde90e8c0
x28 0000000000000001 x29 0000000000000001
sp 0000007bde90e100 lr 0000007bd626037c pc 0000007bd60bed48
backtrace:
#00 pc 00000000005bad48 (BeginsWith(char const*, char const*) at ??:?) /data/app/~~qFH1LQV0MwsoUCykyBnTqw==/bundle.id-Pn6SiNxzh4Yy6Zyhw2vKvg==/lib/arm64/libunity.so (BuildId: 53994a4518c674de19e889c82b6bb22a2875a971)
#01 pc 000000000075c378 (ApiGLES::FillExtensions(dynamic_array<core::basic_string_ref<char>, 0ul>&) at ??:?) /data/app/~~qFH1LQV0MwsoUCykyBnTqw==/bundle.id-Pn6SiNxzh4Yy6Zyhw2vKvg==/lib/arm64/libunity.so (BuildId: 53994a4518c674de19e889c82b6bb22a2875a971)
#02 pc 000000000075c028 (ApiGLES::Init(GfxContextGLES const&, GfxDeviceLevelGL&) at ??:?) /data/app/~~qFH1LQV0MwsoUCykyBnTqw==/bundle.id-Pn6SiNxzh4Yy6Zyhw2vKvg==/lib/arm64/libunity.so (BuildId: 53994a4518c674de19e889c82b6bb22a2875a971)
#03 pc 000000000074b4cc (GfxDeviceGLES::Init(GfxDeviceLevelGL) at ??:?) /data/app/~~qFH1LQV0MwsoUCykyBnTqw==/bundle.id-Pn6SiNxzh4Yy6Zyhw2vKvg==/lib/arm64/libunity.so (BuildId: 53994a4518c674de19e889c82b6bb22a2875a971)
#04 pc 000000000074ab1c /da<truncated: 1613 chars>
at libunity.0x5bad48()
at libunity.0x75c378()
at libunity.0x75c028()
at libunity.0x74b4cc()
at libunity.0x74ab1c()
at libunity.0x3ddc08()
at libunity.0x8f2504()
at libunity.0x8f276c()
at libunity.0x6a8c5c()
at libunity.0x6928f4()
at libunity.0x6934a4()
at libunity.0x6aaa10()
at base.0xc79ac()
Unity 2022.2.0a17 has a potential fix for the crash on startup in ApiGLES::FillExtensions. We still have no way to reproduce the problem, so not sure if the issue is actually fixed.