6

I've recently updated one of our Playstore apps written in Qt/QML and I'm getting massive amounts of "in abort" crashes. The crash exclusively happens on Android 10 devices. The app was build with Qt 5.13.2 and Target SDK 28 (Android 9). Unfortunately I cannot reproduce the crash on any of our Android 10 devices.

JDK: jdk1.8.0_241.jdk

NDK: android-ndk-r21

This seem to be a similar issue but not really identical. in Abort crash

Any ideas as to what could cause this crash would be much appreciated. This is the stack trace as shown in Google Playstore console:

backtrace:
  #00  pc 000000000006f06c  /apex/com.android.runtime/lib64/bionic/libc.so (abort+160)
  #01  pc 00000000000cf71c  /apex/com.android.runtime/lib64/bionic/libc.so (__fortify_fatal(char const*, ...)+116)
  #02  pc 00000000000cee50  /apex/com.android.runtime/lib64/bionic/libc.so (HandleUsingDestroyedMutex(pthread_mutex_t*, char const*)+52)
  #03  pc 00000000000cecb4  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_mutex_lock+148)
  #04  pc 00000000000cd6e4  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+72)
  #05  pc 0000000000071674  /system/lib64/libc++.so (std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)+20)
  #06  pc 00000000000198dc  /system/lib64/libstagefright_bufferpool@2.0.so (android::hardware::media::bufferpool::V2_0::implementation::Accessor::Impl::invalidatorThread(std::__1::map<unsigned int, std::__1::weak_ptr<android::hardware::media::bufferpool::V2_0::implementation::Accessor::Impl> const, std::__1::less<unsigned int>, std::__1::allocator<std::__1::pair<unsigned int const, std::__1::weak_ptr<android::hardware::media::bufferpool::V2_0::implementation::Accessor::Impl> const>>>&, std::__1::mutex&, std::__1::condition_variable&, bool&) [clone .cfi]+132)
  #07  pc 0000000000019f4c  /system/lib64/libstagefright_bufferpool@2.0.so (void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(std::__1::map<unsigned int, std::__1::weak_ptr<android::hardware::media::bufferpool::V2_0::implementation::Accessor::Impl> const, std::__1::less<unsigned int>, std::__1::allocator<std::__1::pair<unsigned int const, std::__1::weak_ptr<android::hardware::media::bufferpool::V2_0::implementation::Accessor::Impl> const> > >&, std::__1::mutex&, std::__1::condition_variable&, bool&), std::__1::reference_wrapper<std::__1::map<unsigned int, std::__1::weak_ptr<android::hardware::media::bufferpool::V2_0::implementation::Accessor::Impl> const, std::__1::less<unsigned int>, std::__1::allocator<std::__1::pair<unsigned int const, std::__1::weak_ptr<android::hardware::media::bufferpool::V2_0::implementation::Accessor::Impl> const> > > >, std::__1::reference_wrapper<std::__1::mutex>, std::__1::reference_wrapper<std::__1::condition_variable>, std::__1::reference_wrapper<bool> > >(void*) (.cfi)+64)
  #08  pc 00000000000ce190  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
  #09  pc 0000000000070ba8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
Michael
  • 176
  • 1
  • 8
  • 1
    Hi Michael! It is me, Dmitriano. I also have this in my app, see my updated post https://developernote.com/2020/04/qt-app-crashes-at-the-destructor-of-std-thread-on-android-10/#mutex – Dmitriano Apr 27 '20 at 16:29

0 Answers0