Android 7 Yerel Kilitlenme: libc.so tgkill


98

Aşağıdaki yığın izleme ile bu yerel çökmeyi görüyorum.

Bu yalnızca Android 7.0 ve 7.1'de gerçekleşir. Birkaç yıldır üretimde olan uygulamaya yeni bir şey eklenmedi, ancak Nougat'a güncellenen daha fazla cihazla bu kilitlenme şu anda sık sık oluyor ve bir sıkıntı haline geliyor.

Herhangi bir tavsiye memnuniyetle karşılanacaktır.

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)

Etkilenen cihazların listesi aşağıda verilmiştir: görüntü açıklamasını buraya girin

GÜNCELLEME 7/18:

Hala bunun kökenine ulaşamadım, bu yüzden en çok meydana gelen ve makul fiyatlı bir cihaz satın almaya karar verdim, bunun Android 7.0 ile Samsung Galaxy J3 2017 sürümü olduğu ortaya çıktı. Maalesef hala çökmeyi yeniden oluşturamıyorum.

Ayrıca üretimde uygulamaya bazı bellek kullanımı iyileştirmeleri yaptım, ancak kilitlenme hala devam ediyor.

Tüm yorumlardan ve kendi araştırmamdan dinamik olarak bağlantılı NDK'larla ilgili gibi görünüyor, ancak hiçbirini kullanmıyorum ve bağımlılıklardan herhangi birinin işe yarayıp yaramadığını bulmak zor.

Bağımlılıklarımı paylaşmak isterim, aynı sorunla karşılaşan diğer insanların aynı bağımlılıklardan birini kullanıp kullanmadıklarını söylemeleri harika olur - belki de suçluyu bu şekilde tespit edebiliriz.

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

Aynı çöküşle karşılaşan kişiler için, bu bağımlılıklardan / sürümlerden herhangi birini kullanıyorsanız lütfen yorumlara yanıt verin. Belki sorunun bağımlılığını belirleyebiliriz.


6
Belki de yerel kazanızın aşağıdaki sorunla aynı olduğunu düşünüyorum. issuetracker.google.com/issues/37123764 Uygulamamda benzer bir hata var, ancak herhangi bir çözüm bulamıyorum ... Sanırım android 7, 7.1 hatası.
Koji Matsubara

3
Ayrıca bunu görüyorum, aynı yığın izini ve etkilenen cihazların tam listesini görüyorum! En son sürüm 15 Mayıs'ta yayınlandı, ancak çökmeler sayfasında aynı "tgkill" adıyla iki satırım var.
Orgmir

3
Ayrıca tamamen aynı sorunu yaşıyorum, tamamen aynı yığın izleme, etkilenen aynı cihazlar, sıfır yerel kitaplık ve konum ve harita hizmetlerini kullanma. Belki de buna bağlıdır? Düzelten var mı?
Kordon Rehn

3
Son 2 ayda, 14 binden fazla kullanıcıyı etkileyen bu tgkill kilitlenmelerinin 30 binden fazlası var. Son birkaç haftayı, kullandığımız 3. taraf kitaplıklarını yavaşça kaldırarak ve bu çökmelere neyin neden olduğunu bulup bulamayacağımı görmek için aşamalı sunumları yayınlayarak geçirdim. Retrofit, Okhttp, Jackson, Picasso, Firebase, Google Play Services, MultiDex ve Apache Legacy dışında her şey kaldırılır. Bu ileti dizisine dayanarak, haritalarımız kaldırılarak kullanıcılarımızın% 1'ini yayınlamayı tartışıyoruz. Şu anda çalışıyor: 'com.google.android.gms: play-services-maps:
11.0.1

3
Yalnızca 'com.google.android.gms: play-services-maps: 11.0.1'i kaldırarak aşamalı bir sunum yayınladık. Bütün hafta sonu izledikten sonra, tgkill kazası yaşanmadı. Evet, bu sorun, @Deo tarafından belirtilen ve aşağıdaki sorun izleyiciye bağlı olan haritalardan kaynaklanmaktadır.
FinHead

Yanıtlar:


33

Sağladığınız çöplüğe bakmak bazı ipuçları verir:

_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv

Bu, hatanın UI iş parçacığında oluştuğunu gösterir.

libhwui.so x 6

Bu, bunun bazı grafik / kullanıcı arabirimi ile ilgili kodların ortasında gerçekleştiğini gösterir.

libcutils.so - __android_log_assert

Bu bir iddia işleyicisi, bu yüzden büyük olasılıkla bir tür iddia ihlal edildi libwhui.

iptal:

Bu, O / S'ye "anormal" olarak kapatılmasını söyleyen uygulamadır.

yükseltmek + pthread_kill + tgkill: Bu, uygulamayı kapatan O / S (Android) işlemidir .

Bu tür çökmelerde hata ayıklamak için bazı belgeleri burada görebilirsiniz .

Her neyse, korkarım sunduğunuz verilerin bu kaba ve kesin yorumunun ötesinde spekülasyon yapmak gerçekten zor.

