Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Need help to report bag . Crash in Qt 6.11.1 accessibility problem.
Qt 6.11 is out! See what's new in the release blog

Need help to report bag . Crash in Qt 6.11.1 accessibility problem.

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
3 Posts 2 Posters 79 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    MishelFF
    wrote last edited by MishelFF
    #1

    bugreports.qt.io ignore me(

    Android 10 crash in Qt 6.11.1 accessibility: NoSuchMethodError for AccessibilityNodeInfo.RangeInfo constructor

    Application crashes on Android 10 when Android Accessibility service is enabled.

    The crash happens inside Qt Android accessibility implementation.

    Environment:

    • Qt version: 6.11.1
    • Build: MSVC 2022 x86_64 host
    • Android target: arm64-v8a
    • Device: Xiaomi Redmi Note 8T
    • Android version: 10 (API 29)
    • NDK: 27.2.12479018

    The application works normally when Accessibility is disabled on the device.
    When Accessibility is enabled, the application crashes during accessibility node population.

    Crash log:
    Fatal signal 6 (SIGABRT)

    Abort message:
    JNI DETECTED ERROR IN APPLICATION:
    JNI CallVoidMethodV called with pending exception

    java.lang.NoSuchMethodError:
    no non-static method
    "Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;.<init>(IFFF)V"

    1 Reply Last reply
    0
    • Nils SjobergN Offline
      Nils SjobergN Offline
      Nils Sjoberg
      wrote last edited by
      #2

      בדקו בקוד המקור של בדוק את קוד המקור של Qt (במודול הנגישות של אנדרואיד) כדי לראות היכן נוצר ה-RangeInfo.

      1 Reply Last reply
      0
      • M Offline
        M Offline
        MishelFF
        wrote last edited by
        #3

        Suspected cause
        The problem appears to be caused by this code in Qt Android accessibility:

        QJniObject rangeInfo(
        "android/view/accessibility/AccessibilityNodeInfo$RangeInfo",
        "(IFFF)V",
        rangeType, min, max, current);

        The constructor signature "(IFFF)V" is not available on Android 10 runtime.

        The call creates a pending JNI exception:
        java.lang.NoSuchMethodError

        but the exception is not cleared before continuing, which results in SIGABRT.

        Proposed fix
        The RangeInfo constructor usage should be protected by Android API level check.

        For example:

        if (QtAndroidPrivate::androidSdkVersion() >= 36) {
        QJniObject rangeInfo(
        "android/view/accessibility/AccessibilityNodeInfo$RangeInfo",
        "(IFFF)V",
        rangeType, min, max, current);

        if (rangeInfo.isValid())
            env->CallVoidMethod(node, m_setRangeInfoMethodID,
                                rangeInfo.object());
        

        }

        or alternatively Qt should use the correct API availability check for RangeInfo constructor.

        1 Reply Last reply
        1

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved