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

JSC::Yarr::YarrGenerator<>::initCallFrame creates odd stack frame

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Not Evaluated
    • None
    • 5.7.0
    • None
    • openSUSE Tumbleweed (aarch64)
    • 4493524ec24afb946eba3942f48d9fc1ff3192c1

    Description

      When m_pattern.m_body->m_callFrameSize is odd then JSC::Yarr::YarrGenerator<>::initCallFrame creates an unaligned stack pointer on aarch64, causing it to crash in JIT code.

      Thread 1 "plasmashell" received signal SIGBUS, Bus error.
      0x0000ffffb7faa35c in ?? ()
      (gdb) bt
      #0 0x0000ffffb7faa35c in ?? ()
      #1 0x0000ffffffffd858 in ?? ()
      #2 0x00000000005eeec0 in ?? ()
      Backtrace stopped: previous frame inner to this frame (corrupt stack?)
      (gdb) x/i $pc
      => 0xffffb7faa35c: stur x5, [sp]
      (gdb) i reg sp
      sp 0xffffffffd6d8 0xffffffffd6d8
      (gdb) x/i $lr
      0xffffb704c890 <QV4::RegExp::match(QString const&, int, unsigned int*)+4064>:
      mov w24, w0

      Attachments

        Activity

          People

            srutledg Shawn Rutledge
            schwab Andreas Schwab
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: