I've just hit this issue with 14.04 Trusty amd64 and like Adam, "valgrind ls" works but "valgrind ./a.out" for the (simple) C++ program I was working with (that demonstrates layout of objects in memory) induces the same "strlen" failure message.
I tried to reproduce a minimal test case and couldn't and then realised the reason for the message:
At one point I'd built the binary for 32-bit architecture using
g++ -m32 ....
Building for native 64-bit doesn't induce the issue, so the problem appears to lie in the multilib support.
I've just hit this issue with 14.04 Trusty amd64 and like Adam, "valgrind ls" works but "valgrind ./a.out" for the (simple) C++ program I was working with (that demonstrates layout of objects in memory) induces the same "strlen" failure message.
I tried to reproduce a minimal test case and couldn't and then realised the reason for the message:
At one point I'd built the binary for 32-bit architecture using
g++ -m32 ....
Building for native 64-bit doesn't induce the issue, so the problem appears to lie in the multilib support.