Valgrind“Unsupported arch_prctl选项”

3
我有一个程序,我知道它存在一些奇怪的内存问题,所以我求助于Valgrind。然而,我得到了下面这个神秘的输出:
==32006== Memcheck, a memory error detector
==32006== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==32006== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==32006== Command: ./012
==32006== Parent PID: 29454
==32006== 

valgrind: the 'impossible' happened:
   Unsupported arch_prctl option

host stacktrace:
==32006==    at 0x580441BA: show_sched_status_wrk (m_libcassert.c:355)
==32006==    by 0x580442D4: report_and_quit (m_libcassert.c:426)
==32006==    by 0x58044517: panic (m_libcassert.c:502)
==32006==    by 0x58044517: vgPlain_core_panic_at (m_libcassert.c:507)
==32006==    by 0x5804454A: vgPlain_core_panic (m_libcassert.c:512)
==32006==    by 0x580DAE22: vgSysWrap_amd64_linux_sys_arch_prctl_before (syswrap-amd64-linux.c:286)
==32006==    by 0x580A0C23: vgPlain_client_syscall (syswrap-main.c:1857)
==32006==    by 0x5809D48A: handle_syscall (scheduler.c:1126)
==32006==    by 0x5809EBB6: vgPlain_scheduler (scheduler.c:1443)
==32006==    by 0x580AED50: thread_wrapper (syswrap-linux.c:103)
==32006==    by 0x580AED50: run_a_thread_NORETURN (syswrap-linux.c:156)

sched status:
  running_tid=1

Thread 1: status = VgTs_Runnable (lwpid 32006)
==32006==    at 0x401A1C5: ??? (in /usr/lib/ld-2.28.so)
==32006==    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.

我正在尝试诊断的原始错误是,在尝试根据std::vector中的值将uint64_t插入到std::set时发生(没有指针参与)。


1
如果你在谷歌上搜索“valgrind arch_prctl unsupport option”或类似的内容,你会看到关于它的错误报告。听起来像是你的内核版本太旧了,无法运行该版本的valgrind。我不知道是否已经发布了官方的valgrind更新程序来修复这个问题。 - Shawn
3
Archlinux Bug:此问题是由于桌面环境(KDE)中的一个错误导致的,当以非英文方式输入密码时,可能会导致无法解锁屏幕。 目前没有已知的解决方法,但是对于那些遭受此问题的人来说,有一种解决方法是在使用非英文语言环境时改用控制台登录并在命令行中更改密码。Upstream KDE Bug:此问题是与KDE桌面环境相关的,当用户使用非英文键盘布局输入密码时,在某些情况下可能导致无法解锁屏幕。已经有人提交了该问题,但尚未找到解决方法。 - David C. Rankin
1个回答

0

尝试从AUR安装valgrind-git软件包,可能会起作用


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接