Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-88610

[Android] JNI crash at QTimeZone::systemTimeZone (Regression?)

    XMLWordPrintable

Details

    • Android
    • d5eda37baaea20b2411b6ef1ca0d41a2a71a06a6 (qt/qtbase/dev) 198a985c094232dce0a7a956004dd2ae1fec68f5 (qt/qtbase/6.0) d70fe37b8142e7ee69d695a1e2611a55a785db2f (qt/tqtc-qtbase/tqtc/lts-5.15)

    Description

      Beginning with Qt 5.15.1 I've started to notice in my Google Play Console a lot of crashes related to QTimeZone::systemTimeZone

      *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
      pid: 0, tid: 0 >>> com.gsoftteam.pyramidsolitaire <<<
      
      backtrace:
        #00  pc 000000000005fcb2  /apex/com.android.runtime/lib/bionic/libc.so (abort+166)
        #00  pc 000000000037ae4f  /apex/com.android.runtime/lib/libart.so (art::Runtime::Abort(char const*)+1770)
        #00  pc 000000000000859b  /system/lib/libbase.so (android::base::LogMessage::~LogMessage()+418)
        #00  pc 00000000003b046b  /apex/com.android.runtime/lib/libart.so (art::Thread::AssertNoPendingException() const+818)
        #00  pc 00000000000f7eb7  /apex/com.android.runtime/lib/libart.so (art::ClassLinker::FindClass(art::Thread*, char const*, art::Handle<art::mirror::ClassLoader>)+30)
        #00  pc 00000000000e9f8b  /apex/com.android.runtime/lib/libart.so (art::ClassLinker::DoResolveType(art::dex::TypeIndex, art::Handle<art::mirror::DexCache>, art::Handle<art::mirror::ClassLoader>)+122)
        #00  pc 00000000003ce5f9  /apex/com.android.runtime/lib/libart.so (_ZN3art8verifier4impl12_GLOBAL__N_114MethodVerifierILb0EE6VerifyEv$09bf97eb2c0d684adb6d215f7005036e+1164)
        #00  pc 00000000003d134f  /apex/com.android.runtime/lib/libart.so (art::verifier::MethodVerifier::FindLocksAtDexPc(art::ArtMethod*, unsigned int, std::__1::vector<art::verifier::MethodVerifier::DexLockInfo, std::__1::allocator<art::verifier::MethodVerifier::DexLockInfo>>*, unsigned int)+470)
        #00  pc 00000000002fd097  /apex/com.android.runtime/lib/libart.so (art::Monitor::VisitLocks(art::StackVisitor*, void (*)(art::ObjPtr<art::mirror::Object>, void*), void*, bool)+294)
        #00  pc 00000000002fdc81  /apex/com.android.runtime/lib/libart.so (art::MonitorObjectsStackVisitor::VisitFrame()+96)
        #00  pc 00000000003948fb  /apex/com.android.runtime/lib/libart.so (void art::StackVisitor::WalkStack<(art::StackVisitor::CountTransitions)0>(bool)+406)
        #00  pc 00000000003af635  /apex/com.android.runtime/lib/libart.so (art::Thread::DumpJavaStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool, bool) const+348)
        #00  pc 00000000003ac2cb  /apex/com.android.runtime/lib/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool, BacktraceMap*, bool) const+374)
        #00  pc 00000000003a8a83  /apex/com.android.runtime/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool, BacktraceMap*, bool) const+34)
        #00  pc 00000000003c11f5  /apex/com.android.runtime/lib/libart.so (art::DumpCheckpoint::Run(art::Thread*)+600)
        #00  pc 00000000003bbe05  /apex/com.android.runtime/lib/libart.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*)+380)
        #00  pc 00000000003bb4e1  /apex/com.android.runtime/lib/libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool)+1412)
        #00  pc 000000000037ab9b  /apex/com.android.runtime/lib/libart.so (art::Runtime::Abort(char const*)+1078)
        #00  pc 000000000000859b  /system/lib/libbase.so (android::base::LogMessage::~LogMessage()+418)
        #00  pc 0000000000288cff  /apex/com.android.runtime/lib/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+1206)
        #00  pc 0000000000296cfd  /apex/com.android.runtime/lib/libart.so (art::JNI::GetMethodID(_JNIEnv*, _jclass*, char const*, char const*)+1184)
        #00  pc 0000000000199309  /data/app/com.gsoftteam.pyramidsolitaire-34Jd9Mp8_KtXyaAi0T082Q==/lib/arm/libQt5Core_armeabi-v7a.so
        #00  pc 0000000000198f4b  /data/app/com.gsoftteam.pyramidsolitaire-34Jd9Mp8_KtXyaAi0T082Q==/lib/arm/libQt5Core_armeabi-v7a.so
        #00  pc 000000000019ac29  /data/app/com.gsoftteam.pyramidsolitaire-34Jd9Mp8_KtXyaAi0T082Q==/lib/arm/libQt5Core_armeabi-v7a.so (QJNIObjectPrivate::callObjectMethodV(char const*, char const*, std::__va_list) const+52)
        #00  pc 000000000019acab  /data/app/com.gsoftteam.pyramidsolitaire-34Jd9Mp8_KtXyaAi0T082Q==/lib/arm/libQt5Core_armeabi-v7a.so (QJNIObjectPrivate::callObjectMethod(char const*, char const*, ...) const+22)
        #00  pc 000000000019acc9  /data/app/com.gsoftteam.pyramidsolitaire-34Jd9Mp8_KtXyaAi0T082Q==/lib/arm/libQt5Core_armeabi-v7a.so (QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod<_jstring*>(char const*) const+8)
        #00  pc 00000000001070eb  /data/app/com.gsoftteam.pyramidsolitaire-34Jd9Mp8_KtXyaAi0T082Q==/lib/arm/libQt5Core_armeabi-v7a.so
        #00  pc 000000000010333f  /data/app/com.gsoftteam.pyramidsolitaire-34Jd9Mp8_KtXyaAi0T082Q==/lib/arm/libQt5Core_armeabi-v7a.so (QTimeZone::systemTimeZoneId()+26)
        #00  pc 00000000001033d3  /data/app/com.gsoftteam.pyramidsolitaire-34Jd9Mp8_KtXyaAi0T082Q==/lib/arm/libQt5Core_armeabi-v7a.so (QTimeZone::systemTimeZone()+26)
        #00  pc 00000000000cbb25  /data/app/com.gsoftteam.pyramidsolitaire-34Jd9Mp8_KtXyaAi0T082Q==/lib/arm/libQt5Qml_armeabi-v7a.so
      

      At first I thought this was a result of making repeated calls to (new Date()).getTime() in QML once every 20 milliseconds and it should have been easy to replicate it. Unfortunately I haven't been able to replicate the issue so far.

      Wild guess: It might have something to do with QTBUG-75585 ...

      Attachments

        For Gerrit Dashboard: QTBUG-88610
        # Subject Branch Project Status CR V

        Activity

          People

            Eddy Edward Welbourne
            adrian.gabureanu Adrian Gabureanu
            Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes