Android 7ネイティブクラッシュ:libc.so tgkill


98

次のスタックトレースでこのネイティブクラッシュが発生しています。

これはAndroid 7.0および7.1でのみ発生します。このアプリには何も新しいものが追加されておらず、数年前から運用されていますが、Nougatに更新されるデバイスが増えるにつれ、このクラッシュは頻繁に発生し、迷惑になっています。

何かアドバイスをいただければ幸いです。

native: pc 000000000007a6c4  /system/lib64/libc.so (tgkill+8)
  native: pc 0000000000077920  /system/lib64/libc.so (pthread_kill+64)
  native: pc 000000000002538c  /system/lib64/libc.so (raise+24)
  native: pc 000000000001d24c  /system/lib64/libc.so (abort+52)
  native: pc 000000000001225c  /system/lib64/libcutils.so (__android_log_assert+224)
  native: pc 00000000000610e0  /system/lib64/libhwui.so
  native: pc 000000000003908c  /system/lib64/libhwui.so
  native: pc 000000000003609c  /system/lib64/libhwui.so
  native: pc 000000000003b4fc  /system/lib64/libhwui.so
  native: pc 000000000003c520  /system/lib64/libhwui.so
  native: pc 000000000003e694  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv+152)
  native: pc 00000000000127f0  /system/lib64/libutils.so (_ZN7android6Thread11_threadLoopEPv+336)
  native: pc 00000000000a50b0  /system/lib64/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+116)
  native: pc 00000000000770f4  /system/lib64/libc.so (_ZL15__pthread_startPv+204)
  native: pc 000000000001e7d0  /system/lib64/libc.so (__start_thread+16)

影響を受けるデバイスのリストは次のとおりです。 ここに画像の説明を入力してください

アップデート7/18:

それでも根本的な原因がわからないため、最も発生頻度が高く、手頃な価格のデバイスを購入することにしました。これは、Android 7.0を搭載したSamsung Galaxy J3 2017バージョンであることが判明しました。残念ながら、私はまだクラッシュを再現することができません。

また、本番環境のアプリのメモリ使用量を改善しましたが、まだクラッシュが発生しています。

すべてのコメントと私自身の調査から、それは動的にリンクされたNDKに関連しているようですが、私は何も使用しておらず、依存関係があるかどうかを見つけるのは困難です。

私は依存関係を共有したいと思います。同じ問題に直面している他の人々が同じ依存関係の1つを使用している場合、彼らが呼び出すことができれば素晴らしいでしょう-おそらく私たちはこの方法で原因を見つけることができます。

// App Compat
    compile 'com.android.support:support-v4:23.0.1'
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:cardview-v7:23.0.1'
    compile 'com.android.support:recyclerview-v7:23.0.1'

    // Play Services
    compile 'com.google.android.gms:play-services-location:8.3.0'
    compile 'com.google.android.gms:play-services-maps:8.3.0'
    compile 'com.google.android.gms:play-services-analytics:8.3.0'
    compile 'com.google.android.gms:play-services-appindexing:8.3.0'
    compile 'com.google.android.gms:play-services-ads:8.3.0'

    // Misc Libraries
    compile 'fr.avianey.com.viewpagerindicator:library:2.4.1@aar'
    compile files('app/libs/htmlcleaner-2.7.jar')
    compile files('app/libs/protobuf-java-2.6.0.jar')
    compile files('app/libs/nineoldandroids-2.4.0.jar')

    // Fabric
    compile('com.twitter.sdk.android:twitter:1.13.0@aar') { transitive = true; }
    compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') { transitive = true; }

同じクラッシュに直面している人々のために、これらの依存関係/バージョンのいずれかを使用している場合はコメントで返信してください。問題の依存関係を特定できるかもしれません。


6
おそらく私はあなたのネイティブクラッシュは次の問題と同じだと思います。issuetracker.google.com/issues/37123764アプリケーションにも同様のバグがありますが、解決策は見つかりません... Android 7、7.1のバグだと思います。
松原浩二2017年

3
私はこれも見ています。まったく同じスタックトレースと影響を受けるデバイスのまったく同じリストです。最新バージョンは5月15日に公開されましたが、クラッシュページに同じ「tgkill」という名前の2つの行があります。
Orgmir 2017年

3
このまったく同じ問題、まったく同じスタックトレース、まったく同じ影響を受けるデバイス、ゼロのネイティブライブラリの使用、位置情報サービスとマップサービスの使用も経験しています。おそらくそれはそれに結びついていますか?誰か修正がありますか?
Cord Rehn

