So valgrind was running fine a while ago when I last used it. Now, it is crashing whenever it is invoked from the shell with any combination of arguments and with any programs, displaying the following message : $ valgrind -v --leak-check=full ./a.out ==30222== Memcheck, a memory error detector ==30222== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==30222== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==30222== Command: ./a.out ==30222== --30222-- Valgrind options: --30222-- -v --30222-- --leak-check=full --30222-- Contents of /proc/version: --30222-- Linux version 4.17.14-zen1-1-zen (builduser@heftig-3680) (gcc version 8.2.0 (GCC)) #1 ZEN SMP PREEMPT Thu Aug 9 11:56:59 UTC 2018 --30222-- --30222-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-avx-avx2-bmi --30222-- Page sizes: currently 4096, max supported 4096 --30222-- Valgrind library directory: /usr/lib/valgrind --30222-- Reading syms from /mnt/Programs/CodeChef/a.out --30222-- ELF section outside all mapped regions --30222-- Reading syms from /usr/lib/ld-2.28.so --30222-- ELF section outside all mapped regions --30222-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux --30222-- object doesn't have a dynamic symbol table --30222-- Scheduler: using generic scheduler lock implementation. --30222-- Reading suppressions file: /usr/lib/valgrind/default.supp ==30222== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-30222-by-iamsubhranil-on-??? ==30222== embedded gdbserver: writing to /tmp/vgdb-pipe-to-vgdb-from-30222-by-iamsubhranil-on-??? ==30222== embedded gdbserver: shared mem /tmp/vgdb-pipe-shared-mem-vgdb-30222-by-iamsubhranil-on-??? ==30222== ==30222== TO CONTROL THIS PROCESS USING vgdb (which you probably ==30222== don't want to do, unless you know exactly what you're doing, ==30222== or are doing some strange experiment): ==30222== /usr/lib/valgrind/../../bin/vgdb --pid=30222 ...command... ==30222== ==30222== TO DEBUG THIS PROCESS USING GDB: start GDB like this ==30222== /path/to/gdb ./a.out ==30222== and then give GDB the following command ==30222== target remote | /usr/lib/valgrind/../../bin/vgdb --pid=30222 ==30222== --pid is optional if only one valgrind process is running ==30222== valgrind: the 'impossible' happened: Unsupported arch_prctl option host stacktrace: ==30222== at 0x580441BA: show_sched_status_wrk (m_libcassert.c:355) ==30222== by 0x580442D4: report_and_quit (m_libcassert.c:426) ==30222== by 0x58044517: panic (m_libcassert.c:502) ==30222== by 0x58044517: vgPlain_core_panic_at (m_libcassert.c:507) ==30222== by 0x5804454A: vgPlain_core_panic (m_libcassert.c:512) ==30222== by 0x580DAE22: vgSysWrap_amd64_linux_sys_arch_prctl_before (syswrap-amd64-linux.c:286) ==30222== by 0x580A0C23: vgPlain_client_syscall (syswrap-main.c:1857) ==30222== by 0x5809D48A: handle_syscall (scheduler.c:1126) ==30222== by 0x5809EBB6: vgPlain_scheduler (scheduler.c:1443) ==30222== by 0x580AED50: thread_wrapper (syswrap-linux.c:103) ==30222== by 0x580AED50: run_a_thread_NORETURN (syswrap-linux.c:156) sched status: running_tid=1 Thread 1: status = VgTs_Runnable (lwpid 30222) ==30222== at 0x401A1C5: ??? (in /usr/lib/ld-2.28.so) ==30222== by 0xBFEBFBFE: ??? Note: see also the FAQ in the source distribution. It contains workarounds to several common problems. In particular, if Valgrind aborted or crashed after identifying problems in your program, there's a good chance that fixing those problems will prevent Valgrind aborting or crashing, especially if it happened in m_mallocfree.c. If that doesn't help, please report this bug to: www.valgrind.org In the bug report, send all the above text, the valgrind version, and what OS and version you are using. Thanks. $ uname -a Linux BestFriend 4.17.14-zen1-1-zen #1 ZEN SMP PREEMPT Thu Aug 9 11:56:59 UTC 2018 x86_64 GNU/Linux The problem is fully reproducible under all circumstances in my computer. I'm using Arch Linux.
*** This bug has been marked as a duplicate of bug 397012 ***
*** This bug has been marked as a duplicate of bug 396887 ***