Android 7 Native Crash: libc.so tgkill


98

Tôi thấy sự cố gốc này với dấu vết ngăn xếp sau.

Điều này chỉ xảy ra trong Android 7.0 và 7.1. Không có gì mới đã được thêm vào ứng dụng, đã được sản xuất trong một vài năm, nhưng với nhiều thiết bị được cập nhật lên Nougat, sự cố này xảy ra thường xuyên và đang trở thành một điều phiền toái.

Lời khuyên nào sẽ được đánh giá cao.

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)

Dưới đây là danh sách các thiết bị bị ảnh hưởng: nhập mô tả hình ảnh ở đây

CẬP NHẬT 18/7:

Vẫn không thể root được vấn đề này, vì vậy tôi quyết định mua một thiết bị có nhiều lần xuất hiện nhất và có giá hợp lý, hóa ra là Samsung Galaxy J3 2017 phiên bản Android 7.0. Rất tiếc, tôi vẫn không thể tạo lại sự cố.

Tôi cũng đã thực hiện một số cải tiến về mức sử dụng bộ nhớ cho ứng dụng đang được sản xuất, nhưng sự cố vẫn đang xảy ra.

Từ tất cả các nhận xét và nghiên cứu của riêng tôi, nó có vẻ liên quan đến các NDK được liên kết động, nhưng tôi không sử dụng bất kỳ thứ gì và rất khó để tìm hiểu xem có bất kỳ yếu tố phụ thuộc nào không.

Tôi muốn chia sẻ các phụ thuộc của mình, sẽ thật tuyệt nếu những người khác gặp phải vấn đề tương tự có thể gọi ra nếu họ đang sử dụng một trong các phụ thuộc giống nhau - có lẽ chúng ta có thể phát hiện ra thủ phạm theo cách này.

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

Đối với những người gặp phải sự cố tương tự, vui lòng trả lời trong nhận xét nếu bạn đang sử dụng bất kỳ phiên bản / phụ thuộc nào trong số này. Có lẽ chúng ta có thể giải quyết vấn đề phụ thuộc.


6
Có lẽ tôi nghĩ rằng sự cố ban đầu của bạn là cùng một vấn đề sau đây. Issuetracker.google.com/issues/37123764 Ứng dụng của tôi cũng gặp lỗi tương tự, nhưng tôi không tìm thấy giải pháp nào ... Tôi nghĩ là lỗi android 7, 7.1.
Koji Matsubara

3
Tôi cũng thấy điều này, cùng một dấu vết ngăn xếp và cùng một danh sách các thiết bị bị ảnh hưởng! Phiên bản mới nhất đã được xuất bản ngày 15 tháng 5, nhưng tôi có hai dòng trong trang bị lỗi có cùng tên "tgkill".
Orgmir

3
Tôi cũng gặp phải vấn đề tương tự chính xác này, theo dõi ngăn xếp giống hệt nhau, các thiết bị giống hệt nhau bị ảnh hưởng, không sử dụng thư viện gốc cũng như sử dụng dịch vụ bản đồ và vị trí. Có lẽ nó gắn liền với điều đó? Bất cứ ai có một sửa chữa?
Cord Rehn

3
Trong 2 tháng qua, chúng tôi có hơn 30 nghìn sự cố tgkill này ảnh hưởng đến hơn 14 nghìn người dùng. Tôi đã dành vài tuần qua để từ từ xóa mọi thư viện của bên thứ 3 mà chúng tôi đang sử dụng và phát hành các bản giới thiệu theo giai đoạn để xem liệu tôi có thể tìm ra nguyên nhân gây ra những lỗi này hay không. Mọi thứ đều bị xóa ngoại trừ Retrofit, Okhttp, Jackson, Picasso, Firebase, Google Play Services, MultiDex và Apache Legacy. Dựa trên chuỗi này, chúng tôi đang thảo luận về việc phát hành cho 1% người dùng của chúng tôi, với bản đồ của chúng tôi bị xóa. Hiện đang chạy: 'com.google.android.gms: play-services-maps: 11.0.1'
FinHead

3
Chúng tôi đã phát hành bản giới thiệu theo giai đoạn chỉ xóa 'com.google.android.gms: play-services-maps: 11.0.1'. Sau khi xem nó cả cuối tuần, không có trường hợp nào về sự cố tgkill. Có, sự cố này là do bản đồ như được đề cập bởi @Deo và được liên kết với trình theo dõi sự cố bên dưới.
FinHead

Câu trả lời:


33

Nhìn vào bãi chứa bạn đã cung cấp cho một số manh mối:

_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv

Điều này chỉ ra rằng lỗi đã xảy ra trong chuỗi giao diện người dùng.

libhwui.so x 6

Điều này chỉ ra rằng điều này đang xảy ra ở giữa một số mã liên quan đến đồ họa / ui.

libcutils.so - __android_log_assert

Đây là một trình xử lý khẳng định, vì vậy rất có thể một số loại xác nhận đã bị vi phạm trong libwhui.

Huỷ bỏ:

Đây là ứng dụng thông báo cho O / S tắt "bất thường".

raise + pthread_kill + tgkill: Đây là O / S (Android) đang tắt ứng dụng.

Bạn có thể xem một số tài liệu để gỡ lỗi các loại sự cố này tại đây .