Belki hatayı Android günlük görüntüleyiciye bağlıyken yakalarsanız, uygulamaya özel daha fazla veriye (hatta assert işlevinin genellikle ortaya koyduğu bir hata mesajına) sahip olursunuz.

Benim tavsiyem, hatayla ilgili tüm ayrıntıları izlemek için ACRA gibi bir şey kullanmak veya etkilenen bir cihazı ele geçirmek ve bir hata ayıklayıcıya bağlıyken onu gerçekten yeniden üretmek.

İyi şanslar!

DÜZENLEME 2017-06-16 : Sadece Fco P'nin bazı ekstra bilgi nezaket yorumu eklemek istiyorum. Görünüşe göre Google, Android'in en son sürümlerinde (7.x) yerel kitaplıkların çalıştırılmasına izin verilen bazı değişiklikler yapmaya karar verdi. Bu bağlantıda daha fazla ayrıntı var .


yükseltmek + pthread_kill + tgkill: Bu, uygulamayı kapatan O / S (Android) işlemidir. Bu, kullanıcı uygulamayı öldürdüğünde mi yoksa işletim sisteminden otomatik olarak mı meydana geliyor?
DevC

1
Bu, bildiğim kadarıyla arızalı bir süreci kapatan O / S'dir. Uygulama "barışçıl" bir şekilde sonlandırılırsa, bu bir "öldürme" operasyonu olmaz.
Lennart Rolland

8

Bu, burada bildirilir: https://issuetracker.google.com/issues/37123764

Yeniden üretmek için: Etkilenen bir modu edinin, geliştirici modunu etkinleştirin ve arka plan etkinliklerini 0 olarak ayarlayın. Ayrıca "arka plan kilitlenmelerini göster" seçeneğini de etkinleştirin.

Ardından uygulamayı açın ve tekrar kapatın: Çökmeyi göreceksiniz.


3

Yorumlarda yok (yetersiz temsil).

Listelediğiniz bağımlılıklardan kullanıyoruz:

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'

sizinkinden farklı versiyonlar. Oyun hizmetleri haritalarının hatayı içerdiğine dair güçlü şüphelerim var.

Belki de bizim yaptığımız gibi viewpager'da harita parçasını kullanıyorsunuz ve daha önce Koji Matsubara tarafından bahsedilen sorunlu birçok kişi ( https://issuetracker.google.com/issues/37123764 )


Bu hata raporuna dayalı olarak bunu önlemek için bir çözüm biliyor musunuz? Herhangi bir çözüm veya geçici çözüm veya başka bir şey görmüyorum.
hvaughan3

Tüm uygulamalarımı etkileyen aynı sorunu yaşıyorum, ancak yalnızca destek kitaplıklarını kullanıyorum: ek açıklamalar, v4, uygulama uyumluluğu ve tasarım.
3c71

3

Bilmiyorum, belki bu sorun bizimki gibi, belki farklı, çünkü görüyorum ki bağımlılıklar dahil carview. Burada paylaş, gelecekte birileri için faydalı olmasını umuyoruz

Ayrıca Android 7.0 ve 7.1'de aşağıdaki sorunla karşılaştım

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 üzerinde araştırma ve arama sonra yerini cardviewtarafından Framelayoutbu sorun çözüldü sonra


Merhaba @ songoku1610, sorunun Cardview'den kaynaklandığını nasıl anladınız?
Ran94

1
Ben yerini çalıştı cardviewtarafından Framelayout, bu sorunlar yalnızca Android 7.x üzerinde gerçekleşmesi o zaman bu sorunları çözüldü
songoku1610

Başka bir şey de, Yukarıdaki soru düzenlendi, sınıftaki metin bağımsızlıklarını kaldırdı, bu yüzden cevabım because I see in dependencies have including carviewsoruyla eşleşmedi
songoku1610

3

Sizinle aynı cihazlar için google oyun konsolunda da aynı sorunu yaşadım.

Benim durumumda sorun, TextureView'da, kanvası kilitle ve kilidi aç ile ayrı bir iş parçacığında canlandırılıyordu.

TextureView animasyonunu 7 ve 7.1 android için geçersizleştirme-onDraw animasyonuna değiştirdim ve bu yardımcı oldu.


Uygulamam TextureView kullanıyor. Eğer daha ayrıntılı misiniz invalidate-onDraw animasyon .
Shishir Shetty

@ShishirShetty Artık TextureView kullanmıyorum View'u geçersiz kılıyorum, onDraw yöntemindeki tüm animasyonları açıklıyorum ve her 16 milisaniyede bir (~ 60fps) postInvalidateOnAnimation () yöntemini
çağırıyorum

-1

Bu sorunu, Android 8.0 çalıştıran bir kullanıcının cihazındaki ('Huawei Honor 7X (HWBND-H)) kilitlenme raporundan görüyorum. Diğer cihazlar / işletim sistemi sürümleri için sahada meydana gelmediğinden, benim düşüncem, işletim sistemi güncellemelerinde zaten düzeltilmiş olabileceğidir (bu kullanıcının almadığı veya muhtemelen Huawei sağlamadığı).

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)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.