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