Valgrind on ARM64, KVM
Hi everyone,
I'm getting mixed results trying to use valgrind on various ARM64
devices. Specifically, it works on my ODROID-C2 (Amlogic SoC with
kernel 3.14.29), and on my APM Xgene system with kernel 4.9.1801,
but not on a Scaleway virtual machine (Cavium ThunderX with kernel
4.9.23, under KVM) [*]. They are all running stretch and valgrind
3.12.0.SVN.
Google reports various issues using KVM/QEMU with valgrind but
I think that's mostly related to running valgrind on the KVM
host, not the guest. Or something.
It would be useful to know whether this works for other people -
especially if anyone is using KVM on ARM64 on another platform.
If a few readers would be kind enough to:
# apt-get install valgrind
$ valgrind ls
and report what happens, that would be wonderful.
[*] The failure mode I see is that it runs forever at 100% CPU.
If I strace the valgrind process - which may or may not be a
sensible thing to do - I see this constantly repeated:
rt_sigprocmask(SIG_SETMASK, ~[], ~[ILL TRAP BUS FPE KILL SEGV STOP], 8) = 0
rt_sigtimedwait(~[], 0x802e9be28, {tv_sec=0, tv_nsec=0}, 8) = -1 EAGAIN (Resource temporarily unavailable)
rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP BUS FPE KILL SEGV STOP], NULL, 8) = 0
gettid() = 20487
gettid() = 20487
write(1029, "P", 1) = 1
gettid() = 20487
read(1028, "P", 1) = 1
gettid() = 20487
Thanks, Phil.
Reply to: