Qt/QML Android 10 崩溃“中止”

Mic*_*ael 6 crash qt android qml

我最近更新了我们用 Qt/QML 编写的 Playstore 应用程序之一,并且我收到了大量“中止”崩溃。崩溃仅发生在 Android 10 设备上。该应用程序是使用 Qt 5.13.2 和 Target SDK 28 (Android 9) 构建的。不幸的是,我无法在我们的任何 Android 10 设备上重现崩溃。

JDK:jdk1.8.0_241.jdk

NDK:android-ndk-r21

这似乎是一个类似的问题,但并不完全相同。在中止崩溃

关于什么可能导致这次崩溃的任何想法将不胜感激。这是 Google Playstore 控制台中显示的堆栈跟踪:

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)
Run Code Online (Sandbox Code Playgroud)