Hey all,

One of the few mobile games I play has not worked since I switched to GrapheneOS, and I really would love to be able to play it again. I reached out to the developer of the app with the crash report, but thought I'd ask here too.

I have reinstalled the app, tried granting it all the permissions I could, but just can't get it to work.

Everytime I launch the app it will ask to download files (if I just reinstalled it for instance) which it can easily do, but then when it tries to load the game it goes black and closes. Crash report below:

type: crash
osVersion: google/raven/raven:12/SQ3A.220705.004/2022081600:user/release-keys
package: com.YoStarEN.MahjongSoul:114
process: com.YoStarEN.MahjongSoul

java.lang.Error: FATAL EXCEPTION [UnityMain]
Unity version     : 2020.3.13f1
Device model      : Google Pixel 6 Pro
Device fingerprint: google/raven/raven:12/SQ3A.220705.004/2022081600:user/release-keys
Build Type        : Release
Scripting Backend : IL2CPP
ABI               : arm64-v8a
Strip Engine Code : true

Caused by: java.lang.Error: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Version '2020.3.13f1 (71691879b7f5)', Build type 'Release', Scripting Backend 'il2cpp', CPU 'arm64-v8a'
Build fingerprint: 'google/raven/raven:12/SQ3A.220705.004/2022081600:user/release-keys'
Revision: 'MP1.0'
ABI: 'arm64'
Timestamp: 2022-08-18 00:02:08-0700
pid: 29739, tid: 29793, name: UnityMain  >>> com.YoStarEN.MahjongSoul <<<
uid: 10191
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
Cause: null pointer dereference
    x0  0000000000000000  x1  0000000000001000  x2  0000000000000001  x3  0000000000000000
    x4  0000000000000000  x5  0000000000000004  x6  000000006b206574  x7  00000000cca4d7c0
    x8  0000c4f30f016000  x9  0000000000000000  x10 0000000000000000  x11 0000000000000000
    x12 0000c4f29000f700  x13 000000000001f191  x14 fdfdfdf7fbf7ffff  x15 fde5fdb6bbf5ff3f
    x16 0000c52761bda078  x17 0000c52761bcd284  x18 0000000000000001  x19 0000c4f30f0156b8
    x20 0000000000000000  x21 0000c4f30f0157b8  x22 0000000000001000  x23 0000000000000eb5
    x24 0000000000012a98  x25 0000c52761bdd440  x26 0000000000000c71  x27 0000c4f30d9c024c
    x28 0000c52761bdd000  x29 0000c4f3087e3840
    sp  0000c4f3087e37c0  lr  0000c4f30e01d9bc  pc  0000c4f30e01d9bc

backtrace:
      #00 pc 00000000007b69bc  /data/app/~~ieWtYlkB0nb6FJGlxiEbnQ==/com.YoStarEN.MahjongSoul-ziDLxwsSKmjLWaU_ZIi_sg==/lib/arm64/libunity.so (BuildId: 34a2cbe2f3e9764f23cc9718e78528f3886a8ae8)
      #01 pc 0000000000159268  /data/app/~~ieWtYlkB0nb6FJGlxiEbnQ==/com.YoStarEN.MahjongSoul-ziDLxwsSKmjLWaU_ZIi_sg==/lib/arm64/libunity.so (BuildId: 34a2cbe2f3e9764f23cc9718e78528f3886a8ae8)
      #02 pc 00000000000b15e8  /apex/com.android.runtime/lib64/bionic/libc.so (__cxa_finalize+288) (BuildId: 761d634420410980165d18a838ce8c70)
      #03 pc 00000000000a2e90  /apex/com.android.runtime/lib64/bionic/libc.so (exit+24) (BuildId: 761d634420410980165d18a838ce8c70)
      #04 pc 0000000000030b84  /data/app/~~ieWtYlkB0nb6FJGlxiEbnQ==/com.YoStarEN.MahjongSoul-ziDLxwsSKmjLWaU_ZIi_sg==/lib/arm64/libtolua.so (BuildId: ab8f2cce87ece7d68f4f7ffb621a06afc3491627)

	at libunity.0x7b69bc(Native Method)
	at libunity.0x159268(Native Method)
	at libc.__cxa_finalize(__cxa_finalize:288)
	at libc.exit(exit:24)
	at libtolua.0x30b84(Native Method)

If anyone has any tips or tricks I can try, I'd love to give them a shot! Thank you!

    Some old versions of the Unity Engine have memory corruption bugs. Due to certain GrapheneOS security features, games using this version of the Unity Engine will crash on GrapheneOS. The team has recently developed a per-app toggle that will allow you to disable these security features in order to workaround these types of bugs. However, they are focused on Android 13 at the moment so you will have to wait until next month for this feature.

    The developer of this game can fix the issue, but it is unlikely they will.

      Tilde as DeletedUser80 alluded to Unity had a memory corruption bug that caused an issue, our development team reached out to Unity who patched it in their current releases.

      You should reach out to the developer of the game and have them update their implementation, if they won't I'd avoid the game and their work.

      Other games such as Diablo Immortal have issues with memory page sizes which again as Shorty said, have been resolved but the transition to Android 13 needs to be completed before it can be implemented in future revisions of the OS.

      The future toggle for compatibility with buggy apps requiring a 39-bit address space will also switch to using Android's standard allocator for those apps so it will allow working around these issues. We plan to launch this toggle shortly after the release of Android 13.

      Thank you all for the in depth explanation! Excited for that toggle feature, but I did reach out directly to the app publisher and submitted a bug report too :)

      2 years later