1
2# Suppressions for Darwin 9.x / Mac OS X 10.5 Leopard
3
4##----------------------------------------------------------------------##
5# Memcheck
6##----------------------------------------------------------------------##
7
8{
9   mach_msg_trap-1
10   Memcheck:Param
11   mach_msg(msg.msgh_remote_port)
12   fun:mach_msg_trap
13   obj:/System/Library/Frameworks/CoreFoundation*
14   obj:/System/Library/Frameworks/ApplicationServices*
15}
16
17{
18   mach_msg_trap-2
19   Memcheck:Param
20   mach_msg(msg.msgh_remote_port)
21   fun:mach_msg_trap
22   obj:/System/Library/Frameworks/CoreFoundation*
23   obj:/System/Library/Frameworks/CoreServices*
24}
25
26{
27   mach_msg_trap-3
28   Memcheck:Param
29   mach_msg(msg.msgh_remote_port)
30   fun:mach_msg_trap
31   obj:/System/Library/Frameworks/CoreFoundation*
32   obj:/System/Library/Frameworks/Carbon*
33}
34
35{
36   mach_msg_trap-4
37   Memcheck:Param
38   mach_msg(msg.msgh_remote_port)
39   fun:mach_msg_trap
40   obj:/System/Library/Frameworks/CoreFoundation*
41   obj:/System/Library/Frameworks/CoreFoundation*
42}
43
44{
45   mach_msg_trap-5
46   Memcheck:Param
47   mach_msg(msg.msgh_remote_port)
48   fun:mach_msg_trap
49   obj:/System/Library/Frameworks/CoreFoundation*
50   obj:/System/Library/Frameworks/AppKit*
51}
52
53{
54   macos-Cond-1
55   Memcheck:Cond
56   fun:GetVariationInfoFromName
57   obj:/System/Library/Frameworks/ApplicationServices*
58   obj:/System/Library/Frameworks/ApplicationServices*
59}
60
61{
62   macos-Cond-2
63   Memcheck:Cond
64   fun:*PMMutex*Lock*
65   obj:/System/Library/Frameworks/ApplicationServices*
66   obj:/System/Library/Frameworks/ApplicationServices*
67}
68
69{
70   macos-Cond-3
71   Memcheck:Cond
72   fun:sseCGSBlendXXXX8888
73   obj:/System/Library/Frameworks/ApplicationServices*
74   obj:/System/Library/Frameworks/ApplicationServices*
75}
76
77{
78   macos-Cond-4
79   Memcheck:Cond
80   fun:*CASettingsStorage*RefreshSettings*
81   obj:/System/Library/Frameworks/CoreAudio*
82   obj:/System/Library/Frameworks/CoreAudio*
83}
84
85{
86   macos-Cond-5
87   Memcheck:Cond
88   fun:gle*
89   obj:/System/Library/Frameworks/OpenGL*
90   obj:/System/Library/Frameworks/OpenGL*
91}
92
93{
94   macos-Cond-6
95   Memcheck:Cond
96   fun:pthread_rwlock_init$UNIX2003
97   fun:main
98}
99
100# afaict this is legit.  Might be caused by setenv("VAR=")
101# where the value string is empty (not sure)
102{
103   macos-Cond-7
104   Memcheck:Cond
105   fun:__setenv
106   fun:putenv*
107}
108
109{
110   macos-futimes-1
111   Memcheck:Param
112   futimes(tvp[1])
113   fun:futimes
114   obj:/usr/lib/libSystem*
115   obj:/usr/lib/libSystem*
116}
117
118{
119   macos-vsyslog-hole
120   Memcheck:Param
121   socketcall.sendto(msg)
122   fun:sendto$NOCANCEL$UNIX2003
123   fun:vsyslog
124}
125
126# Still-reachable memory.
127
128# I chopped this one off at libSystem_initializer, there were more frames.
129{
130   darwin-still-reachable-1
131   Memcheck:Leak
132   fun:calloc
133   fun:dwarf2_unwind_dyld_add_image_hook
134   fun:_ZN4dyld19registerAddCallbackEPFvPK11mach_headerlE
135   fun:_dyld_register_func_for_add_image
136   fun:__keymgr_initializer
137   fun:libSystem_initializer
138}
139
140# I chopped this one off at libSystem_initializer, there were more frames.
141{
142   darwin-still-reachable-2
143   Memcheck:Leak
144   fun:malloc
145   fun:get_or_create_key_element
146   fun:_keymgr_get_and_lock_processwide_ptr_2
147   fun:dwarf2_unwind_dyld_add_image_hook
148   fun:_ZN4dyld19registerAddCallbackEPFvPK11mach_headerlE
149   fun:_dyld_register_func_for_add_image
150   fun:__keymgr_initializer
151   fun:libSystem_initializer
152}
153
154{
155   darwin-still-reachable-3
156   Memcheck:Leak
157   fun:malloc
158   fun:__smakebuf
159   fun:__swsetup
160   fun:__sfvwrite
161   fun:puts
162}
163
164# Genuine leaks.
165# See https://bugs.kde.org/show_bug.cgi?id=188572 about this;  it's
166# unavoidable due to BSD setenv() semantics.
167{
168   macos-__setenv-leak-see-our-bug-188572
169   Memcheck:Leak
170   fun:malloc_zone_malloc
171   fun:__setenv
172   fun:setenv$UNIX2003
173}
174{
175   macos-localeconv-leak
176   Memcheck:Leak
177   fun:malloc
178   fun:localeconv_l
179   fun:__vfprintf
180   fun:vsnprintf
181}
182
183{
184   macos-TFontFeatures::TFontFeatures(unsigned long)-uninitialised-stack-val
185   Memcheck:Cond
186   fun:_ZN13TFontFeaturesC2Em
187   fun:_ZNK9TBaseFont12CopyFeaturesEv
188}
189
190# Conditional jump or move depends on uninitialised value(s)
191#    at 0x4E5CD59: _DPSNextEvent (in /System/Library/Frameworks
192#                  /AppKit.framework/Versions/C/AppKit)
193#    by 0x4E5BF87: -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
194#                  (in /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
195#    by 0x4E54F9E: -[NSApplication run] (in /System/Library/Frameworks
196#                  /AppKit.framework/Versions/C/AppKit)
197#  Uninitialised value was created by a stack allocation
198#    at 0x4E5C450: _DPSNextEvent (in /System/Library/Frameworks
199#                                    /AppKit.framework/Versions/C/AppKit)
200{
201   macos-_DPSNextEvent-stack-allocated-uninit
202   Memcheck:Cond
203   fun:_DPSNextEvent
204}
205
206
207##----------------------------------------------------------------------##
208# Helgrind
209##----------------------------------------------------------------------##
210
211# These ones were necessary to give no errors on a tiny non-threaded
212# program.  I don't know if they're real problems or false positives (njn).
213
214# keymgr seems to deliberately do some bogus actions, and if they are bogus,
215# it passes the error codes back to the caller.
216{
217   __keymgr_initializer lock failed
218   Helgrind:PthAPIerror
219   fun:pthread_mutex_lock
220   fun:_dyld_register_func_for_*_image
221   fun:__keymgr_initializer
222   fun:libSystem_initializer
223}
224{
225   __keymgr_initializer unlock failed
226   Helgrind:PthAPIerror
227   fun:pthread_mutex_unlock
228   fun:_dyld_register_func_for_*_image
229   fun:__keymgr_initializer
230   fun:libSystem_initializer
231}
232{
233   __keymgr_initializer bogus unlock
234   Helgrind:UnlockBogus
235   fun:pthread_mutex_unlock
236   fun:_dyld_register_func_for_*_image
237   fun:__keymgr_initializer
238   fun:libSystem_initializer
239}
240
241# These ones were necessary to give no errors on a tiny threaded program.
242# I don't know if they're real problems or false positives (njn).
243
244#{
245#   helgrind-darwinlibc-nuke-everything-in-dyld
246#   Helgrind:Race
247#   obj:/usr/lib/dyld
248#}
249
250{
251   helgrind-darwinlibc-nuke-everything-in-libSystem.B.dylib
252   Helgrind:Race
253   obj:/usr/lib/libSystem.B.dylib
254}
255
256# This would be better as "fun:\?\?\?" but string matching doesn't seem to
257# allow escaping meta-chars.
258#
259# This is very bad .. not only will it hide races in any
260# un-identified piece of code, the ??? also matches any 3-char
261# function name.
262{
263   helgrind-darwinlibc-nuke-everything-in-???-(unknown-code)
264   Helgrind:Race
265   fun:???
266}
267
268{
269   helgrind-darwinlibc--mythread_wrapper-*thread*start*
270   Helgrind:Race
271   fun:mythread_wrapper
272   fun:*thread*start*
273}
274
275{
276   helgrind-darwinlibc--pthread_create_WRK-pthread_create
277   Helgrind:Race
278   fun:pthread_create_WRK
279   fun:pthread_create
280}
281
282
283# Thread #9: Bug in libpthread: recursive write lock granted on 
284#            mutex/wrlock which does not support recursion
285#  at 0x18696: pthread_cond_wait* (hg_intercepts.c:655)
286#  by 0x2300B8: pthread_rwlock_wrlock$UNIX2003 (in /usr/lib/libSystem.B.dylib)
287#  by 0x18F41: pthread_rwlock_wrlock* (hg_intercepts.c:1177)
288#
289# no idea what this is about
290#
291{
292   helgrind-darwin9--pthread-rwlock-kludgery
293   Helgrind:Misc
294   fun:pthread_cond_wait*
295   fun:pthread_rwlock_*lock*
296   fun:pthread_rwlock_*lock*
297}
298