My game is live, and a small % of players are experiencing crashes. I cannot reproduce any of them, so all I have to go on are traces reported via Crashlytics. I’m looking for any help/leads as to what a crash in memcpy might mean. So far, this crash might only be happening on this one type of device below.
At the time of the crash, the player apparently had:
326.00 MiB Free Space / 79.00 MiB Free RAM
Build with IL2CPP
Crash #1
Fatal Exception: java.lang.Error: FATAL EXCEPTION [UnityMain]
Unity version : 5.3.7p2
Device model : samsung GT-N7000
Device fingerprint: samsung/GT-N7000/GT-N7000:4.1.2/JZO54K/N7000XXLT6:user/release-keys
Caused by java.lang.Error: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0000000c
Build fingerprint: 'samsung/GT-N7000/GT-N7000:4.1.2/JZO54K/N7000XXLT6:user/release-keys'
Revision: '8'
pid: 30018, tid: 30091, name: UnityMain >>> com.mazzastudios.mergedragons <<<
r0 76dddec0 r1 0000000c r2 00000b04 r3 00000000
r4 00000b24 r5 00000001 r6 5f6b08d0 r7 76dddec0
r8 60b11da8 r9 00000001 sl 5f6b08d0 fp 00000002
ip 00000040 sp 5f6b07c8 lr 5879cb14 pc 4004d23c cpsr 4e2f4b34
at libc.memcpy(memcpy:160)
at libGLESv2_mali._gles_gb_setup_input_streams(_gles_gb_setup_input_streams:600)
at libGLESv2_mali._gles_gb_vs_setup(_gles_gb_vs_setup:108)
at libGLESv2_mali._gles_gb_draw_indexed_range(_gles_gb_draw_indexed_range:136)
at libGLESv2_mali._gles2_draw_elements(_gles2_draw_elements:296)
at libGLESv2_mali.glDrawElements(glDrawElements:76)
at libunity.004b26f8(Unknown Source)
at libunity.002e3b94(Unknown Source)
at libunity.002e3bec(Unknown Source)
at libunity.002b48e4(Unknown Source)
at libunity.0016c458(Unknown Source)
at libunity.00173270(Unknown Source)
at libunity.0017449c(Unknown Source)
at libunity.001784e0(Unknown Source)
at libunity.00111894(Unknown Source)
at libunity.00114198(Unknown Source)
at libunity.0012f848(Unknown Source)
at libunity.0038ea28(Unknown Source)
at libunity.0038fde8(Unknown Source)
at libunity.004dde00(Unknown Source)
at libunity.004e32f4(Unknown Source)
at libdvm.dvmPlatformInvoke(dvmPlatformInvoke:112)
at libdvm.dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)(dvmCallJNIMethod:394)
at libdvm.00027360(Unknown Source)
at libdvm.dvmInterpret(Thread*, Method const*, JValue*)(dvmInterpret:180)
at libdvm.dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)(dvmCallMethodV:272)
at libdvm.dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)(dvmCallMethod:20)
at libdvm.000544d3(Unknown Source)
at libc.__thread_entry(__thread_entry:48)
at libc.pthread_create(pthread_create:172)
at Unknown.0001bbec(Unknown Source)
Also, here’s an additional crash that may be related, on a different device, in a memcpy_base:
Fatal Exception: java.lang.Error: FATAL EXCEPTION [main]
Unity version : 5.3.2f1
Device model : LENOVO LenovoA3300-GV
Device fingerprint: Lenovo/A3300-GV/A3300-GV:4.4.2/KOT49H/A3300GV_A442_01_44_140924_ROW:user/release-keys
Caused by java.lang.Error: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
Build fingerprint: 'Lenovo/A3300-GV/A3300-GV:4.4.2/KOT49H/A3300GV_A442_01_44_140924_ROW:user/release-keys'
Revision: '0'
pid: 11172, tid: 11245, name: UnityPreload >>> com.mazzastudios.mergedragons <<<
r0 62693bf8 r1 00000000 r2 0000000c r3 00000008
r4 00000000 r5 00000000 r6 7a352cd0 r7 00000000
r8 00000000 r9 00000014 sl 00000000 fp 00000000
ip 00000000 sp 62693bb0 lr 60608374 pc 401043ac cpsr 33412f48
at libc.__memcpy_base(__memcpy_base:80)
at libunity.001c9370(Unknown Source)
at libunity.0040622c(Unknown Source)
at libunity.00404e68(Unknown Source)
at libunity.004003bc(Unknown Source)
at libunity.003dca08(Unknown Source)
at libunity.003db3d0(Unknown Source)
at libunity.003db320(Unknown Source)
at libunity.004354dc(Unknown Source)
at libc.__thread_entry(__thread_entry:72)