Search Unity

root causing an Android Crash report (tgkill, libunity, addr2line)

Discussion in 'General Discussion' started by pl_ayground, Jun 25, 2020.

  1. pl_ayground

    pl_ayground

    Joined:
    Dec 17, 2015
    Posts:
    60
    Hi,

    Can someone guide me through root causing a crash report I see quite often in Google Play Console but I cannot replicate?

    The error is in the lines of:
    Code (CSharp):
    1. *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    2. pid: 0, tid: 0 >>> MY_APP_PACKAGE_ID <<<
    3.  
    4. backtrace:
    5.   #00  pc 00000000000DIFF_ON_EACH_DEVICE  /system/lib/libc.so (tgkill+12)
    6.   #01  pc 000000000043e017  /data/app/MY_APP_PACKAGE_ID-j7Us6TYgBAP_T3u341CAVw==/lib/arm/libunity.so
    7.   #02  pc 000000000043e2ef  /data/app/MY_APP_PACKAGE_ID-j7Us6TYgBAP_T3u341CAVw==/lib/arm/libunity.so
    8.   #03  pc 0000000000107b29  /data/app/MY_APP_PACKAGE_ID-j7Us6TYgBAP_T3u341CAVw==/lib/arm/libunity.so
    9.   #04  pc 00000000001061ad  /data/app/MY_APP_PACKAGE_ID-j7Us6TYgBAP_T3u341CAVw==/lib/arm/libunity.so
    10.   #05  pc 0000000000106019  /data/app/MY_APP_PACKAGE_ID-j7Us6TYgBAP_T3u341CAVw==/lib/arm/libunity.so
    11.   #06  pc 00000000000da8c1  /data/app/MY_APP_PACKAGE_ID-j7Us6TYgBAP_T3u341CAVw==/lib/arm/libunity.so
    12.   #07  pc 00000000005e3897  /data/app/MY_APP_PACKAGE_ID-j7Us6TYgBAP_T3u341CAVw==/lib/arm/libunity.so
    It has been there since quite a while, recompile using recent LTS (2019.4.1f) did not solve the thing.

    I googled how to map the addr to the function name and the commands I use are as follows:
    /Applications/Unity/Hub/Editor/2019.4.1f1/PlaybackEngines/AndroidPlayer/NDK/toolchains/llvm/prebuilt/darwin-x86_64/bin/i686-linux-android-addr2line -f -C -e ~/Symbols/armeabi-v7a/libunity.sym.so 43e017 43e2ef 107b29 1061ad 106019 da8c1 5e3897

    or
    /Applications/Unity/Hub/Editor/2019.4.1f1/PlaybackEngines/AndroidPlayer/NDK/toolchains/llvm/prebuilt/darwin-x86_64/bin/i686-linux-android-addr2line -f -C -e ~/Symbols/arm64-v8a/libunity.sym.so 43e017 43e2ef 107b29 1061ad 106019 da8c1 5e3897

    depending on the architecture.

    The results say nothing to me unfortunately:

    Code (CSharp):
    1. PackTextureAtlas(Texture2D*, int, int, Texture2D**, RectT<float>*, int, TextureCreationFlags)
    2. ??:?
    3. PackTextureAtlas(Texture2D*, int, int, Texture2D**, RectT<float>*, int, TextureCreationFlags)
    4. ??:?
    5. Scripting::UnityEngine::Networking::UnityWebRequestAsyncOperationProxy::InitProxy()
    6. ??:?
    7. Scripting::UnityEngine::GUITargetAttributeProxy::InitProxy()
    8. ??:?
    9. Scripting::UnityEngine::GUIScrollGroupProxy::CleanupProxy()
    10. ??:?
    11. ??
    12. ??:0
    13. SerializationCache::WriteQueueForTransferSignatureIntoCache(TransferRequestSignature const&, ScriptingClassPtr, SerializationCache::Data&, bool&)
    14. ??:?
    when using armeabi-v7a

    or:

    Code (CSharp):
    1. $d.652
    2. ??:?
    3. ReflectionProbe_Set_Custom_PropType(ScriptingBackendNativeObjectPtrOpaque*, ReflectionProbe::ProbeType)
    4. ??:?
    5. SpriteMask::UpdateCachedSprite(bool)
    6. ??:?
    7. core::hash_set<core::pair<core::basic_string<char, core::StringStorageDefault<char> > const, core::basic_string<char, core::StringStorageDefault<char> >, true>, core::hash_pair<core::hash<core::basic_string<char, core::StringStorageDefault<char> > >, core::basic_string<char, core::StringStorageDefault<char> > const, core::basic_string<char, core::StringStorageDefault<char> > >, core::equal_pair<std::__ndk1::equal_to<core::basic_string<char, core::StringStorageDefault<char> > >, core::basic_string<char, core::StringStorageDefault<char> > const, core::basic_string<char, core::StringStorageDefault<char> > > >::node* core::hash_set<core::pair<core::basic_string<char, core::StringStorageDefault<char> > const, core::basic_string<char, core::StringStorageDefault<char> >, true>, core::hash_pair<core::hash<core::basic_string<char, core::StringStorageDefault<char> > >, core::basic_string<char, core::StringStorageDefault<char> > const, core::basic_string<char, core::StringStorageDefault<char> > >, core::equal_pair<std::__ndk1::equal_to<core::basic_string<char, core::StringStorageDefault<char> > >, core::basic_string<char, core::StringStorageDefault<char> > const, core::basic_string<char, core::StringStorageDefault<char> > > >::lookup<core::basic_string<char, core::StringStorageDefault<char> > >(core::basic_string<char, core::StringStorageDefault<char> > const&) const
    8. ??:?
    9. void LocalizationAsset::Transfer<StreamedBinaryWrite>(StreamedBinaryWrite&)
    10. ??:?
    11. void math::Limit::Transfer<StreamedBinaryWrite>(StreamedBinaryWrite&)
    12. ??:?
    13. void BlendShapeData::Transfer<StreamedBinaryWrite>(StreamedBinaryWrite&)
    14. ??:?
    when using arm64-v8a

    This seems to lead nowhere. How to move forward?