Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.

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?