valgrind ./elasticnodes ==7631== Memcheck, a memory error detector ==7631== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. ==7631== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info ==7631== Command: ./elasticnodes ==7631== vex amd64->IR: unhandled instruction bytes: 0xF 0xC7 0xF2 0x89 0x10 0xB9 0x1 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 ==7631== valgrind: Unrecognised instruction at address 0x5bc9721. ==7631== at 0x5BC9721: _rdrand32_step (immintrin.h:103) ==7631== by 0x5BC9721: qt_random_cpu(void*, long long) (qrandom.cpp:114) ==7631== by 0x5BC9F99: QRandomGenerator::SystemGenerator::generate(unsigned int*, unsigned int*) (qrandom.cpp:369) ==7631== by 0x5BCA4B0: QRandomGenerator::_fillRange(void*, void*) (qrandom.cpp:1273) ==7631== by 0x5C29374: fillRange (qrandom.h:143) ==7631== by 0x5C29374: generate (qrandom.h:87) ==7631== by 0x5C29374: qt_create_qhash_seed() (qhash.cpp:299) ==7631== by 0x5C29453: qt_initialize_qhash_seed() (qhash.cpp:325) ==7631== by 0x5C29CEB: QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) (qhash.cpp:502) ==7631== by 0x5C4C9D5: QHash::Node>::detach_helper() (qhash.h:599) ==7631== by 0x5C48136: detach (qhash.h:275) ==7631== by 0x5C48136: find (qhash.h:901) ==7631== by 0x5C48136: take (qcache.h:154) ==7631== by 0x5C48136: prepareEngine_helper(QRegExpPrivate*) (qregexp.cpp:3853) ==7631== by 0x5C48A60: prepareEngine (qregexp.cpp:3873) ==7631== by 0x5C48A60: QRegExp::QRegExp(QString const&, Qt::CaseSensitivity, QRegExp::PatternSyntax) (qregexp.cpp:3967) ==7631== by 0x5CD8966: QDirIteratorPrivate::QDirIteratorPrivate(QFileSystemEntry const&, QStringList const&, QFlags, QFlags, bool) (qdiriterator.cpp:167) ==7631== by 0x5CD9442: QDirIterator::QDirIterator(QString const&, QStringList const&, QFlags, QFlags) (qdiriterator.cpp:471) ==7631== by 0x5CD179B: QDir::entryList(QStringList const&, QFlags, QFlags) const (qdir.cpp:1387) ==7631== Your program just tried to execute an instruction that Valgrind ==7631== did not recognise. There are two possible reasons for this. ==7631== 1. Your program has a bug and erroneously jumped to a non-code ==7631== location. If you are running Memcheck and you just saw a ==7631== warning about a bad jump, it's probably your program's fault. ==7631== 2. The instruction is legitimate but Valgrind doesn't handle it, ==7631== i.e. it's Valgrind's fault. If you think this is the case or ==7631== you are not sure, please let us know and we'll try to fix it. ==7631== Either way, Valgrind will now raise a SIGILL signal which will ==7631== probably kill your program. ==7631== ==7631== Process terminating with default action of signal 4 (SIGILL) ==7631== Illegal opcode at address 0x5BC9721 ==7631== at 0x5BC9721: _rdrand32_step (immintrin.h:103) ==7631== by 0x5BC9721: qt_random_cpu(void*, long long) (qrandom.cpp:114) ==7631== by 0x5BC9F99: QRandomGenerator::SystemGenerator::generate(unsigned int*, unsigned int*) (qrandom.cpp:369) ==7631== by 0x5BCA4B0: QRandomGenerator::_fillRange(void*, void*) (qrandom.cpp:1273) ==7631== by 0x5C29374: fillRange (qrandom.h:143) ==7631== by 0x5C29374: generate (qrandom.h:87) ==7631== by 0x5C29374: qt_create_qhash_seed() (qhash.cpp:299) ==7631== by 0x5C29453: qt_initialize_qhash_seed() (qhash.cpp:325) ==7631== by 0x5C29CEB: QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) (qhash.cpp:502) ==7631== by 0x5C4C9D5: QHash::Node>::detach_helper() (qhash.h:599) ==7631== by 0x5C48136: detach (qhash.h:275) ==7631== by 0x5C48136: find (qhash.h:901) ==7631== by 0x5C48136: take (qcache.h:154) ==7631== by 0x5C48136: prepareEngine_helper(QRegExpPrivate*) (qregexp.cpp:3853) ==7631== by 0x5C48A60: prepareEngine (qregexp.cpp:3873) ==7631== by 0x5C48A60: QRegExp::QRegExp(QString const&, Qt::CaseSensitivity, QRegExp::PatternSyntax) (qregexp.cpp:3967) ==7631== by 0x5CD8966: QDirIteratorPrivate::QDirIteratorPrivate(QFileSystemEntry const&, QStringList const&, QFlags, QFlags, bool) (qdiriterator.cpp:167) ==7631== by 0x5CD9442: QDirIterator::QDirIterator(QString const&, QStringList const&, QFlags, QFlags) (qdiriterator.cpp:471) ==7631== by 0x5CD179B: QDir::entryList(QStringList const&, QFlags, QFlags) const (qdir.cpp:1387) ==7631== ==7631== HEAP SUMMARY: ==7631== in use at exit: 97,749 bytes in 68 blocks ==7631== total heap usage: 235 allocs, 167 frees, 138,647 bytes allocated ==7631== ==7631== LEAK SUMMARY: ==7631== definitely lost: 0 bytes in 0 blocks ==7631== indirectly lost: 0 bytes in 0 blocks ==7631== possibly lost: 0 bytes in 0 blocks ==7631== still reachable: 97,749 bytes in 68 blocks ==7631== suppressed: 0 bytes in 0 blocks ==7631== Rerun with --leak-check=full to see details of leaked memory ==7631== ==7631== For counts of detected and suppressed errors, rerun with: -v ==7631== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)