summaryrefslogtreecommitdiff
path: root/darwin9.supp
blob: f7769c7c5bfd5abbaa1d73cf3527625584b4bc1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297

# Suppressions for Darwin 9.x / Mac OS X 10.5 Leopard

##----------------------------------------------------------------------##
# Memcheck
##----------------------------------------------------------------------##

{
   mach_msg_trap-1
   Memcheck:Param
   mach_msg(msg.msgh_remote_port)
   fun:mach_msg_trap
   obj:/System/Library/Frameworks/CoreFoundation*
   obj:/System/Library/Frameworks/ApplicationServices*
}

{
   mach_msg_trap-2
   Memcheck:Param
   mach_msg(msg.msgh_remote_port)
   fun:mach_msg_trap
   obj:/System/Library/Frameworks/CoreFoundation*
   obj:/System/Library/Frameworks/CoreServices*
}

{
   mach_msg_trap-3
   Memcheck:Param
   mach_msg(msg.msgh_remote_port)
   fun:mach_msg_trap
   obj:/System/Library/Frameworks/CoreFoundation*
   obj:/System/Library/Frameworks/Carbon*
}

{
   mach_msg_trap-4
   Memcheck:Param
   mach_msg(msg.msgh_remote_port)
   fun:mach_msg_trap
   obj:/System/Library/Frameworks/CoreFoundation*
   obj:/System/Library/Frameworks/CoreFoundation*
}

{
   mach_msg_trap-5
   Memcheck:Param
   mach_msg(msg.msgh_remote_port)
   fun:mach_msg_trap
   obj:/System/Library/Frameworks/CoreFoundation*
   obj:/System/Library/Frameworks/AppKit*
}

{
   macos-Cond-1
   Memcheck:Cond
   fun:GetVariationInfoFromName
   obj:/System/Library/Frameworks/ApplicationServices*
   obj:/System/Library/Frameworks/ApplicationServices*
}

{
   macos-Cond-2
   Memcheck:Cond
   fun:*PMMutex*Lock*
   obj:/System/Library/Frameworks/ApplicationServices*
   obj:/System/Library/Frameworks/ApplicationServices*
}

{
   macos-Cond-3
   Memcheck:Cond
   fun:sseCGSBlendXXXX8888
   obj:/System/Library/Frameworks/ApplicationServices*
   obj:/System/Library/Frameworks/ApplicationServices*
}

{
   macos-Cond-4
   Memcheck:Cond
   fun:*CASettingsStorage*RefreshSettings*
   obj:/System/Library/Frameworks/CoreAudio*
   obj:/System/Library/Frameworks/CoreAudio*
}

{
   macos-Cond-5
   Memcheck:Cond
   fun:gle*
   obj:/System/Library/Frameworks/OpenGL*
   obj:/System/Library/Frameworks/OpenGL*
}

{
   macos-Cond-6
   Memcheck:Cond
   fun:pthread_rwlock_init$UNIX2003
   fun:main
}

# afaict this is legit.  Might be caused by setenv("VAR=")
# where the value string is empty (not sure)
{
   macos-Cond-7
   Memcheck:Cond
   fun:__setenv
   fun:putenv*
}

{
   macos-futimes-1
   Memcheck:Param
   futimes(tvp[1])
   fun:futimes
   obj:/usr/lib/libSystem*
   obj:/usr/lib/libSystem*
}

{
   macos-vsyslog-hole
   Memcheck:Param
   socketcall.sendto(msg)
   fun:sendto$NOCANCEL$UNIX2003
   fun:vsyslog
}

# Still-reachable memory.

# I chopped this one off at libSystem_initializer, there were more frames.
{
   darwin-still-reachable-1
   Memcheck:Leak
   fun:calloc
   fun:dwarf2_unwind_dyld_add_image_hook
   fun:_ZN4dyld19registerAddCallbackEPFvPK11mach_headerlE
   fun:_dyld_register_func_for_add_image
   fun:__keymgr_initializer
   fun:libSystem_initializer
}

# I chopped this one off at libSystem_initializer, there were more frames.
{
   darwin-still-reachable-2
   Memcheck:Leak
   fun:malloc
   fun:get_or_create_key_element
   fun:_keymgr_get_and_lock_processwide_ptr_2
   fun:dwarf2_unwind_dyld_add_image_hook
   fun:_ZN4dyld19registerAddCallbackEPFvPK11mach_headerlE
   fun:_dyld_register_func_for_add_image
   fun:__keymgr_initializer
   fun:libSystem_initializer
}

