Bug 344702 - Fix missing libobjc suppressions on OS X 10.10
Summary: Fix missing libobjc suppressions on OS X 10.10
Status: RESOLVED FIXED
Alias: None
Product: valgrind
Classification: Developer tools
Component: general (show other bugs)
Version: 3.10 SVN
Platform: macOS (DMG) macOS
: NOR normal
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
: 344543 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-03-01 12:28 UTC by Rhys Kidd
Modified: 2015-05-01 09:11 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rhys Kidd 2015-03-01 12:28:09 UTC
OS X 10.10 is missing a number of system library suppressions which have been present on prior OS X systems. These include malloc_zone_malloc() and malloc() related leaks.

This is visible as a number of regressions in the test suite.

Reproducible: Always

Steps to Reproduce:
1. make regtest

Actual Results:  
$ perl tests/vg_regtest memcheck/tests/darwin/env memcheck/tests/leak-cases-possible memcheck/tests/leak-delta memcheck/tests/leak-tree memcheck/tests/long_namespace_xml memcheck/tests/mempool memcheck/tests/nanoleak2 memcheck/tests/nanoleak_supp memcheck/tests/pointer-trace memcheck/tests/recursive-merge memcheck/tests/threadname_xml memcheck/tests/trivialleak memcheck/tests/undef_malloc_args
env:             valgrind   -q --leak-check=full ./env 
*** env failed (stderr) ***
leak-cases-possible: valgrind   -q --leak-check=full --leak-resolution=high --show-possibly-lost=no ./leak-cases
*** leak-cases-possible failed (stderr) *** 
leak-delta:      valgrind   -q --leak-check=yes --show-reachable=yes --leak-resolution=high ./leak-delta
*** leak-delta failed (stderr) *** 
leak-tree:       valgrind   -q --leak-check=full --leak-resolution=high ./leak-tree 
*** leak-tree failed (stderr) ***
long_namespace_xml: valgrind   --xml=yes --xml-fd=2 --log-file=/dev/null ./long_namespace_xml 
*** long_namespace_xml failed (stderr) ***
mempool:         valgrind   -q --leak-check=yes ./mempool 
*** mempool failed (stderr) ***
nanoleak2:       valgrind   --leak-check=yes --gen-suppressions=all --show-reachable=no -q ./nanoleak2
*** nanoleak2 failed (stderr) *** 
nanoleak_supp:   valgrind   --leak-check=yes --suppressions=nanoleak.supp -q ./nanoleak_supp
*** nanoleak_supp failed (stderr) *** 
pointer-trace:   valgrind   -q --leak-check=yes ./pointer-trace
*** pointer-trace failed (stderr) *** 
recursive-merge: valgrind   -q --leak-check=full --merge-recursive-frames=1 ./recursive-merge a aa aaa aaaa abab abca abcda
*** recursive-merge failed (stderr) ***
threadname_xml:  valgrind   --xml=yes --xml-fd=2 --log-file=/dev/null ./threadname
*** threadname_xml failed (stderr) *** 
trivialleak:     valgrind   --leak-check=yes -q ./trivialleak
*** trivialleak failed (stderr) *** 
undef_malloc_args: valgrind   --leak-check=yes -q ./undef_malloc_args
*** undef_malloc_args failed (stderr) *** 

== 13 tests, 13 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==

Expected Results:  
$ perl tests/vg_regtest memcheck/tests/darwin/env memcheck/tests/leak-cases-possible memcheck/tests/leak-delta memcheck/tests/leak-tree memcheck/tests/long_namespace_xml memcheck/tests/mempool memcheck/tests/nanoleak2 memcheck/tests/nanoleak_supp memcheck/tests/pointer-trace memcheck/tests/recursive-merge memcheck/tests/threadname_xml memcheck/tests/trivialleak memcheck/tests/undef_malloc_args
env:             valgrind   -q --leak-check=full ./env 
leak-cases-possible: valgrind   -q --leak-check=full --leak-resolution=high --show-possibly-lost=no ./leak-cases 
leak-delta:      valgrind   -q --leak-check=yes --show-reachable=yes --leak-resolution=high ./leak-delta 
leak-tree:       valgrind   -q --leak-check=full --leak-resolution=high ./leak-tree 
long_namespace_xml: valgrind   --xml=yes --xml-fd=2 --log-file=/dev/null ./long_namespace_xml 
mempool:         valgrind   -q --leak-check=yes ./mempool 
nanoleak2:       valgrind   --leak-check=yes --gen-suppressions=all --show-reachable=no -q ./nanoleak2 
nanoleak_supp:   valgrind   --leak-check=yes --suppressions=nanoleak.supp -q ./nanoleak_supp 
pointer-trace:   valgrind   -q --leak-check=yes ./pointer-trace 
recursive-merge: valgrind   -q --leak-check=full --merge-recursive-frames=1 ./recursive-merge a aa aaa aaaa abab abca abcda
threadname_xml:  valgrind   --xml=yes --xml-fd=2 --log-file=/dev/null ./threadname 
trivialleak:     valgrind   --leak-check=yes -q ./trivialleak 
undef_malloc_args: valgrind   --leak-check=yes -q ./undef_malloc_args 

== 13 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
Comment 1 Rhys Kidd 2015-03-01 13:24:15 UTC
Partial fix in r14972.
Comment 2 Mark Wielaard 2015-05-01 09:11:31 UTC
*** Bug 344543 has been marked as a duplicate of this bug. ***