[Bug 1027977] Re: strstr() function produces wrong results under valgrind callgrind

Ubuntu Foundation's Bug Bot 1027977 at bugs.launchpad.net
Fri Jul 27 16:27:25 UTC 2012


The attachment "adapted version of upstream patch" of this bug report
has been identified as being a patch.  The ubuntu-reviewers team has
been subscribed to the bug report so that they can review the patch.  In
the event that this is in fact not a patch you can resolve this
situation by removing the tag 'patch' from the bug report and editing
the attachment so that it is not flagged as a patch.  Additionally, if
you are member of the ubuntu-reviewers team please also unsubscribe the
team from this bug report.

[This is an automated message performed by a Launchpad user owned by
Brian Murray.  Please contact him regarding any issues with the action
taken in this bug report.]

** Tags added: patch

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to valgrind in Ubuntu.
https://bugs.launchpad.net/bugs/1027977

Title:
  strstr() function produces wrong results under valgrind callgrind

Status in Valgrind:
  Fix Released
Status in “valgrind” package in Ubuntu:
  Confirmed

Bug description:
  $valgrind --version
  valgrind-3.7.0

  When an application that uses the strstr() function from the C standard library is profiled with valgrind --tool=callgrind, the strstr() function produces false results (at least) under the following conditions:
  * the string s1 to search in and the string s2 to search for are exact duplicates, that is strcmp(s1,s2)==0. s1 and s2 don't need to be pointing to the same memory object.
  * the string length (excluding terminating zero) is a multiple of 16

  Expected result: strstr(s1,s2) returns s1, indicating a match at the first charactor of s1
  What happens: strstr(s1,s2) returns NULL, indicating no matching substring was found.

  See attached minimal testcase for an example. Reproduce under Ubuntu 12.04 with the following steps:
  $gcc strstrtest.c -o strstrtest
  $./ strstrtest    # <-- should report no errors
  $valgrind --tool=callgrind ./ strstrtest  # <-- should report errors for lengths multiple of 16

  - The Problem does not show up under valgrind-3.6.0.SVN-Debian from Ubuntu 10.04 Lucid Lynx
  - The Problem does not show up under tool=memcheck.

  Some more info:
  OS: Ubuntu 12.04 Precise Pangolin
  $uname -a
  Linux mhassert 3.2.0-26-generic #41-Ubuntu SMP Thu Jun 14 17:49:24 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

To manage notifications about this bug go to:
https://bugs.launchpad.net/valgrind/+bug/1027977/+subscriptions




More information about the foundations-bugs mailing list