Veo este bloqueo nativo con el siguiente seguimiento de pila.
Esto ocurre solo en Android 7.0 y 7.1. No se ha agregado nada nuevo a la aplicación, que ha estado en producción durante algunos años, pero con la actualización de más dispositivos a Nougat, este bloqueo ocurre con frecuencia ahora y se está convirtiendo en una molestia.
Se agradecería cualquier consejo.
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)
A continuación, se muestra una lista de los dispositivos afectados:
ACTUALIZACIÓN 18/7:
Todavía no puedo llegar a la raíz de esto, así que decidí comprar un dispositivo que tenía la mayoría de las ocurrencias y tenía un precio razonable, que resultó ser la versión Samsung Galaxy J3 2017 con Android 7.0. Desafortunadamente, todavía no puedo reproducir el bloqueo.
También realicé algunas mejoras en el uso de la memoria para la aplicación en producción, pero el bloqueo aún está sucediendo.
De todos los comentarios y mi propia investigación, parece estar relacionado con NDK vinculados dinámicamente, pero no estoy usando ninguno y es difícil averiguar si alguna de las dependencias lo hace.
Me gustaría compartir mis dependencias, sería genial si otras personas que enfrentan el mismo problema pudieran llamar si están usando una de las mismas dependencias; tal vez podamos detectar al culpable de esta manera.
// 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; }
Para las personas que enfrentan el mismo bloqueo, responda en los comentarios si está utilizando alguna de estas dependencias / versiones. Quizás podamos señalar el problema de la dependencia.