Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Qt 5.10 with Creator 4.5 Valgrind error?
Forum Updated to NodeBB v4.3 + New Features

Qt 5.10 with Creator 4.5 Valgrind error?

Scheduled Pinned Locked Moved Unsolved General and Desktop
4 Posts 2 Posters 991 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.
  • Jonathan LevanonJ Offline
    Jonathan LevanonJ Offline
    Jonathan Levanon
    wrote on last edited by Jonathan Levanon
    #1

    I've upgraded to Qt 5.10 with Qt creator 4.5.
    Created an dummy project

    #include <QApplication>
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        return 0;
    }
    

    When trying to profile/run memcheck, valgrind fails with the following message -

    vex amd64->IR: unhandled instruction bytes: 0xF 0xC7 0xF2 0xB9 0x1 0x0 0x0 0x0
    vex amd64->IR:   REX=0 REX.W=0 REX.R=0 REX.X=0 REX.B=0
    vex amd64->IR:   VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=0F
    vex amd64->IR:   PFX.66=0 PFX.F2=0 PFX.F3=0
    ==2234== valgrind: Unrecognised instruction at address 0x54feef0.
    ==2234==    at 0x54FEEF0: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x54FFA58: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x5500458: QRandomGenerator::_fillRange(void*, void*) (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x555C59B: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x555CF66: QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x5577242: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x5577644: QRegExp::QRegExp(QString const&, Qt::CaseSensitivity, QRegExp::PatternSyntax) (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x56019DB: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x560247B: QDirIterator::QDirIterator(QString const&, QStringList const&, QFlags<QDir::Filter>, QFlags<QDirIterator::IteratorFlag>) (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x55FBB98: QDir::entryList(QStringList const&, QFlags<QDir::Filter>, QFlags<QDir::SortFlag>) const (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x55FC1DA: QDir::entryList(QFlags<QDir::Filter>, QFlags<QDir::SortFlag>) const (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x56CE761: QFactoryLoader::update() (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234== Your program just tried to execute an instruction that Valgrind
    ==2234== did not recognise.  There are two possible reasons for this.
    ==2234== 1. Your program has a bug and erroneously jumped to a non-code
    ==2234==    location.  If you are running Memcheck and you just saw a
    ==2234==    warning about a bad jump, it's probably your program's fault.
    ==2234== 2. The instruction is legitimate but Valgrind doesn't handle it,
    ==2234==    i.e. it's Valgrind's fault.  If you think this is the case or
    ==2234==    you are not sure, please let us know and we'll try to fix it.
    ==2234== Either way, Valgrind will now raise a SIGILL signal which will
    ==2234== probably kill your program.
    ==2234== 
    ==2234== Process terminating with default action of signal 4 (SIGILL)
    ==2234==  Illegal opcode at address 0x54FEEF0
    ==2234==    at 0x54FEEF0: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x54FFA58: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x5500458: QRandomGenerator::_fillRange(void*, void*) (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x555C59B: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x555CF66: QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x5577242: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x5577644: QRegExp::QRegExp(QString const&, Qt::CaseSensitivity, QRegExp::PatternSyntax) (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x56019DB: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x560247B: QDirIterator::QDirIterator(QString const&, QStringList const&, QFlags<QDir::Filter>, QFlags<QDirIterator::IteratorFlag>) (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x55FBB98: QDir::entryList(QStringList const&, QFlags<QDir::Filter>, QFlags<QDir::SortFlag>) const (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x55FC1DA: QDir::entryList(QFlags<QDir::Filter>, QFlags<QDir::SortFlag>) const (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==    by 0x56CE761: QFactoryLoader::update() (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
    ==2234==
    

    When deleting the line QApplication a(argc, argv); it works fine.
    With 5.7 and creator 4.2 it worked. I'm using Gcc 7.2 and valgrind-3.11.0, any suggestions?

    jsulmJ 1 Reply Last reply
    0
    • Jonathan LevanonJ Jonathan Levanon

      I've upgraded to Qt 5.10 with Qt creator 4.5.
      Created an dummy project

      #include <QApplication>
      int main(int argc, char *argv[])
      {
          QApplication a(argc, argv);
          return 0;
      }
      

      When trying to profile/run memcheck, valgrind fails with the following message -

      vex amd64->IR: unhandled instruction bytes: 0xF 0xC7 0xF2 0xB9 0x1 0x0 0x0 0x0
      vex amd64->IR:   REX=0 REX.W=0 REX.R=0 REX.X=0 REX.B=0
      vex amd64->IR:   VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=0F
      vex amd64->IR:   PFX.66=0 PFX.F2=0 PFX.F3=0
      ==2234== valgrind: Unrecognised instruction at address 0x54feef0.
      ==2234==    at 0x54FEEF0: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x54FFA58: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x5500458: QRandomGenerator::_fillRange(void*, void*) (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x555C59B: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x555CF66: QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x5577242: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x5577644: QRegExp::QRegExp(QString const&, Qt::CaseSensitivity, QRegExp::PatternSyntax) (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x56019DB: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x560247B: QDirIterator::QDirIterator(QString const&, QStringList const&, QFlags<QDir::Filter>, QFlags<QDirIterator::IteratorFlag>) (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x55FBB98: QDir::entryList(QStringList const&, QFlags<QDir::Filter>, QFlags<QDir::SortFlag>) const (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x55FC1DA: QDir::entryList(QFlags<QDir::Filter>, QFlags<QDir::SortFlag>) const (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x56CE761: QFactoryLoader::update() (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234== Your program just tried to execute an instruction that Valgrind
      ==2234== did not recognise.  There are two possible reasons for this.
      ==2234== 1. Your program has a bug and erroneously jumped to a non-code
      ==2234==    location.  If you are running Memcheck and you just saw a
      ==2234==    warning about a bad jump, it's probably your program's fault.
      ==2234== 2. The instruction is legitimate but Valgrind doesn't handle it,
      ==2234==    i.e. it's Valgrind's fault.  If you think this is the case or
      ==2234==    you are not sure, please let us know and we'll try to fix it.
      ==2234== Either way, Valgrind will now raise a SIGILL signal which will
      ==2234== probably kill your program.
      ==2234== 
      ==2234== Process terminating with default action of signal 4 (SIGILL)
      ==2234==  Illegal opcode at address 0x54FEEF0
      ==2234==    at 0x54FEEF0: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x54FFA58: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x5500458: QRandomGenerator::_fillRange(void*, void*) (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x555C59B: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x555CF66: QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x5577242: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x5577644: QRegExp::QRegExp(QString const&, Qt::CaseSensitivity, QRegExp::PatternSyntax) (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x56019DB: ??? (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x560247B: QDirIterator::QDirIterator(QString const&, QStringList const&, QFlags<QDir::Filter>, QFlags<QDirIterator::IteratorFlag>) (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x55FBB98: QDir::entryList(QStringList const&, QFlags<QDir::Filter>, QFlags<QDir::SortFlag>) const (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x55FC1DA: QDir::entryList(QFlags<QDir::Filter>, QFlags<QDir::SortFlag>) const (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==    by 0x56CE761: QFactoryLoader::update() (in /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5.10.0)
      ==2234==
      

      When deleting the line QApplication a(argc, argv); it works fine.
      With 5.7 and creator 4.2 it worked. I'm using Gcc 7.2 and valgrind-3.11.0, any suggestions?

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #2

      @Jonathan-Levanon Can you check in disassembler what is at 0x56019DB? Does it look like valid assembler? You can post it here.

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • Jonathan LevanonJ Offline
        Jonathan LevanonJ Offline
        Jonathan Levanon
        wrote on last edited by
        #3

        @jsulm said in Qt 5.10 with Creator 4.5 Valgrind error?:

        disassembler

        Thanks, not sure how can I get the disassembler while profiling. Can you guide me?

        1 Reply Last reply
        0
        • Jonathan LevanonJ Offline
          Jonathan LevanonJ Offline
          Jonathan Levanon
          wrote on last edited by
          #4

          Anybody?

          1 Reply Last reply
          0

          • Login

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