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

[Android] ANRs related to QtNativeInputConnection

XMLWordPrintable

    • Android
    • c8a1e7bb3 (dev), c600019e1 (6.10), 9e26d5e8c (6.9), d554be0a2 (tqtc/lts-6.8), 81ffb8c32 (dev), adb9455c0 (6.10), 7bb195a3b (6.9), d14231b25 (tqtc/lts-6.5), 57bf784d2 (tqtc/lts-6.8), c73d47b0c (tqtc/lts-6.5)
    • 2024wk20s2FOQtforAndroid, 2024wk22s2FOQtforAndroid, 2024wk24s2FOQtforAndroid, 2024wk26s2FOQtforAndroid, 2024wk28s2FOQtforAndroid, 2024wk32s2FOQtforAndroid, 2024wk34s2FOQtforAndroid, 2024wk36s2FOQtforAndroid, 2025wk34s2QtforAndroid

      In my Google Play Console I am seeing a lot of ANR clusters related to QtNativeInputConnection. I've also noticed some crashes, but only a few and mainly in the pre-launch reports. Here are some ANR examples:

      #1

      .
        #05  pc 0x00000000002871eb  /data/app/~~ZuIjhYNQA8HRzrV_2L14qA==/com.gsoftteam.dominoes-4IC2_IRYAPb3dt9HXyBJuQ==/lib/arm/libQt6Core_armeabi-v7a.so (QMetaMethodInvoker::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, int, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*)+706)
      .
        #11  pc 0x000000000015ea17  /data/app/~~ZuIjhYNQA8HRzrV_2L14qA==/com.gsoftteam.dominoes-4IC2_IRYAPb3dt9HXyBJuQ==/oat/arm/base.odex (Java_org_qtproject_qt_android_QtNativeInputConnection_finishComposingText__+94)
        at org.qtproject.qt.android.QtNativeInputConnection.finishComposingText (Native method)
        at org.qtproject.qt.android.QtInputConnection.finishComposingText (QtInputConnection.java:187)
      

      #2

      .
        #05  pc 0x000000000038fc54  /data/app/~~VlbsYoXYdUK9oTVJN8ed5g==/com.gsoftteam.dominoes-NQC3Vb_Uxk_oT03ETY8RkA==/lib/arm64/libQt6Core_arm64-v8a.so (QMetaObject::invokeMethodImpl(QObject*, char const*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*)+244)
      .
        at org.qtproject.qt.android.QtNativeInputConnection.commitText (Native method)
        at org.qtproject.qt.android.QtInputConnection.commitText (QtInputConnection.java:172)
        at com.android.internal.view.IInputConnectionWrapper.executeMessage (IInputConnectionWrapper.java:345)
      

      #3

      .
        #04  pc 0x000000000038da28  /data/app/~~Q_1GKQMEecnu901FbfcowA==/com.gsoftteam.wordsearch-86y5AdTvwLvmPlNmkOBBkw==/lib/arm64/libQt6Core_arm64-v8a.so (QMetaMethodInvoker::invokeImpl+880) (BuildId: 20a55ebdabd2d8dbee78d764dc84d85e6d33c961)
      .
        at org.qtproject.qt.android.QtNativeInputConnection.getExtractedText (Native method)
        at org.qtproject.qt.android.QtInputConnection.getExtractedText (QtInputConnection.java:199)
        at android.view.inputmethod.RemoteInputConnectionImpl.lambda$getExtractedText$14 (RemoteInputConnectionImpl.java:614)
      

      From what I've seen all QtNativeInputConnection methods are affected, but I haven't been able to replicate any of their related ANRs on my devices. However I noticed a peculiar warning in the Android Studio logcat when the app is being closed and it might point to the issue:

      Input channel object '4a37f1 com.gsoftteam.freecellmobile/org.qtproject.qt.android.bindings.MyQtActivity (client)' was disposed without first being removed with the input manager!

      ~~

      Another thing I noticed is that the Handler() constructor is deprecated https://developer.android.com/reference/android/os/Handler#Handler() ,but it's being used in showSoftwareKeyboard and hideSoftwareKeyboard methods from QtInputDelegate . Maybe Handler(Looper.getMainLooper()) should be used? However I doubt there is a connection between my initial report and the use of this deprecated constructor.

        1. ANR_finishComposingText.png
          318 kB
          Adrian Gabureanu
        2. QtInputConnection_crash_3.png
          275 kB
          Adrian Gabureanu
        3. QtInputConnection_crash.png
          581 kB
          Adrian Gabureanu
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            assam Assam Boudjelthia
            adrian.gabureanu Adrian Gabureanu
            Votes:
            11 Vote for this issue
            Watchers:
            15 Start watching this issue

              Created:
              Updated:
              Resolved: