Re: Does Valgrind support AMD Ryzen 5 5600X processors

Simon Sobisch <[email protected]> Wed, 19 Jul 2023 13:48:22 +0200
Newsgroups gmane.comp.debugging.valgrind
Message-ID <[email protected]>
The issue is _very_ likely not about the processor:

==5096== valgrind: Unrecognised instruction at address 0x5ee6282.
==5096==  at 0x5EE6282: aeshash256_ge32(long long __vector(4), unsigned 
char const*, unsigned long) (in /opt/qt-6.4.0/lib/libQt6Core.so.6.4.0)

This library uses an unknown instruction, and it likely will do so on 
other processors, too.

The only solution is to use a QT library that doesn't use this.
Depending on how this is configured/build you may be able to disable use 
of this aes function altogether, if not you _may_ be able to specify via 
CXXFLAGS/CFLAGS to not optimize for a CPU.

Side note: all my projects work on valgrind if I only compile 
"normally", as soon as I use -march/-mtune GCC generates calls to faster 
but cpu specific instructions that valgrind does not support yet.

Simon


Am 19.07.2023 um 13:39 schrieb Stuart Foster via Valgrind-users:
> I am trying to find which of my systems will run valgrind, I know it 
> will not run on my AMD FX-8370� and AMD FX-4350 systems. Does any one 
> know if it should run on my AMD Ryzen 5 5600X (see failure below) ?
> 
> I have access to an Intel core 7 laptop (Haswell), would I stand a 
> better chance with that, I am reluctant to move my whole project to the 
> laptop if there is no chance of Valgrind working there too.
> 
> ==5096== Memcheck, a memory error detector
> ==5096== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
> ==5096== Using Valgrind-3.21.0 and LibVEX; rerun with -h for copyright info
> ==5096== Command: QtWeather -s moira2
> ==5096==
> vex amd64->IR: unhandled instruction bytes: 0xC4 0xE2 0x7D 0xDC 0xC9 
> 0x48 0x39 0xD1 0x73 0x37
> vex amd64->IR:�� REX=0 REX.W=0 REX.R=0 REX.X=0 REX.B=0
> vex amd64->IR:�� VEX=1 VEX.L=1 VEX.nVVVV=0x0 ESC=0F38
> vex amd64->IR:�� PFX.66=1 PFX.F2=0 PFX.F3=0
> ==5096== valgrind: Unrecognised instruction at address 0x5ee6282.
> ==5096==��� at 0x5EE6282: aeshash256_ge32(long long __vector(4), 
> unsigned char const*, unsigned long) (in 
> /opt/qt-6.4.0/lib/libQt6Core.so.6.4.0)
> ==5096==��� by 0x5FEBFD1: 
> QFactoryLoaderPrivate::updateSinglePath(QString const&) (in 
> /opt/qt-6.4.0/lib/libQt6Core.so.6.4.0)
> ==5096==��� by 0x5FE8403: QFactoryLoader::update() (in 
> /opt/qt-6.4.0/lib/libQt6Core.so.6.4.0)
> ==5096==��� by 0x5FE8906: QFactoryLoader::QFactoryLoader(char const*, 
> QString const&, Qt::CaseSensitivity) (in 
> /opt/qt-6.4.0/lib/libQt6Core.so.6.4.0)
> ==5096==��� by 0x54DC115: QPlatformIntegrationFactory::keys(QString 
> const&) (in /opt/qt-6.4.0/lib/libQt6Gui.so.6.4.0)
> ==5096==��� by 0x54A1A36: init_platform(QString const&, QString const&, 
> QString const&, int&, char**) (in /opt/qt-6.4.0/lib/libQt6Gui.so.6.4.0)
> ==5096==��� by 0x54A58DF: 
> QGuiApplicationPrivate::createPlatformIntegration() (in 
> /opt/qt-6.4.0/lib/libQt6Gui.so.6.4.0)
> ==5096==��� by 0x54A6517: 
> QGuiApplicationPrivate::createEventDispatcher() (in 
> /opt/qt-6.4.0/lib/libQt6Gui.so.6.4.0)
> ==5096==��� by 0x5F64804: QCoreApplicationPrivate::init() (in 
> /opt/qt-6.4.0/lib/libQt6Core.so.6.4.0)
> ==5096==��� by 0x54A9979: QGuiApplicationPrivate::init() (in 
> /opt/qt-6.4.0/lib/libQt6Gui.so.6.4.0)
> ==5096==��� by 0x4C28708: QApplicationPrivate::init() (in 
> /opt/qt-6.4.0/lib/libQt6Widgets.so.6.4.0)
> ==5096==��� by 0x124098: main (in /usr/bin/QtWeather)
> ==5096== Your program just tried to execute an instruction that Valgrind
> ==5096== did not recognise.� There are two possible reasons for this.
> ==5096== 1. Your program has a bug and erroneously jumped to a non-code
> ==5096==��� location.� If you are running Memcheck and you just saw a
> ==5096==��� warning about a bad jump, it's probably your program's fault.
> ==5096== 2. The instruction is legitimate but Valgrind doesn't handle it,
> ==5096==��� i.e. it's Valgrind's fault.� If you think this is the case or
> ==5096==��� you are not sure, please let us know and we'll try to fix it.
> ==5096== Either way, Valgrind will now raise a SIGILL signal which will
> ==5096== probably kill your program.
> ==5096==
> ...
> 
> Thanks
> 
> 
> 
> _______________________________________________
> Valgrind-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/valgrind-users


_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users