3
過去2か月間で、これらのtgkillクラッシュの30k以上が14k +ユーザーに影響を与えています。ここ数週間、私たちが使用しているサードパーティライブラリをゆっくりと削除し、段階的な公開をリリースして、これらのクラッシュの原因を追跡できるかどうかを確認しました。Retrofit、Okhttp、Jackson、Picasso、Firebase、Google Play Services、MultiDex、Apache Legacyを除いて、すべて削除されます。このスレッドに基づいて、マップを削除してユーザーの1%にリリースすることを検討しています。現在実行中: 'com.google.android.gms:play-services-maps:11.0.1'
FinHead

3
「com.google.android.gms:play-services-maps:11.0.1」のみを削除した段階的な公開をリリースしました。週末中それを見た後、tgkillクラッシュのインスタンスはありませんでした。はい、この問題は@Deoによって言及され、以下の課題追跡にリンクされているマップによって引き起こされます。
FinHead 2017

回答:


33

指定したダンプを確認すると、いくつかの手掛かりが得られます。

_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv

これは、UIスレッドでエラーが発生したことを示しています。

libhwui.so x 6

これは、グラフィックス/ UI関連のコードの途中で発生していることを示しています。

libcutils.so-__android_log_assert

これはアサートハンドラーであるため、おそらく何らかのアサートがで違反されましたlibwhui

アボート:

これは、「異常」にシャットダウンするようにO / Sに指示するアプリケーションです。

raise + pthread_kill + tgkill: これは、アプリをシャットダウンするO / S(Android)です。

これらの種類のクラッシュをデバッグするためのドキュメントは、こちらにあります

とにかく、あなたが提示したデータのこの粗くて不正確な解釈を超えて推測することは本当に難しいと思います。

おそらく、Androidログビューアに接続されているときにバグをキャッチすると、アプリケーション固有のデータ(または通常、assert関数が出力するエラーメッセージ)が表示されます。

私のヒントは、ACRAのようなものを使用して、エラーに関連するすべての詳細を追跡するか、影響を受けるデバイスを取得して、デバッガーに接続しているときに実際にそれを再現することです。

幸運を!

編集2017-06-16:Fco Pによる追加情報の礼儀的コメントを追加したいだけです。どうやらGoogleは、最新バージョンのAndroid(7.x)で実行できるネイティブライブラリにいくつかの変更を加えることにしました。詳細はこのリンクにあります。


raise + pthread_kill + tgkill:これは、アプリをシャットダウンするO / S(Android)です。 これは、ユーザーがアプリを強制終了したとき、またはOSから自動的に発生しますか?
DevC 2018年

1
これは、私が知る限り、誤動作しているプロセスをシャットダウンするO / Sです。アプリが「平和的に」終了した場合、それは「キル」操作ではありません。
Lennart Rolland

8

これはここで報告されています:https : //issuetracker.google.com/issues/37123764

再現するには:影響を受けるモードを取得し、開発者モードを有効にし、バックグラウンドアクティビティを0に設定します。また、「バックグラウンドクラッシュの表示」を有効にします。

次に、アプリを開いて、もう一度閉じます。クラッシュが表示されます。


3

コメントにはありません(担当者が不十分)。

リストされている依存関係のうち、使用しているものは次のとおりです。

compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:support-v4:25.3.1'

compile 'com.google.android.gms:play-services-maps:10.2.1'
compile 'com.google.android.gms:play-services-location:10.2.1'

あなたのものとは異なるバージョン。play-services-mapsにバグが含まれている疑いがあります。

