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

QRegularExpression JIT compiler does not execute on Apple Silicon

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.15.0
    • Fix Version/s: 5.12.10, 5.15.1
    • Component/s: QPA
    • Labels:
      None
    • Environment:
      Darwin Rolands-Mac.knall 20.0.0 Darwin Kernel Version 20.0.0: Sun Jun 14 21:36:36 PDT 2020; root:Bridge_xnu-7090.111.5.2~1/RELEASE_ARM64_T8020 arm64
    • Platform/s:
      macOS
    • Commits:
      2f8df4d1a87df9dd67913b016171dac20839d16e (qt/qtbase/dev) 00b6af34a4f9e82f9d713186032231d512de5e00 (qt/qtbase/5.12) d97d549391f088e7cabd423700d77407a1d31fa5 (qt/qtbase/5.15)

      Description

      The following occurs, when executing QRegularExpression / QRegularExpressionMatch on Apple Silicon: 
      (lldb) thread backtrace

      thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x117a08008)
         * frame #0: 0x0000000108f23274 QtCore`___lldb_unnamed_symbol4246$$QtCore + 456
           frame #1: 0x0000000108f23004 QtCore`___lldb_unnamed_symbol4245$$QtCore + 120
           frame #2: 0x0000000108d0a158 QtCore`___lldb_unnamed_symbol932$$QtCore + 60
           frame #3: 0x0000000108d0a0cc QtCore`___lldb_unnamed_symbol931$$QtCore + 204
           frame #4: 0x0000000108d0b884 QtCore`QRegularExpression::match(QString const&, int, QRegularExpression::MatchType, QFlags<QRegularExpression::MatchOption>) const + 56
           frame #5: 0x00000001003ce2e8 Wireshark`FilterListModel::reload(this=0x000000016fdff010) at filter_list_model.cpp:83:44 [opt]
           frame #6: 0x00000001003ce7c4 Wireshark`FilterListModel::FilterListModel(FilterListModel::FilterListType, QObject*) [inlined] FilterListModel::FilterListModel(this=<unavailable>, type=<unavailable>, parent=<unavailable>) at filter_list_model.cpp:52:5 [opt]

      In this case QRegularExpression was called directly, but it also occurred when run through QDir by the following code construct:

      QStringList filenames = QDir(":/i18n/").entryList(QStringList("wireshark_*.qm"));

      In this case seemed to be called by QDirIterator.

      Building the application on a debug/non-framework version does not bring up the error. Only way the error occurs is by running a release build (framework or non-framework).

      This is using Qt 5.15 from git, compiled native on Apple Silicon (macOS arm64 target), build by the rules defined in https://bugreports.qt.io/browse/QTBUG-85279

       

       

        Attachments

          Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Activity

              People

              Assignee:
              vestbo Tor Arne Vestbø
              Reporter:
              rknall Roland Knall
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes