Bug 397521 - valgrind: the 'impossible' happened: Unsupported arch_prctl option
Summary: valgrind: the 'impossible' happened: Unsupported arch_prctl option
Status: RESOLVED DUPLICATE of bug 396887
Alias: None
Product: valgrind
Classification: Developer tools
Component: general (show other bugs)
Version: 3.13.0
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-08-16 12:41 UTC by Subhranil Mukherjee
Modified: 2018-08-16 13:44 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Subhranil Mukherjee 2018-08-16 12:41:42 UTC
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.
Comment 1 Tom Hughes 2018-08-16 13:42:13 UTC

*** This bug has been marked as a duplicate of bug 397012 ***
Comment 2 Tom Hughes 2018-08-16 13:44:06 UTC

*** This bug has been marked as a duplicate of bug 396887 ***