I got a native crash from GitHub. The native crash is as follows:
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/android_x86/x86:7.1.2/N2G48B/327:user/release-keys'
Revision: '0'
ABI: 'x86'
pid: 3201, tid: 3201, name: le.startup_name >>> com.example.startup_name <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: '[FATAL:flutter/shell/platform/android/platform_view_android_jni_impl.cc(1469)] Check failed: fml::jni::CheckException(env).
'
eax 00000000 ebx 00000c81 ecx 00000c81 edx 00000006
esi c7ffe98c edi c7ffe934
xcs 00000073 xds 0000007b xes 0000007b xfs 0000003b xss 0000007b
eip c7f28c10 ebp cfffd288 esp cfffd22c flags 00200296
backtrace:
#00 pc 00000c10 [vdso:c7f28000] (__kernel_vsyscall+16)
#01 pc 0007ae8c /system/lib/libc.so (tgkill+28)
#02 pc 00076665 /system/lib/libc.so (pthread_kill+85)
#03 pc 00027eda /system/lib/libc.so (raise+42)
#04 pc 0001eec6 /system/lib/libc.so (abort+86)
#05 pc 000009da /data/app/com.example.startup_name-2/lib/x86/libflutter.so (offset 0x147e000)
stack:
......
I can manually reproduce the native crash on my machine according to the steps from the issues of GitHub. However, I want to replicate the native crash automatically. I build a workflow graph. The workflow graph is as follows.
Tombstone files --> .so file --> c source code (native crash source code) --> test generation tool --> test cases --> run test cases --> crash reproduction
I want to reproduce the native crash according to the workflow. I should learn how to find a test-generation tool and run the generated test cases. I just get a native crash same as the original native crash.