ubuntuusers.de

Selbst gebautes Opentrack.deb / Fehler Valgrind Unrecognized instruction ld-linux-x86-64.so.2

Status: Ungelöst | Ubuntu-Version: Ubuntu 24.04 (Noble Numbat)
Antworten |

techgamegeek

Anmeldungsdatum:
22. August 2024

Beiträge: 2

Hallo zusammen, ich habe hier ein interessantes Problem bzw. eine Meldung, mit der ich nicht viel anfangen kann. Nach Erstellung eines eigenen DEB Paketes für Opentrack (allerdings unter Debian 12) kann ich das Paket in einer VM mit Ubuntu 24.04 ganz normal installieren und das Binary dann auch ausführen. Ohne Fehler.

Auf echter Hardware (unter Ubuntu 24.04) läuft die DEB Installation auch durch, jedoch bekomme ich beim Start des Binary:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
vex amd64->IR: unhandled instruction bytes: 0x62 0xF1 0x7F 0x48 0x7F 0x47 0x1 0x62 0xF1 0x7F
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=NONE
vex amd64->IR:   PFX.66=0 PFX.F2=0 PFX.F3=0
==169216== valgrind: Unrecognised instruction at address 0x641b90b.
==169216==    at 0x641B90B: array (array:99)
==169216==    by 0x641B90B: powerset (powerset.hpp:59)
==169216==    by 0x641B90B: auto make_powerset<int, int, int>(int const&, int const&, int const&) (powerset.hpp:75)
==169216==    by 0x6418432: __static_initialization_and_destruction_0 (qxtglobalshortcut_x11.cpp:57)
==169216==    by 0x6418432: _GLOBAL__sub_I_qxtglobalshortcut_x11.cpp (qxtglobalshortcut_x11.cpp:456)
==169216==    by 0x400571E: call_init.part.0 (dl-init.c:74)
==169216==    by 0x4005823: call_init (dl-init.c:120)
==169216==    by 0x4005823: _dl_init (dl-init.c:121)
==169216==    by 0x401F59F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
==169216== Your program just tried to execute an instruction that Valgrind
==169216== did not recognise.  There are two possible reasons for this.
==169216== 1. Your program has a bug and erroneously jumped to a non-code
==169216==    location.  If you are running Memcheck and you just saw a
==169216==    warning about a bad jump, it's probably your program's fault.
==169216== 2. The instruction is legitimate but Valgrind doesn't handle it,
==169216==    i.e. it's Valgrind's fault.  If you think this is the case or
==169216==    you are not sure, please let us know and we'll try to fix it.
==169216== Either way, Valgrind will now raise a SIGILL signal which will
==169216== probably kill your program.
==169216== 
==169216== Process terminating with default action of signal 4 (SIGILL)
==169216==  Illegal opcode at address 0x641B90B
==169216==    at 0x641B90B: array (array:99)
==169216==    by 0x641B90B: powerset (powerset.hpp:59)
==169216==    by 0x641B90B: auto make_powerset<int, int, int>(int const&, int const&, int const&) (powerset.hpp:75)
==169216==    by 0x6418432: __static_initialization_and_destruction_0 (qxtglobalshortcut_x11.cpp:57)
==169216==    by 0x6418432: _GLOBAL__sub_I_qxtglobalshortcut_x11.cpp (qxtglobalshortcut_x11.cpp:456)
==169216==    by 0x400571E: call_init.part.0 (dl-init.c:74)
==169216==    by 0x4005823: call_init (dl-init.c:120)
==169216==    by 0x4005823: _dl_init (dl-init.c:121)
==169216==    by 0x401F59F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
==169216== 
==169216== HEAP SUMMARY:
==169216==     in use at exit: 100,237 bytes in 194 blocks
==169216==   total heap usage: 194 allocs, 0 frees, 100,237 bytes allocated
==169216== 
==169216== LEAK SUMMARY:
==169216==    definitely lost: 0 bytes in 0 blocks
==169216==    indirectly lost: 0 bytes in 0 blocks
==169216==      possibly lost: 160 bytes in 2 blocks
==169216==    still reachable: 100,077 bytes in 192 blocks
==169216==         suppressed: 0 bytes in 0 blocks
==169216== Rerun with --leak-check=full to see details of leaked memory
==169216== 
==169216== For lists of detected and suppressed errors, rerun with: -s
==169216== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Illegal instruction (core dumped)

Valgrind kann hier wohl mit einer instruction nichts anfangen? Ich bin kein Programmierer und tue mir deshalb bei der Interpretation schwer. Offenbar ist hier auch die ld-linux-x86-64.so.2 im Spiel.

Kann mir jemand von euch eventuell mitteilen, wo man hier ansetzen kann?

Danke sehr!

Moderiert von redknight:

Ins passende Forum verschoben.

pantomime

Anmeldungsdatum:
20. März 2013

Beiträge: 512

Hallo,

die Suche nach

valgrind: Unrecognised instruction at address 

im Internet liefert einige Treffer, bspw. valgrind: Unrecognised instruction @stackoverflow.com. Vlt. ist in der Trrefferliste der Suchmaschine auch was Interessantes für dich 😉.

techgamegeek

(Themenstarter)

Anmeldungsdatum:
22. August 2024

Beiträge: 2

Hi, danke fürs Recherchieren. Muss man Valgrind auf Ubuntu explizit installieren?

Soweit ich das lese ist das auch CPU-abhängig?

Weißt du da mehr?

Danke nochmals!

pantomime

Anmeldungsdatum:
20. März 2013

Beiträge: 512

techgamegeek schrieb:

Soweit ich das lese ist das auch CPU-abhängig?

Habe ich auch so verstanden.

techgamegeek schrieb:

Weißt du da mehr?

Nein 🙄.

Antworten |