https://bugs.kde.org/show_bug.cgi?id=444399
Bug ID: 444399 Summary: disInstr(arm64): unhandled instruction 0xC87F2D89 Product: valgrind Version: unspecified Platform: Other OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: memcheck Assignee: jsew...@acm.org Reporter: pf...@pnkfx.org Target Milestone: --- SUMMARY I tried to run valgrind on the following Rust program on AArch64: ```rust fn main() { let _n = std::time::Instant::now(); } ``` I ran `valgrind` with no flags, just ` /usr/local/bin/valgrind ./target/debug/instant`, and got the error: ``` /usr/local/bin/valgrind ./target/debug/instant ==16560== Memcheck, a memory error detector ==16560== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==16560== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info ==16560== Command: ./target/debug/instant ==16560== ARM64 front end: load_store disInstr(arm64): unhandled instruction 0xC87F2D89 disInstr(arm64): 1100'1000 0111'1111 0010'1101 1000'1001 ==16560== valgrind: Unrecognised instruction at address 0x11ffa8. ==16560== at 0x11FFA8: std::time::Instant::now (atomic.rs:2574) ==16560== by 0x10EB7B: instant::main (main.rs:2) ==16560== by 0x10ECA3: core::ops::function::FnOnce::call_once (function.rs:227) ==16560== by 0x10EC23: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125) ==16560== by 0x10ED83: std::rt::lang_start::{{closure}} (rt.rs:63) ==16560== by 0x12219F: std::rt::lang_start_internal (function.rs:259) ==16560== by 0x10ED4B: std::rt::lang_start (rt.rs:62) ==16560== by 0x10EBB7: main (in /local/home/pnkfelix/instant/target/debug/instant) ==16560== Your program just tried to execute an instruction that Valgrind ==16560== did not recognise. There are two possible reasons for this. ==16560== 1. Your program has a bug and erroneously jumped to a non-code ==16560== location. If you are running Memcheck and you just saw a ==16560== warning about a bad jump, it's probably your program's fault. ==16560== 2. The instruction is legitimate but Valgrind doesn't handle it, ==16560== i.e. it's Valgrind's fault. If you think this is the case or ==16560== you are not sure, please let us know and we'll try to fix it. ==16560== Either way, Valgrind will now raise a SIGILL signal which will ==16560== probably kill your program. ``` OBSERVED RESULT A disInstr failure EXPECTED RESULT Program runs with no instructions unhandled. SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION -- You are receiving this mail because: You are watching all bug changes.