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

QML crashes with "Illegal instruction" on armv6

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Reported
    • Priority: P2: Important
    • Resolution: Unresolved
    • Affects Version/s: 5.9.3
    • Fix Version/s: None
    • Labels:
      None
    • Environment:
      Alpine Linux armhf (armv6-alpine-linux-muslgnueabihf)

      QT 5.9.3

      Description

      Running anything with QML crashes on armv6 on the musl libc based Alpine Linux / postmarketOS.

      Step by step instructions:
      1. Save the QML Hello World (https://doc.qt.io/qt-5/qml-tutorial1.html) example as "hello.qml"
      2. Run "qml-qt5 hello.qml" after starting a X11 or Wayland session

      Output:

      qml-qt5 hello.qml
      libEGL warning: DRI2: failed to authenticate
      JIT is disabled for QML. Property bindings and animations will be very slow. Visit https://wiki.qt.io/V4 to learn about possible solutions for your platform.
      JIT is disabled for QML. Property bindings and animations will be very slow. Visit https://wiki.qt.io/V4 to learn about possible solutions for your platform.
      Illegal instruction
      

      As I understand, it should only run slower without JIT, but not crash. The downstream bugreport from postmarketOS is here: https://github.com/postmarketOS/pmbootstrap/issues/878

      GDB stack trace: 

      Starting program: /usr/bin/qml-qt5 hello.qml
      [New LWP 3280]
      libEGL warning: DRI2: failed to authenticate
      [New LWP 3288]
      [New LWP 3289]
      [New LWP 3291]
      JIT is disabled for QML. Property bindings and animations will be very slow. Visit https://wiki.qt.io/V4 to learn about possible solutions for your platform.
      [New LWP 3292]
      JIT is disabled for QML. Property bindings and animations will be very slow. Visit https://wiki.qt.io/V4 to learn about possible solutions for your platform.
      [LWP 3292 exited]
      
      Thread 5 "QQmlThread" received signal SIGILL, Illegal instruction.
      [Switching to LWP 3291]
      0x40166b54 in QV4::Moth::InstructionSelection::getQmlContextProperty(QV4::IR::Expr*, QV4::IR::Member::MemberKind, int, bool, QV4::IR::Expr*) () from /usr/lib/libQt5Qml.so.5
      (gdb) bt
      #0  0x40166b54 in QV4::Moth::InstructionSelection::getQmlContextProperty(QV4::IR::Expr*, QV4::IR::Member::MemberKind, int, bool, QV4::IR::Expr*) () from /usr/lib/libQt5Qml.so.5
      #1  0x40139a80 in QV4::IR::IRDecoder::visitMove(QV4::IR::Move*) () from /usr/lib/libQt5Qml.so.5
      #2  0x4016a1f0 in QV4::Moth::InstructionSelection::run(int) () from /usr/lib/libQt5Qml.so.5
      #3  0x401391c8 in QV4::EvalInstructionSelection::compile(bool) () from /usr/lib/libQt5Qml.so.5
      #4  0x4015d420 in ?? () from /usr/lib/libQt5Qml.so.5
      Backtrace stopped: previous frame identical to this frame (corrupt stack?)
      (gdb)
      

        Attachments

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

          Activity

            People

            Assignee:
            shausman Simon Hausmann
            Reporter:
            ollieparanoid Oliver Smith
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:

                Gerrit Reviews

                There are no open Gerrit changes