Android 7 Native Crash: 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)

นี่คือรายการอุปกรณ์ที่ได้รับผลกระทบ: ป้อนคำอธิบายภาพที่นี่

อัพเดท 18/7:

ยังไม่สามารถเข้าถึงรากของสิ่งนี้ได้ดังนั้นฉันจึงตัดสินใจซื้ออุปกรณ์ที่เกิดขึ้นบ่อยที่สุดและมีราคาสมเหตุสมผลซึ่งกลายเป็น Samsung Galaxy J3 2017 เวอร์ชันพร้อม Android 7.0 น่าเสียดายที่ฉันยังไม่สามารถสร้างความผิดพลาดได้

ฉันได้ทำการปรับปรุงการใช้หน่วยความจำบางอย่างในแอปในเวอร์ชันที่ใช้งานจริงแล้ว แต่ความผิดพลาดยังคงเกิดขึ้น

จากความคิดเห็นทั้งหมดและงานวิจัยของฉันดูเหมือนว่าจะเกี่ยวข้องกับ NDK ที่เชื่อมโยงแบบไดนามิก แต่ฉันไม่ได้ใช้อะไรเลยและมันยากที่จะตรวจสอบว่ามีการอ้างอิงหรือไม่

ฉันต้องการแบ่งปันการอ้างอิงของฉันมันจะดีมากถ้าคนอื่น ๆ ที่ประสบปัญหาเดียวกันสามารถโทรออกได้ว่าพวกเขากำลังใช้การอ้างอิงเดียวกันหรือไม่ - บางทีเราอาจมองเห็นผู้ร้ายด้วยวิธีนี้

// 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
บางทีฉันคิดว่าการขัดข้องของคุณเป็นปัญหาต่อไปนี้ Issetracker.google.com/issues/37123764แอปพลิเคชันของฉันมีข้อบกพร่องที่คล้ายกัน แต่ฉันไม่พบวิธีแก้ปัญหาใด ๆ ... ฉันคิดว่าข้อบกพร่องของ Android 7, 7.1
Koji Matsubara

3
ฉันยังเห็นสิ่งนี้การติดตามสแต็กที่เหมือนกันและรายการอุปกรณ์ที่ได้รับผลกระทบเดียวกัน! เวอร์ชันล่าสุดเผยแพร่เมื่อวันที่ 15 พฤษภาคม แต่ฉันมีสองบรรทัดในหน้าข้อขัดข้องที่มีชื่อ "tgkill" เดียวกัน
Orgmir

3
ฉันยังประสบปัญหาเดียวกันนี้การติดตามสแต็กเดียวกันแน่นอนอุปกรณ์เดียวกันที่ได้รับผลกระทบโดยใช้ไลบรารีเนทีฟเป็นศูนย์และใช้บริการตำแหน่งและแผนที่ บางทีมันอาจจะเชื่อมโยงกับสิ่งนั้น? ใครมีวิธีแก้ไข
Cord Rehn

3
ในช่วง 2 เดือนที่ผ่านมาเรามีข้อขัดข้องของ tgkill มากกว่า 30k ซึ่งส่งผลกระทบต่อผู้ใช้มากกว่า 14,000 คน ฉันใช้เวลาสองสามสัปดาห์ที่ผ่านมาอย่างช้าๆในการลบไลบรารีของบุคคลที่สามที่เราใช้อยู่และปล่อยการเปิดตัวแบบทีละขั้นเพื่อดูว่าฉันสามารถติดตามสิ่งที่ทำให้เกิดข้อขัดข้องเหล่านี้ได้หรือไม่ ทุกอย่างจะถูกลบออกยกเว้น 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

คำตอบ:


33

การดูการถ่ายโอนข้อมูลที่คุณระบุให้เบาะแส:

_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv

สิ่งนี้บ่งชี้ว่าเกิดข้อผิดพลาดในเธรด UI

libhwui.so x 6

สิ่งนี้บ่งชี้ว่าสิ่งนี้กำลังเกิดขึ้นระหว่างโค้ดที่เกี่ยวข้องกับกราฟิก / ui

libcutils.so - __android_log_assert

libwhuiนี่คือการจัดการยืนยันเพื่อให้มีโอกาสมากที่สุดชนิดของการยืนยันบางส่วนถูกละเมิดใน

แท้ง:

นี่คือแอปพลิเคชั่นที่บอกให้ O / S ปิด "ผิดปกติ"

Raise + pthread_kill + tgkill: นี่คือ O / S (Android) ที่ปิดแอป

คุณสามารถดูเอกสารบางอย่างสำหรับการแก้จุดบกพร่องเหล่านี้ชนิดของการเกิดปัญหาที่นี่

อย่างไรก็ตามฉันกลัวว่ามันเป็นเรื่องยากที่จะคาดเดานอกเหนือจากการตีความข้อมูลที่คุณนำเสนออย่างหยาบและไม่ชัดเจน

บางทีหากคุณพบข้อบกพร่องในขณะที่เชื่อมต่อกับโปรแกรมดูบันทึกของ Android คุณจะมีข้อมูลเฉพาะของแอปพลิเคชันเพิ่มเติม (หรือแม้แต่ข้อความแสดงข้อผิดพลาดที่ฟังก์ชันยืนยันมักจะระบุไว้)

เคล็ดลับของฉันคือใช้บางอย่างเช่นACRAเพื่อติดตามรายละเอียดทั้งหมดที่เกี่ยวข้องกับข้อผิดพลาดหรือยึดอุปกรณ์ที่ได้รับผลกระทบและทำซ้ำในขณะที่เชื่อมต่อกับดีบักเกอร์

โชคดี!

แก้ไข 2017-06-16 : ฉันแค่ต้องการเพิ่มความคิดเห็นที่เอื้อเฟื้อข้อมูลพิเศษโดย Fco P. เห็นได้ชัดว่า Google ได้ตัดสินใจที่จะทำการเปลี่ยนแปลงบางอย่างกับสิ่งที่ไลบรารีดั้งเดิมที่ได้รับอนุญาตให้ทำงานใน Android เวอร์ชันล่าสุด (7.x) รายละเอียดเพิ่มเติมอยู่ในลิงค์นี้


Raise + pthread_kill + tgkill: นี่คือ O / S (Android) ที่ปิดแอป เหตุการณ์นี้เกิดขึ้นเมื่อผู้ใช้ฆ่าแอปหรือโดยอัตโนมัติจากระบบปฏิบัติการหรือไม่
DevC

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 เหมือนที่เราทำและหลาย ๆ คนในปัญหาที่ Koji Matsubara กล่าวถึงแล้ว ( https://issuetracker.google.com/issues/37123764 )


คุณรู้วิธีแก้ปัญหาเพื่อป้องกันปัญหานี้ตามรายงานข้อบกพร่องนั้นหรือไม่? ฉันไม่เห็นวิธีแก้ปัญหาหรือวิธีแก้ปัญหาหรืออะไรเลย
hvaughan3

ฉันมีปัญหาเดียวกันที่ส่งผลกระทบต่อแอปทั้งหมดของฉัน แต่ฉันใช้เฉพาะไลบรารีการสนับสนุน: คำอธิบายประกอบ, 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 ฉันแทนที่cardviewด้วยFramelayoutแล้วปัญหานี้ได้รับการแก้ไข


สวัสดี @ songoku1610 คุณทราบได้อย่างไรว่าปัญหาเกิดจาก Cardview
Ran94

1
ฉันพยายามแทนที่cardviewด้วยFramelayoutปัญหานี้ได้รับการแก้ไขปัญหานี้เกิดขึ้นเฉพาะบน Android 7.x
songoku1610

อีกประการหนึ่งคำถามข้างต้นได้รับการแก้ไขลบข้อความที่ไม่ขึ้นกับเกรดดังนั้นคำตอบของฉัน because I see in dependencies have including carviewดูเหมือนไม่ตรงกับคำถาม
songoku1610

3

ฉันมีปัญหาเดียวกันใน Google Play Console สำหรับอุปกรณ์เดียวกันกับคุณ

ในกรณีของฉันปัญหาอยู่ใน TextureView ที่มีแอนิเมชั่นในเธรดแยกต่างหากพร้อมผ้าใบล็อกและปลดล็อก

ฉันเปลี่ยนแอนิเมชั่น TextureView เป็นแอนิเมชั่นที่ไม่ถูกต้อง-onDraw สำหรับ Android 7 และ 7.1 และนั่นช่วยได้


แอปพลิเคชันของฉันใช้ TextureView คุณช่วยอธิบายเพิ่มเติมเกี่ยวกับแอนิเมชั่น invalidate-onDrawได้ไหม
Shishir Shetty

@ShishirShetty ฉันไม่ได้ใช้ TextureView อีกต่อไปฉันแทนที่ View อธิบายภาพเคลื่อนไหวทั้งหมดในเมธอด onDraw และเรียก postInvalidateOnAnimation () method ทุกๆ 16 มิลลิวินาที (~ 60fps)
Sergei Belozerov

0

ฉันพบปัญหานี้จากรายงานข้อขัดข้องบนอุปกรณ์ของผู้ใช้รายหนึ่ง - 'Huawei Honor 7X (HWBND-H)' - ใช้ Android 8.0 เนื่องจากไม่ได้เกิดขึ้นในฟิลด์สำหรับอุปกรณ์ / 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.