Dù sao, tôi e rằng thực sự khó suy đoán ngoài cách diễn giải thô thiển và thiếu chính xác về dữ liệu bạn đã trình bày.

Có thể nếu bạn gặp lỗi khi nó được đính kèm với trình xem nhật ký Android, bạn sẽ có nhiều dữ liệu ứng dụng cụ thể hơn (hoặc thậm chí là thông báo lỗi mà chức năng xác nhận thường đưa ra).

Mẹo của tôi là sử dụng một cái gì đó như ACRA để theo dõi tất cả các chi tiết liên quan đến lỗi hoặc nắm giữ thiết bị bị ảnh hưởng và thực sự tái tạo nó khi được gắn vào trình gỡ lỗi.

Chúc may mắn!

EDIT 2017-06-16 : Tôi chỉ muốn thêm một số thông tin bổ sung nhận xét lịch sự của Fco P. Rõ ràng Google đã quyết định thực hiện một số thay đổi đối với những thư viện gốc nào được phép chạy trong các phiên bản mới nhất của Android (7.x). Thêm chi tiết có trong liên kết này .


raise + pthread_kill + tgkill: Đây là O / S (Android) đang tắt ứng dụng. Điều này có xảy ra khi người dùng tắt ứng dụng hoặc tự động khỏi hệ điều hành không?
DevC

1
Đó là O / S tắt nó theo một quy trình bị trục trặc theo như tôi biết. Nếu ứng dụng được chấm dứt một cách "hòa bình", nó sẽ không phải là một hoạt động "giết".
Lennart Rolland

8

Điều này được báo cáo tại đây: https://issuetracker.google.com/issues/37123764

Để tái tạo: Nhận chế độ bị ảnh hưởng, bật chế độ nhà phát triển và đặt các hoạt động nền thành 0. Đồng thời bật "hiển thị sự cố trong nền".

Sau đó, mở ứng dụng và đóng lại: Bạn sẽ thấy sự cố.


3

Không có trong bình luận (không đủ đại diện).

Trong số các phụ thuộc bạn đã liệt kê, chúng tôi sử dụng:

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'

các phiên bản khác với của bạn. Tôi rất nghi ngờ rằng play-services-maps có chứa lỗi.

Có lẽ bạn sử dụng phân mảnh bản đồ trong viewpager như chúng tôi và nhiều người trong vấn đề đã được Koji Matsubara đề cập đến ( https://issuetracker.google.com/issues/37123764 )


Bạn có biết cách ngăn chặn điều này dựa trên báo cáo lỗi đó không? Tôi không thấy bất kỳ giải pháp hoặc cách giải quyết nào hoặc bất cứ điều gì.
hvaughan 3

Tôi gặp vấn đề tương tự ảnh hưởng đến tất cả các ứng dụng của mình, tuy nhiên tôi chỉ sử dụng thư viện hỗ trợ: chú thích, v4, appcompat và thiết kế.
3c71

3

Tôi không biết, có thể vấn đề này giống của chúng ta, có thể khác, bởi vì tôi thấy trong phụ thuộc có bao gồm cả carview. Chia sẻ ở đây hy vọng hữu ích cho ai đó trong tương lai

Tôi cũng gặp sự cố trên Android 7.0 và 7.1 dưới đây

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)

Sau khi nghiên cứu và tìm kiếm trên gooogle, tôi đã thay thế cardviewbằng Framelayoutsau đó vấn đề này đã được giải quyết


Xin chào @ songoku1610, làm cách nào để bạn phát hiện ra vấn đề là do Cardview.
Ran94

1
Tôi đã cố gắng thay thế cardviewbằng Framelayoutthì vấn đề này đã được giải quyết, sự cố này chỉ xảy ra trên Android 7.x
songoku1610

Một điều khác, Câu hỏi ở trên đã được chỉnh sửa, loại bỏ tính độc lập của văn bản trên lớp, vì vậy câu trả lời của tôi because I see in dependencies have including carviewdường như không khớp với câu hỏi
songoku1610

3

Tôi đã gặp sự cố tương tự trong bảng điều khiển chơi của Google cho các thiết bị giống như bạn.

Trong trường hợp của tôi, vấn đề là trong TextureView với hoạt ảnh trong chuỗi riêng biệt với canvas khóa và mở khóa.

Tôi đã thay đổi hoạt ảnh TextureView thành hoạt ảnh vô hiệu hóa-onDraw cho android 7 và 7.1 và điều đó đã hữu ích.


Ứng dụng của tôi sử dụng TextureView. Bạn có thể vui lòng giải thích thêm về hoạt ảnh voidate-onDraw .
Shishir Shetty

@ShishirShetty tôi không sử dụng TextureView nữa tôi ghi đè View, mô tả tất cả các hình ảnh động trong phương pháp onDraw và postInvalidateOnAnimation gọi () phương pháp mỗi 16 mili giây (~ 60fps)
Sergei Belozerov

-1

Tôi gặp sự cố này từ một báo cáo sự cố trên thiết bị của một người dùng - 'Huawei Honor 7X (HWBND-H)' - chạy Android 8.0. Vì nó không xảy ra trong lĩnh vực này cho các thiết bị / phiên bản hệ điều hành khác, tôi nghĩ rằng nó có thể đã được sửa trong các bản cập nhật hệ điều hành (mà người dùng này chưa nhận hoặc có thể Huawei đã không cung cấp).

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)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.