cordova-android icon indicating copy to clipboard operation
cordova-android copied to clipboard

Crashes seen in native code

Open novtech-mark opened this issue 5 months ago • 0 comments

Since deploying an update to an existing app with cordova-android 14.0.1 we have been seeing the occasional crash in native code. In particular it seems a mutex is being destroyed twice:

FORTIFY: pthread_mutex_destroy called on a destroyed mutex (0x<sanitized>)

The stack trace offers few clues:

  #00  pc 0x0000000000094fd0  /apex/com.android.runtime/lib64/bionic/libc.so (abort+168)
  #01  pc 0x0000000000096f04  /apex/com.android.runtime/lib64/bionic/libc.so (__fortify_fatal(char const*, ...)+128)
  #02  pc 0x00000000000fe148  /apex/com.android.runtime/lib64/bionic/libc.so (HandleUsingDestroyedMutex(pthread_mutex_t*, char const*)+68)
  #03  pc 0x00000000000feb70  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_mutex_destroy+132)
  #04  pc 0x0000000000095710  /apex/com.android.vndk.v31/lib64/libc++.so (std::__1::mutex::~mutex()+8)
  #05  pc 0x00000000000bb2d0  /vendor/lib64/libadreno_app_profiles.so (!!!0000!f86a1b35a907fa3948b6615bd27610!dad4038ba6!+88)
  #06  pc 0x00000000000241dc  /vendor/lib64/libadreno_app_profiles.so (ApplyApplicationProfile+444)
  #07  pc 0x000000000023b978  /vendor/lib64/hw/vulkan.adreno.so (!!!0000!f5c2b6d73e12f256b3e7731c43918b!dad4038ba6!+4064)
  #08  pc 0x000000000026a5d0  /vendor/lib64/hw/vulkan.adreno.so (!!!0000!8522a1bd929f20992fc5bcd9f5f156!dad4038ba6!+2240)
  #09  pc 0x0000000000269b9c  /vendor/lib64/hw/vulkan.adreno.so (!!!0000!10dcf0c5bc29da148e26bfc16a2ac8!dad4038ba6!+124)
  #10  pc 0x0000000000269a88  /vendor/lib64/hw/vulkan.adreno.so (qglinternal::vkEnumerateInstanceVersion(unsigned int*)+96)
  #11  pc 0x000000000001f788  /system/lib64/libvulkan.so (vulkan::driver::CreateInstance(VkInstanceCreateInfo const*, VkAllocationCallbacks const*, VkInstance_T**)+132)
  #12  pc 0x0000000000014af0  /system/lib64/libvulkan.so (vulkan::api::CreateInstance(VkInstanceCreateInfo const*, VkAllocationCallbacks const*, VkInstance_T**)+2768)
  #13  pc 0x00000000066fe6ac  /data/app/~~nfWOTftSVYhJSiGzBAVD4w==/com.google.android.trichromelibrary_710312533-oX7W_zHEHFjRCn4iH36Z7g==/base.apk!libmonochrome_64.so (BuildId: 540f9bee4496cafa734d471ac61a40c5b0fb2b31)
  #14  pc 0x0000000006abbf8c  /data/app/~~nfWOTftSVYhJSiGzBAVD4w==/com.google.android.trichromelibrary_710312533-oX7W_zHEHFjRCn4iH36Z7g==/base.apk!libmonochrome_64.so (BuildId: 540f9bee4496cafa734d471ac61a40c5b0fb2b31)
  #15  pc 0x0000000006abad10  /data/app/~~nfWOTftSVYhJSiGzBAVD4w==/com.google.android.trichromelibrary_710312533-oX7W_zHEHFjRCn4iH36Z7g==/base.apk!libmonochrome_64.so (BuildId: 540f9bee4496cafa734d471ac61a40c5b0fb2b31)
  #16  pc 0x0000000006aad4c0  /data/app/~~nfWOTftSVYhJSiGzBAVD4w==/com.google.android.trichromelibrary_710312533-oX7W_zHEHFjRCn4iH36Z7g==/base.apk!libmonochrome_64.so (BuildId: 540f9bee4496cafa734d471ac61a40c5b0fb2b31)
  #17  pc 0x0000000006aad40c  /data/app/~~nfWOTftSVYhJSiGzBAVD4w==/com.google.android.trichromelibrary_710312533-oX7W_zHEHFjRCn4iH36Z7g==/base.apk!libmonochrome_64.so (BuildId: 540f9bee4496cafa734d471ac61a40c5b0fb2b31)
  #18  pc 0x0000000006aad1c8  /data/app/~~nfWOTftSVYhJSiGzBAVD4w==/com.google.android.trichromelibrary_710312533-oX7W_zHEHFjRCn4iH36Z7g==/base.apk!libmonochrome_64.so (BuildId: 540f9bee4496cafa734d471ac61a40c5b0fb2b31)
  #19  pc 0x0000000006a3f718  /data/app/~~nfWOTftSVYhJSiGzBAVD4w==/com.google.android.trichromelibrary_710312533-oX7W_zHEHFjRCn4iH36Z7g==/base.apk!libmonochrome_64.so (BuildId: 540f9bee4496cafa734d471ac61a40c5b0fb2b31)
  #20  pc 0x000000000256a99c  /data/app/~~nfWOTftSVYhJSiGzBAVD4w==/com.google.android.trichromelibrary_710312533-oX7W_zHEHFjRCn4iH36Z7g==/base.apk!libmonochrome_64.so (BuildId: 540f9bee4496cafa734d471ac61a40c5b0fb2b31)
  #21  pc 0x00000000081237c4  /data/app/~~nfWOTftSVYhJSiGzBAVD4w==/com.google.android.trichromelibrary_710312533-oX7W_zHEHFjRCn4iH36Z7g==/base.apk!libmonochrome_64.so (BuildId: 540f9bee4496cafa734d471ac61a40c5b0fb2b31)
  #22  pc 0x000000000859db54  /data/app/~~nfWOTftSVYhJSiGzBAVD4w==/com.google.android.trichromelibrary_710312533-oX7W_zHEHFjRCn4iH36Z7g==/base.apk!libmonochrome_64.so (BuildId: 540f9bee4496cafa734d471ac61a40c5b0fb2b31)
  #23  pc 0x000000000545a4ac  /data/app/~~nfWOTftSVYhJSiGzBAVD4w==/com.google.android.trichromelibrary_710312533-oX7W_zHEHFjRCn4iH36Z7g==/base.apk!libmonochrome_64.so (BuildId: 540f9bee4496cafa734d471ac61a40c5b0fb2b31)
  #24  pc 0x0000000005459600  /data/app/~~nfWOTftSVYhJSiGzBAVD4w==/com.google.android.trichromelibrary_710312533-oX7W_zHEHFjRCn4iH36Z7g==/base.apk!libmonochrome_64.so (BuildId: 540f9bee4496cafa734d471ac61a40c5b0fb2b31)
  #25  pc 0x00000000000fcf74  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208)
  #26  pc 0x0000000000096924  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

At first we shrugged this off as an issue with one particular device. Although it is happening more and more frequently now. After a bit of research we noticed a similar stack trace was reported in flutter.

  • https://github.com/flutter/flutter/issues/166410
  • https://github.com/flutter/flutter/issues/168665
  • https://github.com/flutter/flutter/issues/167084

However they seem to be using Vulkan directly while the stack trace above seems to be entirely in Android code. So far the crashes appear on devices running Android 14, mostly Motorola devices at that.

Perhaps there is a buggy WebView floating out there on a set of devices?

  • https://stackoverflow.com/questions/66361472/app-crashed-with-base-apklibmonochrome-so

But it is odd that we just started seeing this with the latest update to the Cordova android runtime.

novtech-mark avatar May 21 '25 13:05 novtech-mark