Android 7 Native Crash: libc.so tgkill

98

Saya melihat error asli ini dengan pelacakan tumpukan berikut.

Ini hanya terjadi di Android 7.0 & 7.1. Tidak ada yang baru yang ditambahkan ke aplikasi, yang telah diproduksi selama beberapa tahun, tetapi dengan lebih banyak perangkat yang diperbarui ke Nougat, crash ini sering terjadi sekarang dan menjadi gangguan.

Nasihat apa pun akan dihargai.

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)

Berikut daftar perangkat yang terpengaruh: masukkan deskripsi gambar di sini

UPDATE 18/7:

Masih tidak bisa sampai ke root ini, jadi saya memutuskan untuk membeli perangkat yang paling sering terjadi dan harganya terjangkau, yang ternyata adalah versi Samsung Galaxy J3 2017 dengan Android 7.0. Sayangnya saya masih tidak dapat mereproduksi kecelakaan itu.

Saya juga telah membuat beberapa peningkatan penggunaan memori pada aplikasi dalam produksi, tetapi crash masih terjadi.

Dari semua komentar dan penelitian saya sendiri, tampaknya ini terkait dengan NDK yang ditautkan secara dinamis, tetapi saya tidak menggunakannya dan sulit untuk mengetahui apakah ada dependensi yang bisa digunakan.

Saya ingin membagikan dependensi saya, alangkah baiknya jika orang lain yang menghadapi masalah yang sama dapat menghubungi jika mereka menggunakan salah satu dependensi yang sama - mungkin kita dapat melihat pelakunya dengan cara ini.

// 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; }

Untuk orang-orang yang mengalami crash yang sama, silakan balas di komentar jika Anda menggunakan salah satu dependensi / versi ini. Mungkin kita bisa memilih ketergantungan masalahnya.

AlexVPerl
sumber
6
Mungkin menurut saya crash asli Anda adalah masalah yang sama berikut ini. Issuetracker.google.com/issues/37123764 Aplikasi saya memiliki bug yang serupa, tetapi saya tidak menemukan solusi apa pun ... Saya rasa bug android 7, 7.1.
Koji Matsubara
3
Saya juga melihat ini, pelacakan tumpukan yang sama persis dan daftar perangkat yang terpengaruh sama persis! Versi terbaru diterbitkan pada 15 Mei, tetapi saya memiliki dua baris di halaman crash dengan nama "tgkill" yang sama.
Orgmir
3
Saya juga mengalami masalah yang sama persis, pelacakan tumpukan yang sama persis, perangkat yang sama persis terpengaruh, tidak menggunakan pustaka asli, dan menggunakan layanan lokasi dan peta. Mungkin itu terkait dengan itu? Ada yang punya perbaikan?
Cord Rehn
3
Selama 2 bulan terakhir, kami memiliki lebih dari 30rb dari tgkill crash yang mempengaruhi 14k + pengguna. Saya telah menghabiskan beberapa minggu terakhir secara perlahan menghapus pustaka pihak ketiga yang kami gunakan dan merilis peluncuran bertahap untuk melihat apakah saya dapat melacak apa yang menyebabkan kerusakan ini. Semuanya dihapus kecuali Retrofit, Okhttp, Jackson, Picasso, Firebase, Google Play Services, MultiDex, dan Apache Legacy. Berdasarkan utas ini, kami mendiskusikan pelepasan ke 1% pengguna kami, dengan peta kami dihapus. Sedang berjalan: 'com.google.android.gms: play-services-maps: 11.0.1'
FinHead
3
Kami merilis peluncuran bertahap hanya dengan menghapus 'com.google.android.gms: play-services-maps: 11.0.1'. Setelah ditonton sepanjang akhir pekan, tidak ada kejadian jatuhnya pesawat. Ya, masalah ini disebabkan oleh peta seperti yang disebutkan oleh @Deo dan ditautkan ke pelacak masalah di bawah.
FinHead

Jawaban:

33

Melihat dump yang Anda berikan memberikan beberapa petunjuk:

_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv

Ini menunjukkan bahwa kesalahan terjadi di thread UI.

libhwui.so x 6

Ini menunjukkan bahwa ini terjadi di tengah-tengah beberapa kode yang terkait dengan grafik / ui.

libcutils.so - __android_log_assert

Ini adalah penangan pernyataan, jadi kemungkinan besar beberapa jenis pernyataan telah dilanggar di libwhui.

menggugurkan:

Ini adalah aplikasi yang memerintahkan O / S untuk mati "secara tidak normal".

raise + pthread_kill + tgkill: Ini adalah O / S (Android) yang mematikan aplikasi.

Anda dapat melihat beberapa dokumentasi untuk men-debug jenis kerusakan ini di sini .

Bagaimanapun, saya khawatir sangat sulit untuk berspekulasi di luar interpretasi yang kasar dan tidak tepat dari data yang Anda berikan ini.

