Qt 5.10 with Creator 4.5 Valgrind error?
Unsolved
General and Desktop
-
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? -
@Jonathan-Levanon Can you check in disassembler what is at 0x56019DB? Does it look like valid assembler? You can post it here.
-
@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?
-
Anybody?