Valgrind(memcheck) not showing all contexts

85 views Asked by At

My last context/error I see in my valgrind output file is...

==3030== 1075 errors in context 61 of 540:
==3030== Syscall param ioctl(SIOCETHTOOL,ir) points to uninitialised byte(s)
==3030==    at 0x7525248: ioctl (syscall-template.S:84)
==3030==    by 0x686A2A7: ??? (in /lib/libpal.so)
==3030==  Address 0x96cf958 is on thread 16's stack
==3030==  Uninitialised value was created by a stack allocation
==3030==    at 0x686A20C: ??? (in /lib/libpal.so)

...but I don't see error contexts 62 - 540. My first thought was maybe in closing the program, valgrind crashed, but after this context it printed the ERROR SUMMARY

ERROR SUMMARY: 9733 errors from 540 contexts (suppressed: 0 from 0)

I don't think it's because we came across a frame without debug info because I can see this exact same issue get hit the first time at the very beginning of my output file. Or maybe the printing of error contexts specifically, is halted when a stacktrace has missing debug info?

Any ideas? Need an additional command line argument for valgrind? I know in helgrind it'll quit after seeing 1000000 errors(something like that) but it explicitly tells you what it's doing.

1

There are 1 answers

0
JoeManiaci On

So for my version of valgrind I also executed helgrind and saw all contexts(647) as expected. I think the problem above is simply a result of valgrind coming across a frame with no debug symbols and saying, "If there's no debug info, I'm moving on"

All of my logs I'm producing end with this same libpal frame at various context numbers 100-something, 200-something, etc.