Hello guys,
Recently version, My app has a crash related to Fortify on Play Console. StackTrace is below:
backtrace:
#00 pc 0000000000083360 /apex/com.android.runtime/lib64/bionic/libc.so (abort+176)
#01 pc 00000000000e5154 /apex/com.android.runtime/lib64/bionic/libc.so (__fortify_fatal(char const*, ...)+116)
#02 pc 00000000000e484c /apex/com.android.runtime/lib64/bionic/libc.so (HandleUsingDestroyedMutex(pthread_mutex_t*, char const*)+52)
#03 pc 00000000000e46ac /apex/com.android.runtime/lib64/bionic/libc.so (pthread_mutex_lock+164)
#03 pc 00000000000e46ac /apex/com.android.runtime/lib64/bionic/libc.so (pthread_mutex_lock+164)
#04 pc 00000000041665f0 /data/app/com.sample.XXX-acbdMaf6U8z2l8nbfkYxeA==/lib/arm64/libSample.so (std::__ndk1::__libcpp_mutex_lock(pthread_mutex_t*)) (SourceCode: /buildbot/src/android/ndk-release-r21/external/libcxx/include/__threading_support:264)
#05 pc 00000000041665f0 /data/app/com.sample.XXX-acbdMaf6U8z2l8nbfkYxeA==/lib/arm64/libSample.so (std::__ndk1::mutex::lock()) (SourceCode: /buildbot/src/android/ndk-release-r21/external/libcxx/src/mutex.cpp:33)
#06 pc 0000000003f05430 /data/app/com.sample.XXX-acbdMaf6U8z2l8nbfkYxeA==/lib/arm64/libSample.so (Curl_share_lock) (SourceCode: C:\jenkins\workspace\Release_3rdParty_Windows\libs\common\Curl\src/share.c:236)
#07 pc 0000000003f1f1dc /data/app/com.sample.XXX-acbdMaf6U8z2l8nbfkYxeA==/lib/arm64/libSample.so (Curl_http) (SourceCode: C:\jenkins\workspace\Release_3rdParty_Windows\libs\common\Curl\src/http.c:2599)
Dealing with threading is difficult, the app crashes is better then it stucks :D.
So the questions are:
- I didn't add "-D_FORTIFY_SOURCE=2" for that Curl lib when compiling it 1 years ago with standalone toolchain. So do we need to add "-D_FORTIFY_SOURCE=2" to all C code to have the stacktrace as above?
- Is it only avalible on arm64-v8a?
Also, I suggest it should be support from SDK 23.
Thanks,
Seal