{
   darwin-still-reachable-3
   Memcheck:Leak
   fun:malloc
   fun:__smakebuf
   fun:__swsetup
   fun:__sfvwrite
   fun:puts
}

# Genuine leaks.
# See https://bugs.kde.org/show_bug.cgi?id=188572 about this;  it's
# unavoidable due to BSD setenv() semantics.
{
   macos-__setenv-leak-see-our-bug-188572
   Memcheck:Leak
   fun:malloc_zone_malloc
   fun:__setenv
   fun:setenv$UNIX2003
}
{
   macos-localeconv-leak
   Memcheck:Leak
   fun:malloc
   fun:localeconv_l
   fun:__vfprintf
   fun:vsnprintf
}

{
   macos-TFontFeatures::TFontFeatures(unsigned long)-uninitialised-stack-val
   Memcheck:Cond
   fun:_ZN13TFontFeaturesC2Em
   fun:_ZNK9TBaseFont12CopyFeaturesEv
}

# Conditional jump or move depends on uninitialised value(s)
#    at 0x4E5CD59: _DPSNextEvent (in /System/Library/Frameworks
#                  /AppKit.framework/Versions/C/AppKit)
#    by 0x4E5BF87: -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
#                  (in /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
#    by 0x4E54F9E: -[NSApplication run] (in /System/Library/Frameworks
#                  /AppKit.framework/Versions/C/AppKit)
#  Uninitialised value was created by a stack allocation
#    at 0x4E5C450: _DPSNextEvent (in /System/Library/Frameworks
#                                    /AppKit.framework/Versions/C/AppKit)
{
   macos-_DPSNextEvent-stack-allocated-uninit
   Memcheck:Cond
   fun:_DPSNextEvent
}


##----------------------------------------------------------------------##
# Helgrind
##----------------------------------------------------------------------##

# These ones were necessary to give no errors on a tiny non-threaded
# program.  I don't know if they're real problems or false positives (njn).

# keymgr seems to deliberately do some bogus actions, and if they are bogus,
# it passes the error codes back to the caller.
{
   __keymgr_initializer lock failed
   Helgrind:PthAPIerror
   fun:pthread_mutex_lock
   fun:_dyld_register_func_for_*_image
   fun:__keymgr_initializer
   fun:libSystem_initializer
}
{
   __keymgr_initializer unlock failed
   Helgrind:PthAPIerror
   fun:pthread_mutex_unlock
   fun:_dyld_register_func_for_*_image
   fun:__keymgr_initializer
   fun:libSystem_initializer
}
{
   __keymgr_initializer bogus unlock
   Helgrind:UnlockBogus
   fun:pthread_mutex_unlock
   fun:_dyld_register_func_for_*_image
   fun:__keymgr_initializer
   fun:libSystem_initializer
}

# These ones were necessary to give no errors on a tiny threaded program.
# I don't know if they're real problems or false positives (njn).

#{
#   helgrind-darwinlibc-nuke-everything-in-dyld
#   Helgrind:Race
#   obj:/usr/lib/dyld
#}

{
   helgrind-darwinlibc-nuke-everything-in-libSystem.B.dylib
   Helgrind:Race
   obj:/usr/lib/libSystem.B.dylib
}

# This would be better as "fun:\?\?\?" but string matching doesn't seem to
# allow escaping meta-chars.
#
# This is very bad .. not only will it hide races in any
# un-identified piece of code, the ??? also matches any 3-char
# function name.
{
   helgrind-darwinlibc-nuke-everything-in-???-(unknown-code)
   Helgrind:Race
   fun:???
}

{
   helgrind-darwinlibc--mythread_wrapper-*thread*start*
   Helgrind:Race
   fun:mythread_wrapper
   fun:*thread*start*
}

{
   helgrind-darwinlibc--pthread_create_WRK-pthread_create
   Helgrind:Race
   fun:pthread_create_WRK
   fun:pthread_create
}


# Thread #9: Bug in libpthread: recursive write lock granted on 
#            mutex/wrlock which does not support recursion
#  at 0x18696: pthread_cond_wait* (hg_intercepts.c:655)
#  by 0x2300B8: pthread_rwlock_wrlock$UNIX2003 (in /usr/lib/libSystem.B.dylib)
#  by 0x18F41: pthread_rwlock_wrlock* (hg_intercepts.c:1177)
#
# no idea what this is about
#
{
   helgrind-darwin9--pthread-rwlock-kludgery
   Helgrind:Misc
   fun:pthread_cond_wait*
   fun:pthread_rwlock_*lock*
   fun:pthread_rwlock_*lock*
}