おそらく、私たちのようにviewpagerでマップフラグメントを使用し、松原浩二(https://issuetracker.google.com/issues/37123764)によって既に言及されている問題の多くの人々


そのバグレポートに基づいてこれを防ぐための回避策を知っていますか?解決策や回避策などはありません。
hvaughan3 2017

すべてのアプリに影響する同じ問題がありますが、サポートライブラリ(アノテーション、v4、appcompat、デザイン)のみを使用しています。
3c71

3

わからない。たぶん、この問題は私たちの問題と同じかもしれませんが、異なる可能性がありcarviewます。依存関係にはが含まれていることがわかります。ここで共有将来の誰かのために役立つことを願って

Android 7.0および7.1の問題も発生しました

03-04 23:44:51.489 2173-2173/? A/DEBUG: Abort message: 'Error: Ambient Vertex Buffer overflow!!! used 420, total 284'
03-04 23:44:51.489 2173-2173/? A/DEBUG:     eax 00000000  ebx 0000083b  ecx 00000857  edx 00000006
03-04 23:44:51.489 2173-2173/? A/DEBUG:     esi d19ff978  edi d19ff920
03-04 23:44:51.489 2173-2173/? A/DEBUG:     xcs 00000023  xds 0000002b  xes 0000002b  xfs 0000006b  xss 0000002b
03-04 23:44:51.489 2173-2173/? A/DEBUG:     eip f00a6bb9  ebp d19fee68  esp d19fee0c  flags 00000292
03-04 23:44:51.555 2173-2173/? A/DEBUG: backtrace:
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #00 pc 00000bb9  [vdso:f00a6000] (__kernel_vsyscall+9)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #01 pc 0007a2ec  /system/lib/libc.so (tgkill+28)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #02 pc 00075b35  /system/lib/libc.so (pthread_kill+85)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #03 pc 0002784a  /system/lib/libc.so (raise+42)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #04 pc 0001ee26  /system/lib/libc.so (abort+86)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #05 pc 0000fa65  /system/lib/libcutils.so (__android_log_assert+245)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #06 pc 00084356  /system/lib/libhwui.so
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #07 pc 0003a5ba  /system/lib/libhwui.so
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #08 pc 00083d04  /system/lib/libhwui.so
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #09 pc 0008c5df  /system/lib/libhwui.so
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #10 pc 0008e6d8  /system/lib/libhwui.so
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #11 pc 0008e5d2  /system/lib/libhwui.so
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #12 pc 000350fe  /system/lib/libhwui.so
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #13 pc 0001201f  /system/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv+207)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #14 pc 0006e53b  /system/lib/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+111)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #15 pc 00011873  /system/lib/libutils.so (_ZN13thread_data_t10trampolineEPKS_+259)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #16 pc 00075292  /system/lib/libc.so (_ZL15__pthread_startPv+210)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #17 pc 0002028e  /system/lib/libc.so (__start_thread+30)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #18 pc 0001e066  /system/lib/libc.so (__bionic_clone+70)

gooogleで調査して検索しcardviewFramelayout後、この問題は解決されました。


こんにちは@ songoku1610、Cardviewが原因で問題が発生したことをどのようにして見つけましたか。
Ran94

1
私はこの問題を解決したのでcardviewFramelayout
置き換えよ

その他、上記の質問は編集されており、成績のテキストの独立性が削除されているため、私の回答because I see in dependencies have including carviewは質問と一致しなかったようです
songoku1610

3

私はあなたと同じデバイスのグーグルプレイコンソールで同じ問題がありました。

私の場合、問題は、キャンバスのロックとロック解除を別のスレッドで行うアニメーション付きのTextureViewにありました。

TextureViewアニメーションを7および7.1 Androidのinvalidate-onDrawアニメーションに変更しました。


私のアプリケーションはTextureViewを使用しています。invalidate-onDrawアニメーションについて詳しく説明してください。
Shishir Shetty、

@ShishirShetty TextureViewをもう使用しません。Viewをオーバーライドし、onDrawメソッドですべてのアニメーションを記述し、16ミリ秒ごとにpostInvalidateOnAnimation()メソッドを呼び出します(〜60fps)
Sergei Belozerov

-1

Android 8.0を実行している1人のユーザーのデバイス「Huawei Honor 7X(HWBND-H)」のクラッシュレポートからこの問題が発生しています。他のデバイス/ OSバージョンのフィールドでは発生していないため、OSのアップデートですでに修正されている可能性があると考えています(このユーザーがピックアップしていないか、Huaweiが提供していない可能性があります)。

backtrace:
  #00  pc 000000000006a808  /system/lib64/libc.so (tgkill+8)
  #01  pc 000000000001db50  /system/lib64/libc.so (abort+88)
  #02  pc 0000000000007f4c  /system/lib64/liblog.so (__android_log_assert+304)
  #03  pc 000000000004e314  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread10EglManager13createSurfaceEP13ANativeWindow+192)
  #04  pc 000000000004c790  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread14OpenGLPipeline10setSurfaceEPNS_7SurfaceENS1_12SwapBehaviorE+64)
  #05  pc 00000000000492b4  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread13CanvasContext10setSurfaceEPNS_7SurfaceE+140)
  #06  pc 000000000005123c  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthreadL17Bridge_initializeEPNS1_14initializeArgsE+16)
  #07  pc 0000000000052fc4  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread22MethodInvokeRenderTask3runEv+24)
  #08  pc 0000000000053f1c  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv+348)
  #09  pc 0000000000011670  /system/lib64/libutils.so (_ZN7android6Thread11_threadLoopEPv+280)
  #10  pc 00000000000be1e8  /system/lib64/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+136)
  #11  pc 00000000000671b8  /system/lib64/libc.so (_ZL15__pthread_startPv+36)
  #12  pc 000000000001eee4  /system/lib64/libc.so (__start_thread+68)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.