Mungkin jika Anda menangkap bug saat terpasang ke penampil log Android, Anda akan memiliki lebih banyak data khusus aplikasi (atau bahkan pesan kesalahan yang biasanya ditampilkan oleh fungsi assert).

Tip saya adalah menggunakan sesuatu seperti ACRA untuk melacak semua detail yang berkaitan dengan kesalahan, atau mendapatkan perangkat yang terpengaruh dan benar-benar mereproduksinya saat terpasang ke debugger.

Semoga berhasil!

EDIT 2017-06-16 : Saya hanya ingin menambahkan beberapa info tambahan komentar kesopanan oleh Fco P. Rupanya Google telah memutuskan untuk membuat beberapa perubahan pada perpustakaan asli apa yang diizinkan untuk berjalan di versi terbaru Android (7.x). Lebih jelasnya ada di tautan ini .

Lennart Rolland
sumber
raise + pthread_kill + tgkill: Ini adalah O / S (Android) yang mematikan aplikasi. Apakah ini terjadi ketika pengguna mematikan aplikasi atau secara otomatis dari OS?
DevC
1
Itu adalah O / S yang mematikan proses yang tidak berfungsi sejauh yang saya tahu. Jika aplikasi dihentikan "secara damai", itu bukan operasi "bunuh".
Lennart Rolland
8

Ini dilaporkan di sini: https://issuetracker.google.com/issues/37123764

Untuk mereproduksi: Dapatkan mode yang terpengaruh, aktifkan mode pengembang, dan setel aktivitas latar belakang ke 0. Juga aktifkan "tampilkan error di latar belakang".

Kemudian buka aplikasi, dan tutup lagi: Anda akan melihat crash.

TjerkW
sumber
3

Tidak dalam komentar (perwakilan tidak cukup).

Dari dependensi yang telah Anda daftarkan, kami menggunakan:

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'

versi yang berbeda dari versi Anda. Saya memiliki kecurigaan yang kuat bahwa play-services-maps mengandung bug.

Mungkin Anda menggunakan fragmen peta di viewpager seperti yang kami lakukan dan banyak orang yang bermasalah telah disebutkan oleh Koji Matsubara ( https://issuetracker.google.com/issues/37123764 )

Deo
sumber
Apakah Anda mengetahui solusi untuk mencegah hal ini berdasarkan laporan bug itu? Saya tidak melihat solusi atau solusi apa pun atau apa pun.
hvaughan3
Saya memiliki masalah yang sama yang memengaruhi semua aplikasi saya, namun saya hanya menggunakan pustaka dukungan: anotasi, v4, appcompat, dan desain.
3c71
3

Entahlah, mungkin ini masalah seperti kita, mungkin berbeda, karena saya lihat di dependensi sudah termasuk carview. Bagikan di sini semoga bermanfaat bagi seseorang di masa depan

Saya juga menghadapi masalah di Android 7.0 dan 7.1 di bawah

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)

Setelah riset dan pencarian di gooogle, saya menggantinya cardviewdengan Framelayoutkemudian masalah ini teratasi

songoku1610
sumber
Hai @ songoku1610, bagaimana Anda mengetahui bahwa masalah tersebut disebabkan oleh Cardview.
Ran94
1
Saya mencoba untuk digantikan cardviewoleh Framelayoutkemudian masalah ini diselesaikan, masalah ini hanya terjadi pada Android 7.x
songoku1610
Hal lain lagi, Pertanyaan di atas sudah diedit, menghilangkan independensi teks pada nilai, jadi jawaban saya because I see in dependencies have including carviewsepertinya tidak sesuai dengan pertanyaan
songoku1610
3

Saya memiliki masalah yang sama di konsol google play untuk perangkat yang sama dengan Anda.

Dalam kasus saya, masalahnya ada di TextureView dengan animasi di utas terpisah dengan kanvas kunci dan buka kunci.

Saya mengubah animasi TextureView menjadi animasi invalidate-onDraw untuk android 7 dan 7.1 dan itu membantu.

Sergei Belozerov
sumber
Aplikasi saya menggunakan TextureView. Bisakah Anda menjelaskan lebih lanjut tentang animasi invalidate-onDraw .
Shishir Shetty
@ShishirShetty Saya tidak menggunakan TextureView lagi Saya mengganti Tampilan, menjelaskan semua animasi dalam metode onDraw dan memanggil metode postInvalidateOnAnimation () setiap 16 milidetik (~ 60fps)
Sergei Belozerov
-1

Saya melihat masalah ini dari laporan kerusakan pada perangkat satu pengguna - 'Huawei Honor 7X (HWBND-H)' - menjalankan Android 8.0. Karena tidak terjadi di lapangan untuk perangkat / versi OS lain, menurut saya ini mungkin sudah diperbaiki dalam pembaruan OS (yang belum diambil oleh pengguna ini, atau mungkin Huawei belum menyediakannya).

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)
Venu G.
sumber