I wanted to run my tests under sgcheck, but sgcheck reported multiple warnings and exited on failed assertion. $ valgrind --version valgrind-3.13.0 $ cat /etc/centos-release CentOS 7.6.1810 $ uname -a Linux localhost.localdomain 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ gcc --version gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36) $ valgrind --tool=exp-sgcheck ./tests ==26869== exp-sgcheck, a stack and global array overrun detector ==26869== NOTE: This is an Experimental-Class Valgrind Tool ==26869== Copyright (C) 2003-2017, and GNU GPL'd, by OpenWorks Ltd et al. ==26869== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==26869== Command: ./tests ==26869== --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 --26869-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 exp-sgcheck: sg_main.c:559 (add_blocks_to_StackTree): Assertion '!already_present' failed. host stacktrace: ==26869== at 0x5801468D: ??? (in /usr/lib64/valgrind/exp-sgcheck-amd64-linux) ==26869== by 0x580147A4: ??? (in /usr/lib64/valgrind/exp-sgcheck-amd64-linux) ==26869== by 0x58014931: ??? (in /usr/lib64/valgrind/exp-sgcheck-amd64-linux) ==26869== by 0x5800B180: ??? (in /usr/lib64/valgrind/exp-sgcheck-amd64-linux) ==26869== by 0x5800C0A9: ??? (in /usr/lib64/valgrind/exp-sgcheck-amd64-linux) ==26869== by 0x100B513E59: ??? ==26869== by 0x1003B17F2F: ??? sched status: running_tid=1 Thread 1: status = VgTs_Runnable (lwpid 26869) ==26869== at 0x4006516: _dl_map_object_from_fd (dl-load.c:1350) ==26869== by 0x4008575: _dl_map_object (dl-load.c:2400) ==26869== by 0x400130D: map_doit (rtld.c:581) ==26869== by 0x400F703: _dl_catch_error (dl-error.c:177) ==26869== by 0x4001DE9: handle_ld_preload (rtld.c:765) ==26869== by 0x40042A1: dl_main (rtld.c:1606) ==26869== by 0x4017F2D: _dl_sysdep_start (dl-sysdep.c:244) ==26869== by 0x4001BB0: _dl_start (rtld.c:400) ==26869== by 0x4001127: ??? (in /usr/lib64/ld-2.17.so) ==26869== by 0x1: ??? ==26869== by 0x1FFF00000A: ??? ==26869== by 0x1FFF00002D: ??? 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.
See bug 255603. This is (supposed to be) solved in valgrind >= 3.14. Please upgrade your valgrind (it is easy to compile from source) and verify it is working for you. Thanks *** This bug has been marked as a duplicate of bug 255603 ***