Der Workflow um das Problem zu finden war relativ beschissen, weil ich es einfach nicht besser weiss. Code anpassen, Java Modul erstellen, in Unity einfügen. Build erstellen und einige Minuten warten. Testen. Absturz Ja/Nein? Repeat.
Jedenfalls habe ich den Code identifiziert der den Absturz provoziert, aber nicht selber abstürzt. Meine starke Vermutung ist dass ich Unity's Graphik Engine beeinträchtige, da es kurz nach Beenden des Plugins zu einer null-Pointer Exception in einem Blit kommt.
Der böser Code mit dem bösen Aufruf "GLES20.glGenTextures" zu dem ich nirgends eine ausführliche Dokumentation gefunden habe. Überhaupt tue ich mich sehr schwer mit der Android Java Dokumentation. "glGenTextures" hat einne Offset Parameter an 3ter Stelle und ich weiss bis jetzt nicht für was der Gut ist. Ich habe mal 8 eingesetzt, einfach zum sehen was passiert. Absturz war das Resultat.
Code: Alles auswählen
public static int loadTexture(int frameIndex)//final String path, final int resourceId)
{
Inform("Load Texture "+frameIndex);
if (textureHandle[0] == 0) {
GLES20.glGenTextures(1, textureHandle, 0);
if (textureHandle[0] == 0)
{
throw new RuntimeException("Error loading texture.");
}
Log.d(TAG, "*** loadTexture");
}
Code: Alles auswählen
2021-02-12 16:35:10.832 27412-27452/space.spherience.app D/AndroidMP4: *** Finally -> Release Resources
2021-02-12 16:35:10.833 27412-27452/space.spherience.app D/AndroidMP4: *** Completed
2021-02-12 16:35:10.842 27412-27452/space.spherience.app D/Unity: NativeCrashSerializer::EndReport() Success!
2021-02-12 16:35:10.900 27412-27452/space.spherience.app E/CRASH: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2021-02-12 16:35:10.900 27412-27452/space.spherience.app E/CRASH: Version '2019.4.5f1 (81610f64359c)', Build type 'Development', Scripting Backend 'il2cpp', CPU 'armeabi-v7a'
2021-02-12 16:35:10.901 27412-27452/space.spherience.app E/CRASH: Build fingerprint: 'Ulefone/S10_Pro/S10_Pro:8.1.0/O11019/1531272594:user/release-keys'
2021-02-12 16:35:10.901 27412-27452/space.spherience.app E/CRASH: Revision: '0'
2021-02-12 16:35:10.901 27412-27452/space.spherience.app E/CRASH: ABI: 'arm'
2021-02-12 16:35:10.901 27412-27452/space.spherience.app E/CRASH: Timestamp: 2021-02-12 16:35:10+0100
2021-02-12 16:35:10.901 27412-27452/space.spherience.app E/CRASH: pid: 27412, tid: 27452, name: UnityMain >>> space.spherience.app <<<
2021-02-12 16:35:10.901 27412-27452/space.spherience.app E/CRASH: uid: 10128
2021-02-12 16:35:10.901 27412-27452/space.spherience.app E/CRASH: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8
2021-02-12 16:35:10.901 27412-27452/space.spherience.app E/CRASH: Cause: null pointer dereference
2021-02-12 16:35:10.901 27412-27452/space.spherience.app E/CRASH: r0 00000000 r1 c73fe38c r2 00000000 r3 c73fe440
2021-02-12 16:35:10.901 27412-27452/space.spherience.app E/CRASH: r4 00000002 r5 00000001 r6 00000000 r7 c73fe338
2021-02-12 16:35:10.901 27412-27452/space.spherience.app E/CRASH: r8 c560ce00 r9 c73fe474 r10 00000000 r11 c5613654
2021-02-12 16:35:10.901 27412-27452/space.spherience.app E/CRASH: ip 00001c20 sp c73fe2f0 lr d616b29f pc d616df56
2021-02-12 16:35:10.902 27412-27452/space.spherience.app E/CRASH: backtrace:
2021-02-12 16:35:10.902 27412-27452/space.spherience.app E/CRASH: #00 pc 0001ef56 /vendor/lib/egl/libGLESv2_mtk.so (BuildId: ae12ce3a4e7b403abac7c914598112db)
2021-02-12 16:35:10.902 27412-27452/space.spherience.app E/CRASH: #01 pc 0001b0b5 /vendor/lib/egl/libGLESv2_mtk.so (BuildId: ae12ce3a4e7b403abac7c914598112db)
2021-02-12 16:35:10.902 27412-27452/space.spherience.app E/CRASH: #02 pc 0001abff /vendor/lib/egl/libGLESv2_mtk.so (glDrawElements+54) (BuildId: ae12ce3a4e7b403abac7c914598112db)
2021-02-12 16:35:10.903 27412-27452/space.spherience.app E/CRASH: #03 pc 0097dae4 /data/app/space.spherience.app-o-cNgmVxbD4zUdgZ0hkD5g==/lib/arm/libunity.so (BlitFramebufferImpl(gles::BlitFramebufferDrawQuad&, GfxDevice&, TextureID, Vector4f const&)+388) (BuildId: e01983c489f2c1e98347e01e9a1a966c9737edfa)
2021-02-12 16:35:10.903 27412-27452/space.spherience.app E/CRASH: #04 pc 0097de64 /data/app/space.spherience.app-o-cNgmVxbD4zUdgZ0hkD5g==/lib/arm/libunity.so (BlitFramebuffer::BlitTexture(TextureID)+68) (BuildId: e01983c489f2c1e98347e01e9a1a966c9737edfa)
2021-02-12 16:35:10.903 27412-27452/space.spherience.app E/CRASH: #05 pc 008b04d3 /data/app/space.spherience.app-o-cNgmVxbD4zUdgZ0hkD5g==/lib/arm/libunity.so (ContextGLES::BlitToCurrentFB(ContextGLES::ExternalAndroidFBO&, unsigned int, unsigned int)+310)