Android IL2CPP Build crashes while select both arm64 and armv7 architecture

Only select one of them(arm64 or armv7 single) would not crash,
but when I check both of them, the app would crash before loading the scene.
I added Debug.Log at one of the Start method of my first scene, it doesn’t shown in the logcat.
I pasted the logcat content below:

2021-05-21 15:27:31.209 31524-31552/? E/CRASH: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2021-05-21 15:27:31.209 31524-31552/? E/CRASH: Version '2021.1.7f1c1 (4e944ebb9621)', Build type 'Development', Scripting Backend 'il2cpp', CPU 'armeabi-v7a'
2021-05-21 15:27:31.209 31524-31552/? E/CRASH: Build fingerprint: 'Xiaomi/pine/pine:10/QKQ1.191014.001/V12.0.3.0.QCMCNXM:user/release-keys'
2021-05-21 15:27:31.209 31524-31552/? E/CRASH: Revision: '0'
2021-05-21 15:27:31.209 31524-31552/? E/CRASH: ABI: 'arm'
2021-05-21 15:27:31.209 31524-31552/? E/CRASH: Timestamp: 2021-05-21 15:27:31+0800
2021-05-21 15:27:31.209 31524-31552/? E/CRASH: pid: 31524, tid: 31552, name: UnityMain  >>> com.TeamYuhui.PolarNightCruise <<<
2021-05-21 15:27:31.209 31524-31552/? E/CRASH: uid: 10205
2021-05-21 15:27:31.209 31524-31552/? E/CRASH: signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x85285fe4
2021-05-21 15:27:31.209 31524-31552/? E/CRASH:     r0  b12cfa08  r1  00000000  r2  000000e0  r3  0000000e
2021-05-21 15:27:31.209 31524-31552/? E/CRASH:     r4  000000e0  r5  00000000  r6  00000000  r7  0000000e
2021-05-21 15:27:31.209 31524-31552/? E/CRASH:     r8  00000001  r9  0000000e  r10 00000000  r11 b12cfa08
2021-05-21 15:27:31.209 31524-31552/? E/CRASH:     ip  ade95d1c  sp  85286000  lr  ade16855  pc  ade16b24
2021-05-21 15:27:31.209 31524-31552/? E/CRASH: backtrace:
2021-05-21 15:27:31.209 31524-31552/? E/CRASH:       #00 pc 00036b24  /apex/com.android.runtime/lib/bionic/libc.so (arena_choose) (BuildId: 36720ba5aeb300d75235d367cb8550ae)
2021-05-21 15:27:31.209 31524-31552/? E/CRASH:       #01 pc 0000025e  [anon:.bss]
2021-05-21 15:27:32.316 31524-31552/? E/CRASH: Tombstone written to: /storage/emulated/0/Android/data/com.TeamYuhui.PolarNightCruise/files/tombstone_00
2021-05-21 15:27:32.317 31524-31552/? E/AndroidRuntime: FATAL EXCEPTION: UnityMain
    Process: com.TeamYuhui.PolarNightCruise, PID: 31524
    java.lang.Error: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    Version '2021.1.7f1c1 (4e944ebb9621)', Build type 'Development', Scripting Backend 'il2cpp', CPU 'armeabi-v7a'
    Build fingerprint: 'Xiaomi/pine/pine:10/QKQ1.191014.001/V12.0.3.0.QCMCNXM:user/release-keys'
    Revision: '0'
    ABI: 'arm'
    Timestamp: 2021-05-21 15:27:31+0800
    pid: 31524, tid: 31552, name: UnityMain  >>> com.TeamYuhui.PolarNightCruise <<<
    uid: 10205
    signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x85285fe4
        r0  b12cfa08  r1  00000000  r2  000000e0  r3  0000000e
        r4  000000e0  r5  00000000  r6  00000000  r7  0000000e
        r8  00000001  r9  0000000e  r10 00000000  r11 b12cfa08
        ip  ade95d1c  sp  85286000  lr  ade16855  pc  ade16b24
   
    backtrace:
          #00 pc 00036b24  /apex/com.android.runtime/lib/bionic/libc.so (arena_choose) (BuildId: 36720ba5aeb300d75235d367cb8550ae)
          #01 pc 0000025e  [anon:.bss]
   
        at libc.arena_choose(arena_choose:0)
        at [anon:.0x25e(Native Method)
1 Like

In addition, I’ve tried Unity 2021.1.5/1.6/1.7 , all of them has the same problem.

Sadly there’s no clear info why it’s crashing, what about empty project, does it crash too?

If no, could you please submit a bug with repro project attached? THank you

We are running into the same issue. So fare completely random so very hard to even report a bug.
On latest 2020.3.14 LTS

In one case it was temp resolves by building for only ARM7 and then including ARM64 later and then the build didn’t crash (with both ARM7 + ARM64).

After one (very) minor code change the crash returned and the previous workaround didn’t work any longer.

Try checking the stacktrace after the crash, also be sure to have symbols generated for every build, so you can resolve stacktrace

I have the same problem. The following work around seems to work for me when this starts up. I turn off arm64 and compile only for armv7. I then turn arm64 back on and compile for both arm64 and armv7 and then it works. This is in Unity 2021.1.10f1. This problem of crashing seems to randomly start at some point, and then I have to do the above to get it back to normal.

1 Like

Thanks, work around works for us, and indeed in can start crashing again after simply changing one line of code.
At this point we’re buidling seperate arm7 and arm64 bundles as it gives more reliable outcome.

We’ve been experiencing the same issue recently in two of our projects, it seems to have begun after recently updating to Unity 2020.3.16f1. It seems to have just randomly started happening and the work-around of disabling Armv64, doing a build that will work then re-enabling both Armv7 / Armv64 again is also working for us.

Since Google obligatorily wants an .aab file instead of .apk, we also had to enable “Armv7” and “Arm64”. Since then the app does not start anymore and we have exactly the same problem…

The workaround seems to work for me sometimes, but not always.

Is there any news on this yet?

Unity version 2021.1.20f1

2 Likes

We’re having the same issue, with both ARMv7 and ARM64 selected it sometimes works but usually the apk just crashes or freezes on startup, removing ARMv7 support seems to fix it.

Bug report with repro project: 1362153

Edit: Not sure if it’s related, but after installing an apk that would crash on startup, sometimes unrelated other unity games would start crashing on startup as well, after uninstalling the broken apk and restarting the device the other games would work normally again.

Hi @lagalot123 ,

I didn’t even notice the crash with other apps. This is another reason that Unity should fix this problem quickly.
I can’t find the bug report, can you share it via link here? That would be very nice :slight_smile:

Maybe it will help someone:

I was just now able to export several runnable builds with intermediate changes in the code. I had previously deleted the library folder in the project folder once and now it seems to work. CAUTION: All assets will be re-imported and it may be necessary to switch back to the previous platform, also the project must be closed when deleting the folder. Otherwise, everything worked fine for me, even the project settings were all preserved.

1 Like

We’re getting this too and the backtrace for the crash is unresolvable. We were seeing the crash in both ARMv7 and ARM64 devices. The AAB is unusable. We recently upgraded from Unity 2020.3.17f1 to 2020.3.18f1 and then this problem started happening. @LeekAndRibs 's suggestion worked, but we didn’t delete the entire Library folder, only the il2cpp, ScriptAssemblies, PlayerDataCache, BuildPlayerData, and Artifact folders. One of those was probably key to this, if I had to speculate I would guess il2cpp is the culprit.

4 Likes
1 Like

The same happens for us with Unity 2020 LTS on all devices we tested

1 Like

I can confirm that just removing the Library/il2cpp* folders will resolve the issue. Happens frequently when switching between architecture types, for example going from a Mono/ARMv7 Build to a IL2CPP/ARMv7+ARM64 build.

7 Likes

I can also confirm now that deleting the Library/il2cpp* folders resolves the problem (and has no major impact on build times)

1 Like

Deleting Library/il2cpp* folders didn’t work for me.
I even switched to version 2021.1.25f1.

My game doesn’t even open, it crashes instantly

1 Like

Hey guys, this bug also drive me crazy. But I found if export gradle project and generate apk or aab in Android Studio will be fine. Seems that there are some differences between Unity build and AS build.

Try deleting Library folder, if it doesn’t help, could you submit a bug report with repro project attached ? Thank you