Hi Sgcheck never got beyond experimental and was removed from Valgrind a few versions ago. My advice is simply to not use it.
A+ Paul > On 4 Aug 2022, at 07:45, Pahome Chen via Valgrind-users > <valgrind-users@lists.sourceforge.net> wrote: > > > Dear all, > > I read the sgcheck’s doc and know it’s a experimental tool, but it seems > found no error even a very simple program. > Does this still work or need to wait for another version? > > Below is from my script and experiment, and fail in > Valgrind-3.8.1/3.9.0/3.10.0/3.11.0/3.12.0 > E.g. > >$ cat test_valgrind.c > #include<stdio.h> > #include<stdlib.h> > int main() > { > int val[10] = {0}; > int tmp = val[1], i = 0; > tmp += val[15]; // array overrun > tmp *= val[20]; // array overrun > for (i=0; i<20; ++i) { int tmp = val[i]; } // array overrun > return 0; > } > > When I run above version of Valgrind mentioned, it always comes out following > message. > > ==11673== exp-sgcheck, a stack and global array overrun detector > ==11673== NOTE: This is an Experimental-Class Valgrind Tool > ==11673== Copyright (C) 2003-2015, and GNU GPL'd, by OpenWorks Ltd et al. > ==11673== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info > ==11673== Command: ./run > ==11673== > > exp-sgcheck: sg_main.c:2332 (sg_instrument_IRStmt): the 'impossible' happened. > > host stacktrace: > ==11673== at 0x3800CC09: show_sched_status_wrk (m_libcassert.c:343) > ==11673== by 0x3800CEF4: report_and_quit (m_libcassert.c:415) > ==11673== by 0x3800D127: vgPlain_assert_fail (m_libcassert.c:481) > ==11673== by 0x38004A03: sg_instrument_IRStmt (sg_main.c:2332) > ==11673== by 0x380003B3: h_instrument (h_main.c:683) > ==11673== by 0x3802968D: tool_instrument_then_gdbserver_if_needed > (m_translate.c:238) > ==11673== by 0x380D3290: LibVEX_Translate (main_main.c:934) > ==11673== by 0x380271BF: vgPlain_translate (m_translate.c:1765) > ==11673== by 0x3805F857: vgPlain_scheduler (scheduler.c:1048) > ==11673== by 0x38090445: run_a_thread_NORETURN (syswrap-linux.c:102) > > sched status: > running_tid=1 > > Thread 1: status = VgTs_Runnable (lwpid 11673) > ==11673== at 0x40169EA: _dl_runtime_resolve_xsave (in > /usr/lib64/ld-2.17.so) > ==11673== by 0x1B: ??? > ==11673== by 0x40057F: ??? (in /PATH/peihung/test/run) > ==11673== by 0xFFEFFF517: ??? > > > 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. > > My machine environment is Centos7 and x86_64 > > > > > Thanks. > Best regards, > Pahome > > _______________________________________________ > Valgrind-users mailing list > Valgrind-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/valgrind-users
_______________________________________________ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users