tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

x86_64-pc-linux-gnu.sup (40877B)


      1 # Full list is tracked through meta bug 793882
      2 
      3 ####################################
      4 #  Leaks in third party libraries  #
      5 ####################################
      6 
      7 {
      8    Bug 793537
      9    Memcheck:Leak
     10    ...
     11    obj:/usr/lib64/libpango-1.0.so.0.2800.1
     12    ...
     13 }
     14 {
     15    Bug 793598
     16    Memcheck:Leak
     17    ...
     18    obj:/lib64/libdbus-1.so.3.4.0
     19    ...
     20 }
     21 # Fontconfig is going fancy with its cache structure and that confuses valgrind.
     22 # https://bugs.freedesktop.org/show_bug.cgi?id=8215
     23 # https://bugs.freedesktop.org/show_bug.cgi?id=8428
     24 {
     25    Bug 1187649
     26    Memcheck:Leak
     27    match-leak-kinds: definite
     28    fun:realloc
     29    fun:FcPatternObjectInsertElt
     30    ...
     31 }
     32 {
     33    Bug 1187649
     34    Memcheck:Leak
     35    match-leak-kinds: definite
     36    fun:malloc
     37    fun:FcPatternObjectInsertElt
     38    ...
     39 }
     40 {
     41    Bug 1533462 (comment 9)
     42    Memcheck:Leak
     43    match-leak-kinds: definite
     44    fun:malloc
     45    fun:FcNameParseCharSet
     46    fun:FcNameConvert
     47    fun:FcNameParse
     48    ...
     49 }
     50 # With older versions of fontconfig (e.g. 2.8.0 on taskcluster systems),
     51 # there's an uninitialized memory usage and leak when loading app fonts.
     52 {
     53    Bug 1231701
     54    Memcheck:Param
     55    write(buf)
     56    ...
     57    fun:FcDirCacheWrite
     58    fun:FcDirCacheScan
     59    fun:FcConfigAddDirList
     60    ...
     61 }
     62 {
     63    Bug 1231701
     64    Memcheck:Leak
     65    match-leak-kinds: definite
     66    fun:malloc
     67    fun:FcDirScanConfig
     68    fun:FcDirCacheScan
     69    fun:FcConfigAddDirList
     70    ...
     71 }
     72 {
     73    Bug 1231701
     74    Memcheck:Leak
     75    match-leak-kinds: definite
     76    fun:malloc
     77    fun:FcDirScanConfig
     78    fun:FcDirScanConfig
     79    fun:FcDirCacheScan
     80    fun:FcConfigAddDirList
     81    ...
     82 }
     83 {
     84    Bug 1231701
     85    Memcheck:Leak
     86    match-leak-kinds: definite
     87    fun:malloc
     88    fun:FcDirScanConfig
     89    obj:/usr/lib/x86_64-linux-gnu/libfontconfig.so.1.5.0
     90    fun:FcDirCacheScan
     91    fun:FcConfigAddDirList
     92    ...
     93 }
     94 # Leaks due to either Gtk+3 or cairo, but Gecko is not directly involved with
     95 # those cairo interactions.  One suspected cause is Gecko not closing the
     96 # display to work around a bug in old Gtk+3 versions.  See also bug 1228724.
     97 {
     98    Bug 1187649
     99    Memcheck:Leak
    100    match-leak-kinds: definite
    101    fun:malloc
    102    fun:_cairo_freelist_alloc
    103    fun:_cairo_xlib_display_queue_resource
    104    fun:_cairo_xlib_surface_finish
    105    ...
    106 }
    107 # The following leak is deep in Gtk+3, and it doesn't seem we're doing
    108 # anything wrong on our end with the container objects. This suppression
    109 # is purposefully verbose so as to avoid catching actual leaks due to
    110 # Gecko code.
    111 # Note: valgrind doesn't support more than 24 elements in a suppression stack.
    112 {
    113    Bug 1187649
    114    Memcheck:Leak
    115    match-leak-kinds: definite
    116    fun:malloc
    117    fun:g_malloc
    118    fun:g_slice_alloc
    119    fun:g_list_prepend
    120    fun:gtk_combo_box_get_path_for_child
    121    fun:gtk_container_get_path_for_child
    122    fun:gtk_widget_get_path
    123    fun:_gtk_widget_update_path
    124    fun:reset_style_recurse
    125    fun:gtk_widget_reset_style
    126    fun:gtk_widget_set_parent
    127    fun:gtk_combo_box_add
    128    fun:g_cclosure_marshal_VOID__OBJECTv
    129    fun:_g_closure_invoke_va
    130    fun:g_signal_emit_valist
    131    fun:g_signal_emit
    132    fun:gtk_combo_box_constructor
    133    fun:g_object_newv
    134    fun:g_object_new_valist
    135    fun:g_object_new
    136    ...
    137 }
    138 # set_color() in gtkstyle.c of GTK version 3.4.4 only can leak GdkRGBA
    139 # allocations when the theme has transparent colors:
    140 # https://git.gnome.org/browse/gtk+/tree/gtk/deprecated/gtkstyle.c?h=3.4.4#n676
    141 {
    142    Bug 1250704
    143    Memcheck:Leak
    144    match-leak-kinds: definite
    145    fun:malloc
    146    fun:g_malloc
    147    fun:g_slice_alloc
    148    fun:g_slice_copy
    149    fun:boxed_proxy_lcopy_value
    150    fun:gtk_style_context_get_valist
    151    fun:gtk_style_context_get
    152    fun:set_color
    153    fun:gtk_style_update_from_context
    154    fun:gtk_style_constructed
    155    fun:g_object_newv
    156    fun:g_object_new_valist
    157    fun:g_object_new
    158    ...
    159 }
    160 {
    161    Bug 794366
    162    Memcheck:Leak
    163    ...
    164    obj:/usr/lib64/libgtk-x11-2.0.so.0.1800.9
    165    ...
    166 }
    167 {
    168    Bug 794368
    169    Memcheck:Leak
    170    ...
    171    obj:/usr/lib64/libXrandr.so.2.2.0
    172    ...
    173 }
    174 {
    175    Bug 794373
    176    Memcheck:Leak
    177    ...
    178    obj:/lib64/libgobject-2.0.so.0.2200.5
    179    ...
    180 }
    181 {
    182    Bug 966673
    183    Memcheck:Leak
    184    fun:malloc
    185    obj:/lib/x86_64-linux-gnu/libresolv-2.13.so
    186    ...
    187    fun:gaih_inet
    188    fun:getaddrinfo
    189    fun:PR_GetAddrInfoByName
    190    ...
    191 }
    192 {
    193    Bug 979242
    194    Memcheck:Leak
    195    fun:calloc
    196    fun:xcb_connect_to_fd
    197    fun:xcb_connect_to_display_with_auth_info
    198    fun:_XConnectXCB
    199    fun:XOpenDisplay
    200    fun:gdk_display_open
    201    ...
    202 }
    203 {
    204    _g_io_module_get_default
    205    Memcheck:Leak
    206    ...
    207    fun:g_io_module_new
    208    fun:g_io_modules_scan_all_in_directory_with_scope
    209    fun:_g_io_modules_ensure_loaded
    210    fun:_g_io_module_get_default
    211 }
    212 {
    213    dlopen leak triggered by bug 1492121
    214    Memcheck:Leak
    215    match-leak-kinds: definite
    216    fun:malloc
    217    ...
    218    fun:dl_open_worker
    219    fun:_dl_catch_exception
    220    fun:_dl_open
    221    fun:dlopen_doit
    222    fun:_dl_catch_exception
    223    fun:_dl_catch_error
    224    fun:_dlerror_run
    225    ...
    226    fun:dlopen@@GLIBC_*
    227    ...
    228 }
    229 {
    230     gtk leak triggered by bug 1707957. Relatively minor, and seems fixed in newer GTK versions.
    231     Memcheck:Leak
    232     match-leak-kinds: definite
    233     ...
    234     fun:gtk_css_keyframes_new
    235     ...
    236     fun:settings_update_theme
    237     ...
    238 }
    239 {
    240     gtk leaks from not using gdk_display_close because it causes crashes in _gtk_settings_get_style_cascade
    241     Memcheck:Leak
    242     match-leak-kinds: definite
    243     ...
    244     fun:__glXInitialize
    245     fun:GetGLXPrivScreenConfig
    246     fun:glXQueryServerString
    247     fun:epoxy_glx_version
    248     fun:gdk_x11_screen_init_gl
    249     fun:_gdk_x11_screen_update_visuals_for_gl
    250     fun:_gdk_x11_screen_init_visuals
    251     fun:_gdk_x11_screen_new
    252     fun:_gdk_x11_display_open
    253     fun:gdk_display_manager_open_display
    254     fun:_ZN7XREMain15XRE_mainStartupEPb
    255     fun:_ZN7XREMain8XRE_mainEiPPcRKN7mozilla15BootstrapConfigE
    256     fun:_Z8XRE_mainiPPcRKN7mozilla15BootstrapConfigE
    257     fun:do_main
    258     fun:main
    259 }
    260 {
    261     gtk3/X11 leaks x11 child GdkWindow internals (Bug 1864382)
    262     Memcheck:Leak
    263     match-leak-kinds: definite
    264     ...
    265     fun:g_object_new
    266     fun:_gdk_x11_display_create_window_impl
    267     fun:gdk_window_ensure_native
    268     fun:gdk_x11_window_get_xid
    269     fun:_ZN8nsWindow6CreateEP9nsIWidgetRKN7mozilla3gfx12IntRectTypedINS2_17LayoutDevicePixelEEERKNS2_6widget8InitDataE
    270     ...
    271 }
    272 
    273 ###################################
    274 #  Leaks in short lived processes #
    275 ###################################
    276 
    277 {
    278    Bug 984196
    279    Memcheck:Leak
    280    ...
    281    fun:childgltest
    282    ...
    283 }
    284 
    285 #########################################
    286 #  Uninitialised value false positives  #
    287 #########################################
    288 
    289 # This concerns a false positive pertaining to Memcheck's overly-
    290 # conservative instrumentation of CPUID.  See bug 1288618 comments
    291 # 119 through 127.
    292 {
    293    Bug 1288618 comments 119 through 127
    294    Memcheck:Cond
    295    fun:_ZN6SkOptsL4initEv
    296    fun:sk_once_no_arg_adaptor
    297 }
    298 
    299 {
    300    Bug 1288618 comments 119 through 127 part 2
    301    Memcheck:Cond
    302    fun:__get_cpuid
    303    fun:cpuid
    304    fun:_ZN6SkOptsL4initEv
    305    fun:sk_once_no_arg_adaptor
    306 }
    307 
    308 # More stuff to do with CPUID and Skia.  Apparently we could get rid of
    309 # these if we could patch our in-tree Skia, but that's not favoured.
    310 #
    311 # Conditional jump or move depends on uninitialised value(s)
    312 #    at 0xFDD1D97: SkCpu::CacheRuntimeFeatures()
    313 #    by 0xFE8A66E: SkGraphics::Init()
    314 #    by 0xE757308: gfxPlatform::Init()
    315 #    by 0xE75772C: gfxPlatform::GetPlatform()
    316 {
    317    Skia and CPUID, Jan 2017, #1
    318    Memcheck:Cond
    319    fun:_ZN5SkCpu20CacheRuntimeFeaturesEv
    320    fun:_ZN10SkGraphics4InitEv
    321    fun:_ZN11gfxPlatform4InitEv
    322    fun:_ZN11gfxPlatform11GetPlatformEv
    323 }
    324 
    325 # Conditional jump or move depends on uninitialised value(s)
    326 #    at 0xFD5B218: SkOpts::Init()
    327 #    by 0xE757308: gfxPlatform::Init()
    328 #    by 0xE75772C: gfxPlatform::GetPlatform()
    329 #    by 0xF1A3691: mozilla::dom::ContentProcess::Init()
    330 #               or mozilla::dom::ContentChild::RecvSetXPCOMProcessAttributes()
    331 {
    332    Skia and CPUID, Jan 2017, #2
    333    Memcheck:Cond
    334    fun:_ZN6SkOpts4InitEv
    335    fun:_ZN11gfxPlatform4InitEv
    336    fun:_ZN11gfxPlatform11GetPlatformEv
    337    fun:_ZN7mozilla3dom*Content*
    338 }
    339 
    340 # False positives triggered by rust 1.20.0 (at least) builds of stylo.
    341 # See bug 1394696. The diagnosis is an llvm optimization transforming
    342 # `if A && B` to `if B && A` if is can be proven that A is false
    343 # whenever B is uninitialized. Confusing, but valid.
    344 #
    345 # Conditional jump or move depends on uninitialised value(s)
    346 #    at 0x113ED01E: selectors::matching::matches_complex_selector_internal (option.rs:421)
    347 #    by 0x113ECF19: selectors::matching::matches_complex_selector (matching.rs:501)
    348 #    by 0x113EBAC0: <style::selector_map::SelectorMap<style::stylist::Rule>>::get_matching_rules (matching.rs:397)
    349 {
    350   Bug 1394696 Stylo selector, Sept 2017, part 1
    351   Memcheck:Cond
    352   fun:_ZN9selectors8matching33matches_complex_selector_internal*
    353   fun:_ZN9selectors8matching24matches_complex_selector*
    354   ...
    355   fun:_ZN69_$LT$style..selector_map..SelectorMap$LT$style..stylist..Rule$GT$$GT$18get_matching_rules*
    356 }
    357 
    358 # Conditional jump or move depends on uninitialised value(s)
    359 #    at 0x113EFFDE: selectors::matching::matches_complex_selector_internal (option.rs:421)
    360 #    by 0x113EFED9: selectors::matching::matches_complex_selector (matching.rs:501)
    361 #    by 0x113DFE55: style::stylist::Stylist::match_revalidation_selectors::{{closure}} (matching.rs:397)
    362 {
    363   Bug 1394696 Stylo selector, Sept 2017, part 2
    364   Memcheck:Cond
    365   fun:_ZN9selectors8matching33matches_complex_selector_internal*
    366   fun:_ZN9selectors8matching24matches_complex_selector*
    367   ...
    368   fun:_ZN5style9traversal13compute_style*
    369   fun:recalc_style_at<style::gecko::wrapper::GeckoElement,style::gecko::traversal::RecalcStyleOnly,closure>
    370 }
    371 
    372 # Similar issue triggered by rust 1.23.0 on builds of stylo.
    373 #
    374 # at 0x11819B3E: std::sync::once::Once::call_once::{{closure}} (raw_vec.rs:225)
    375 # by 0x118FDCCC: std::sync::once::Once::call_inner (once.rs:341)
    376 # by 0x1139C761: UnknownInlinedFun (once.rs:228)
    377 {
    378   Bug 1418083 Servo::TraverseSubtree, January 2018
    379   Memcheck:Cond
    380   fun:*ZN3std4sync4once4Once9call_once*
    381   fun:*ZN3std4sync4once4Once10call_inner*
    382   ...
    383   fun:Servo_TraverseSubtree
    384 }
    385 
    386 # Issue triggered by rust 1.23.0 on builds of stylo.
    387 {
    388   Bug 1418083 SelectorList::parse, January 2018
    389   Memcheck:Cond
    390   fun:_ZN36_$LT$smallvec..SmallVec*
    391   fun:_ZN52_$LT$selectors..parser..SelectorList*
    392 }
    393 
    394 # Conditional jump or move depends on uninitialised value(s)
    395 #    at 0x118720EA: <core::slice::Iter<'a, T> as core::iter::iterator::Iterator>::all::{{closure}} (mod.rs:1173)
    396 #    by 0x11871EF6: style::media_queries::MediaList::evaluate (mod.rs:1277)
    397 {
    398   Bug 1430608 nsMediaFeatures, January 2018
    399 	Memcheck:Cond
    400 	fun:_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all*
    401 	fun:_ZN5style13media_queries9MediaList8evaluate*
    402 }
    403 
    404 # Several issues triggered by enabling stylo-chrome.
    405 
    406 # Conditional jump or move depends on uninitialised value(s)
    407 #    at 0x11F88693: style::properties::LonghandId::parse_value (heap.rs:0)
    408 #    by 0x1203BBAB: style::properties::UnparsedValue::substitute_variables (parser.rs:594)
    409 #    by 0x11CFCE33: style::properties::cascade (properties.rs:135672)
    410 {
    411   Bug 1437796 LonghandId::parse_value, January 2018
    412   Memcheck:Cond
    413   fun:_ZN5style10properties10LonghandId11parse_value*
    414   fun:_ZN5style10properties13UnparsedValue20substitute_variables*
    415   fun:_ZN5style10properties7cascade*
    416 }
    417 
    418 # Conditional jump or move depends on uninitialised value(s)
    419 #    at 0x11DF7AF6: <smallvec::SmallVec<A>>::grow (raw_vec.rs:0)
    420 #    by 0x11DF6ED0: Servo_InvalidateStyleForDocStateChanges (lib.rs:475)
    421 #    by 0x10394B7E: mozilla::ServoStyleSet::InvalidateStyleForDocumentStateChanges(mozilla::EventStates) (ServoStyleSet.cpp:248)
    422 {
    423    Bug 1437796 SmallVec::grow in Servo_InvalidateStyleForDocStateChanges, January 2018
    424    Memcheck:Cond
    425    fun:_ZN36_$LT$smallvec..SmallVec$LT$A$GT$$GT$4grow*
    426    fun:Servo_InvalidateStyleForDocStateChanges
    427    fun:_ZN7mozilla13ServoStyleSet38InvalidateStyleForDocumentStateChangesENS_11EventStatesE
    428 }
    429 
    430 
    431 ##############################################################################
    432 ## BEGIN suppressions for Stylo as compiled by rustc 1.25.0
    433 # Even more similar issues, resulting from transitioning to rustc 1.25.0.
    434 # See bug 1447137.
    435 
    436 
    437 # Suppressions rooted at *style*values*specified*color*Color*style*parser*Parse*parse*
    438 
    439 {
    440    bug1447137
    441    Memcheck:Cond
    442    fun:*style*values*specified*color*Color*style*parser*Parse*parse*
    443 }
    444 
    445 ##########################################
    446 # Suppressions rooted at *selectors*parser*SelectorList*Impl*parse*
    447 
    448 {
    449    bug1454511
    450    Memcheck:Cond
    451    fun:*selectors*parser*SelectorList*Impl*parse*
    452 }
    453 
    454 ##########################################
    455 # Suppressions rooted at *style*properties*shorthands*
    456 
    457 {
    458    bug1447137-17
    459    Memcheck:Cond
    460    fun:*style*properties*shorthands*
    461    fun:*style*properties*PropertyDeclaration*parse_into*
    462    fun:*style*parse_value*
    463    fun:*cssparser*Iterator*next*
    464 }
    465 
    466 ## END suppressions for Stylo as compiled by rustc 1.25.0
    467 ##############################################################################
    468 
    469 
    470 # Another suppression for Stylo, August 2018.  See bug 1479055.
    471 #
    472 # Conditional jump or move depends on uninitialised value(s)
    473 #    at style::[..]::clip_path::cascade_property (gecko_properties.rs:17152)
    474 #    by style::properties::cascade_rules (properties.rs:83642)
    475 #    by [..]::cascade_style_and_visited (properties.rs:83129)
    476 #    by [..]::cascade_primary_style (style/style_resolver.rs:216)
    477 {
    478    Bug 1479055: style::properties::longhands::clip_path::cascade_property
    479    Memcheck:Cond
    480    fun:_ZN5style10properties9longhands9clip_path16cascade_property*
    481    fun:_ZN5style10properties13cascade_rules*
    482    fun:_ZN109_$LT$style*style_resolver*cascade_style_and_visited*
    483    fun:_ZN109_$LT$style*cascade_primary_style*
    484 }
    485 
    486 # Another suppression for Stylo, October 2018.  See bug 1496486.
    487 # Conditional jump or move depends on uninitialised value(s)
    488 #    at 0x108E2931: style::properties::longhands::font_language_override::cascade_property+81 (font.rs:2095)
    489 #    by 0x107E95B4: style::properties::cascade::Cascade::apply_properties+580 (cascade.rs:463)
    490 #    by 0x107E82D8: style::properties::cascade::cascade_rules+2440 (cascade.rs:303)
    491 #    by 0x107E7206: <style::style_resolver::StyleResolverForElement<'a, 'ctx, 'le, E>>::cascade_style_and_visited+310 (cascade.rs:93)
    492 #  Uninitialised value was created by a stack allocation
    493 #    at 0x10A42A40: style::properties::shorthands::font::parse_value (font.rs:376)
    494 {
    495    Bug 1496486: style::properties::longhands::font_language_override::cascade_property
    496    Memcheck:Cond
    497    fun:_ZN5style10properties9longhands22font_language_override16cascade_property*
    498    fun:_ZN5style10properties7cascade7Cascade16apply_properties*
    499    fun:_ZN5style10properties7cascade13cascade_rules*
    500 }
    501 
    502 ###################################################
    503 #  For valgrind-mochitest ("tc-M-V [tier 2]") runs on taskcluster.
    504 #  See bug 1248365.
    505 #  These are specific to Ubuntu 12.04.5, 64-bit.
    506 ###################################################
    507 
    508 
    509 # Not sure what this is.  Is it the well-known
    510 # Memcheck-being-confused-by-zlib thing?  I suspect so.
    511 #
    512 # Conditional jump or move depends on uninitialised value(s)
    513 #    at 0xB6154E0: inflateReset2 (in /lib/x86_64-linux-gnu/libz.so.1.2.3.4)
    514 #    by 0xB6155D8: inflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.3.4)
    515 #    by 0xADDE253: png_create_read_struct_2
    516 #                  (in /lib/x86_64-linux-gnu/libpng12.so.0.46.0)
    517 #  Uninitialised value was created by a heap allocation
    518 #    at 0x4C2D027: malloc (coregrind/m_replacemalloc/vg_replace_malloc.c:298)
    519 #    by 0xADE960F: png_malloc (in /lib/x86_64-linux-gnu/libpng12.so.0.46.0)
    520 #    by 0xADD1B95: ??? (in /lib/x86_64-linux-gnu/libpng12.so.0.46.0)
    521 #    by 0xB6155B6: inflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.3.4)
    522 #    by 0xADDE253: png_create_read_struct_2
    523 #                  (in /lib/x86_64-linux-gnu/libpng12.so.0.46.0)
    524 #    by 0x15707869: ??? (in /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/
    525 #                   loaders/libpixbufloader-png.so)
    526 {
    527    Bug 1248365: mochitest-libz-1
    528    Memcheck:Cond
    529    fun:inflateReset2
    530    fun:inflateInit2_
    531    fun:png_create_read_struct_2
    532 }
    533 
    534 
    535 # I don't know what this is.
    536 #
    537 # Conditional jump or move depends on uninitialised value(s)
    538 #    at 0x39608257: ??? (in /usr/lib/x86_64-linux-gnu/librsvg-2.so.2.36.1)
    539 #    by 0x39608E96: rsvg_handle_get_pixbuf_sub (in /usr/lib/x86_64-linux-gnu/l
    540 #    by 0x37D00D2A: ??? (in /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/lo
    541 #    by 0x88FF740: gdk_pixbuf_loader_close (in /usr/lib/x86_64-linux-gnu/libgd
    542 #    by 0x88FBA48: ??? (in /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.26
    543 #    by 0x88FD290: gdk_pixbuf_new_from_stream_at_scale (in /usr/lib/x86_64-lin
    544 #    by 0x6EF96A7: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.400.2)
    545 #    by 0x6EFC2B1: gtk_icon_info_load_icon (in /usr/lib/x86_64-linux-gnu/libgt
    546 #  Uninitialised value was created by a stack allocation
    547 #    at 0xAB786B0: ??? (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.30.2)
    548 {
    549    Bug 1248365: mochitest-librsvg-1
    550    Memcheck:Cond
    551    obj:/*/librsvg-2.so.2.36*
    552    fun:rsvg_handle_get_pixbuf_sub
    553    obj:/*/libpixbufloader-svg.so*
    554    fun:gdk_pixbuf_loader_close
    555 }
    556 
    557 
    558 # There now follow some suppressions to do with libpixman.  There are two
    559 # variants, one for errors in the system libpixman, and one for errors in
    560 # our in-tree copy.  I suspect that all of these sse2 compositing reports
    561 # are Memcheck false positives, possibly to do with inaccurate
    562 # instrumentation of the function combine1() in
    563 # gfx/cairo/libpixman/src/pixman-sse2.c.
    564 #
    565 # Conditional jump or move depends on uninitialised value(s)
    566 #    at 0xAB93A10: ??? (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.30.2)
    567 #    by 0xAB78927: ??? (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.30.2)
    568 #    by 0xAB40B0B: pixman_image_composite32 (in /usr/lib/x86_64-linux-gnu/libp
    569 #    by 0x865C95C: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11000.2)
    570 #    by 0x865E3CB: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11000.2)
    571 #    by 0x865F6EA: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11000.2)
    572 #    by 0x865F968: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11000.2)
    573 #    by 0x867D7C3: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11000.2)
    574 #  Uninitialised value was created by a stack allocation
    575 #    at 0xAB786B0: ??? (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.30.2)
    576 {
    577    Bug 1248365: mochitest-libpixman-1
    578    Memcheck:Cond
    579    obj:/*/libpixman-1.so.0.30*
    580    obj:/*/libpixman-1.so.0.30*
    581    fun:pixman_image_composite32
    582 }
    583 
    584 
    585 # Conditional jump or move depends on uninitialised value(s)
    586 #    at 0xF9EA219: sse2_composite_over_8888_8888
    587 #    by 0xF9F5B5F: _moz_pixman_image_composite32
    588 #    by 0xF96E29E: _clip_and_composite_boxes
    589 #    by 0xF96F79D: _cairo_image_surface_fill
    590 #    by 0xF98790C: _cairo_surface_fill
    591 #    by 0xF96FE2E: _cairo_gstate_fill
    592 #    by 0xF98B3D9: _moz_cairo_fill_preserve
    593 #    by 0xE4CF383: mozilla::gfx::DrawTargetCairo::DrawPattern(mozilla::gfx:
    594 #  Uninitialised value was created by a stack allocation
    595 #    at 0xB8E46B0: ??? (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.30.2)
    596 {
    597    Bug 1248365: mochitest-libpixman-2
    598    Memcheck:Cond
    599    fun:sse2_composite_over_8888_8888
    600    fun:_moz_pixman_image_composite32
    601    fun:_clip_and_composite_boxes
    602    fun:_cairo_image_surface_fill
    603 }
    604 
    605 
    606 # Conditional jump or move depends on uninitialised value(s)
    607 #    at 0xF9D56AE: sse2_combine_over_u (in /builds/worker/workspace/build/applic
    608 #    by 0xF9D05D4: general_composite_rect (in /builds/worker/workspace/build/app
    609 #    by 0xF9F5B5F: _moz_pixman_image_composite32 (in /builds/worker/workspace/bu
    610 #    by 0xF96CF63: _clip_and_composite (in /builds/worker/workspace/build/applic
    611 #    by 0xF96D656: _clip_and_composite_boxes.part.32 (in /builds/worker/workspac
    612 #    by 0xF96E328: _clip_and_composite_boxes (in /builds/worker/workspace/build/
    613 #    by 0xF96F79D: _cairo_image_surface_fill (in /builds/worker/workspace/build/
    614 #    by 0xF98790C: _cairo_surface_fill (in /builds/worker/workspace/build/applic
    615 #  Uninitialised value was created by a stack allocation
    616 #    at 0xF9D024D: general_composite_rect (in /builds/worker/workspace/build/app
    617 #
    618 {
    619    Bug 1248365: mochitest-libpixman-3
    620    Memcheck:Cond
    621    fun:sse2_combine_over_u
    622    fun:general_composite_rect
    623    fun:_moz_pixman_image_composite32
    624    fun:_clip_and_composite*
    625 }
    626 
    627 
    628 # Not sure what this.  I can't reproduce it locally despite much trying.
    629 # Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s)
    630 #    at 0x4E4533D: ??? (syscall-template.S:82)
    631 #    by 0xE12C0A7: IPC::Channel::ChannelImpl::ProcessOutgoingMessages() (in /h
    632 #    by 0xE142FD0: RunnableMethod<IPC::Channel, bool (IPC::Channel::*)(IPC::Me
    633 #    by 0xE1240EA: MessageLoop::RunTask(Task*) (in /builds/worker/workspace/buil
    634 #    by 0xE128A46: MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask
    635 #    by 0xE128B6D: MessageLoop::DoWork() (in /builds/worker/workspace/build/appl
    636 #    by 0xE12272C: base::MessagePumpLibevent::Run(base::MessagePump::Delegate*
    637 #    by 0xE124155: MessageLoop::Run() (in /builds/worker/workspace/build/applica
    638 {
    639    Bug 1248365: mochitest-sendmsg-1
    640    Memcheck:Param
    641    sendmsg(msg.msg_iov[0])
    642    obj:/lib/x86_64-linux-gnu/libpthread-2.15.so
    643    fun:_ZN3IPC7Channel11ChannelImpl23ProcessOutgoingMessagesEv
    644    fun:_ZN14RunnableMethodIN3IPC7ChannelEMS1_FbPNS0_7MessageEEN7mozilla5Tuple*
    645 }
    646 
    647 
    648 # I can't repro this either.
    649 # Conditional jump or move depends on uninitialised value(s)
    650 #    at 0x418E7E7C: ??? (in /usr/lib/x86_64-linux-gnu/libavcodec.so.53.35.0)
    651 #    by 0x4192D620: ??? (in /usr/lib/x86_64-linux-gnu/libavcodec.so.53.35.0)
    652 #    by 0x4192E717: ??? (in /usr/lib/x86_64-linux-gnu/libavcodec.so.53.35.0)
    653 #    by 0x41711BC4: ??? (in /usr/lib/x86_64-linux-gnu/libavcodec.so.53.35.0)
    654 #    by 0x41B08B6A: avcodec_open2 (in /usr/lib/x86_64-linux-gnu/libavcodec.so.
    655 #    by 0xEEAD89C: mozilla::FFmpegDataDecoder<53>::InitDecoder() (in /home/wor
    656 #    by 0xEEAE42B: mozilla::FFmpegVideoDecoder<53>::Init() (in /builds/worker/wo
    657 #    by 0xEEA4C07: mozilla::H264Converter::Init() (in /builds/worker/workspace/b
    658 #  Uninitialised value was created by a heap allocation
    659 #    at 0x4C2D11F: realloc (vg_replace_malloc.c:785)
    660 #    by 0x406196: moz_xrealloc (in /builds/worker/workspace/build/application/fi
    661 #    by 0xDEB43AC: nsTArrayInfallibleAllocator::ResultTypeProxy nsTArray_base<
    662 #    by 0xEEAD850: mozilla::FFmpegDataDecoder<53>::InitDecoder() (in /home/wor
    663 #    by 0xEEAE42B: mozilla::FFmpegVideoDecoder<53>::Init() (in /builds/worker/wo
    664 {
    665    Bug 1248365: mochitest-libavcodec-1-c
    666    Memcheck:Cond
    667    obj:/*/libavcodec.so.53*
    668    obj:/*/libavcodec.so.53*
    669    obj:/*/libavcodec.so.53*
    670    obj:/*/libavcodec.so.53*
    671 }
    672 {
    673    Bug 1248365: mochitest-libavcodec-1-v8
    674    Memcheck:Value8
    675    obj:/*/libavcodec.so.53*
    676    obj:/*/libavcodec.so.53*
    677    obj:/*/libavcodec.so.53*
    678    obj:/*/libavcodec.so.53*
    679 }
    680 
    681 
    682 # Not sure what this is, but I am inclined to think it is also probably a
    683 # SSE2-induced false positive similar to mochitest-libpixman-2 above.
    684 # Use of uninitialised value of size 8
    685 #    at 0xE4F3E89: FastConvertYUVToRGB32Row (in /builds/worker/workspace/build/a
    686 #    by 0xE4F4A6D: mozilla::gfx::ConvertYCbCrToRGB32(unsigned char const*, uns
    687 #    by 0xE4F4B17: mozilla::gfx::ConvertYCbCrToRGB(mozilla::layers::PlanarYCbC
    688 #    by 0xE5227CB: mozilla::layers::PlanarYCbCrImage::GetAsSourceSurface() (in
    689 #    by 0xE5B2465: mozilla::layers::SharedPlanarYCbCrImage::GetAsSourceSurface
    690 #    by 0xE52FE44: mozilla::layers::BasicImageLayer::Paint(mozilla::gfx::DrawT
    691 #    by 0xE5618A1: mozilla::layers::BasicLayerManager::PaintSelfOrChildren(moz
    692 #    by 0xE560F83: mozilla::layers::BasicLayerManager::PaintLayer(gfxContext*,
    693 #  Uninitialised value was created by a stack allocation
    694 #    at 0x434B36B2: ??? (in /usr/lib/x86_64-linux-gnu/libavcodec.so.53.35.0)
    695 {
    696    Bug 1248365: FastConvertYUVToRGB32Row-1
    697    Memcheck:Value8
    698    fun:FastConvertYUVToRGB32Row
    699    fun:_ZN7mozilla3gfx19ConvertYCbCrToRGB32*
    700    fun:_ZN7mozilla3gfx17ConvertYCbCrToRGB*
    701    fun:_ZN7mozilla6layers16PlanarYCbCrImage18GetAsSourceSurface*
    702 }
    703 
    704 # Similarly:
    705 # Conditional jump or move depends on uninitialised value(s)
    706 #    at 0xFDAD1D1: sse41::blit_row_s32a_opaque(unsigned int*, unsigned int con
    707 #    by 0xFD60FA9: Sprite_D32_S32::blitRect(int, int, int, int) (in /home/work
    708 #    by 0xFEB9E0D: SkScan::FillIRect(SkIRect const&, SkRegion const*, SkBlitte
    709 #    by 0xFEBDDF3: SkScan::FillIRect(SkIRect const&, SkRasterClip const&, SkBl
    710 {
    711    SKIA and SSE4, Jan 2017
    712    Memcheck:Cond
    713    fun:_ZN5sse41L20blit_row_s32a_opaque*
    714    fun:_ZN14Sprite_D32_S328blitRect*
    715    fun:_ZN6SkScan9FillIRect*
    716    fun:_ZN6SkScan9FillIRect*
    717 }
    718 
    719 # This is probably a V false positive, due to an insufficiently accurate
    720 # description of the ioctl(SIOCETHTOOL) behavior.
    721 # Syscall param ioctl(SIOCETHTOOL) points to uninitialised byte(s)
    722 #    at 0x5D5CBF7: ioctl (syscall-template.S:82)
    723 #    by 0xF58EB67: nr_stun_get_addrs (in /builds/worker/workspace/build/applica
    724 #    by 0xF594791: nr_stun_find_local_addresses (in /builds/worker/workspace/bu
    725 #    by 0xF58A237: nr_ice_get_local_addresses (in /builds/worker/workspace/buil
    726 #    by 0xF58ADDE: nr_ice_gather (in /builds/worker/workspace/build/application
    727 #    by 0xE43F35F: mozilla::NrIceCtx::StartGathering() (in /builds/worker/works
    728 #    by 0xE419560: mozilla::PeerConnectionMedia::EnsureIceGathering_s() (in /
    729 #    by 0xE41A11C: mozilla::runnable_args_memfn<RefPtr<mozilla::PeerConnectio
    730 #  Address 0x1cc3fb48 is on thread 6's stack
    731 #  in frame #1, created by nr_stun_get_addrs (???:)
    732 {
    733    Bug 1248365: mochitest-ioctl(SIOCETHTOOL)-1
    734    Memcheck:Param
    735    ioctl(SIOCETHTOOL)
    736    fun:ioctl
    737    fun:nr_stun_get_addrs
    738    fun:nr_stun_find_local_addresses
    739 }
    740 
    741 
    742 # This looks like uninitialised padding bytes in a structure owned
    743 # by libfontconfig.  So there's nothing we can do about it.
    744 # Syscall param write(buf) points to uninitialised byte(s)
    745 #    at 0x4E44CCD: ??? (syscall-template.S:82)
    746 #    by 0x9F1FF56: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
    747 #    by 0x9F2679B: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
    748 #    by 0x9F22B98: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
    749 #    by 0x9F22C5F: FcConfigAppFontAddDir (in /usr/lib/x86_64-linux-gnu/libfon
    750 #    by 0xE850173: gfxFcPlatformFontList::ActivateBundledFonts() (in /home/wo
    751 #    by 0xE852258: gfxFcPlatformFontList::InitFontListForPlatform() (in /home
    752 #    by 0xE895E21: gfxPlatformFontList::InitFontList() (in /builds/worker/works
    753 #  Address 0x2316663c is 156 bytes inside a block of size 1,448 alloc'd
    754 #    at 0x4C2CF71: malloc (vg_replace_malloc.c:299)
    755 #    by 0x9F1FD1D: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
    756 #    by 0x9F26788: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
    757 #    by 0x9F22B98: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
    758 #    by 0x9F22C5F: FcConfigAppFontAddDir (in /usr/lib/x86_64-linux-gnu/libfon
    759 #    by 0xE850173: gfxFcPlatformFontList::ActivateBundledFonts() (in /home/wo
    760 #    by 0xE852258: gfxFcPlatformFontList::InitFontListForPlatform() (in /home
    761 #    by 0xE895E21: gfxPlatformFontList::InitFontList() (in /builds/worker/works
    762 {
    763    Bug 1248365: libfontconfig-1
    764    Memcheck:Param
    765    write(buf)
    766    obj:/*/libpthread*.so*
    767    obj:/*/libfontconfig.so*
    768    ...
    769    obj:/*/libfontconfig.so*
    770    fun:FcConfigAppFontAddDir
    771 }
    772 
    773 
    774 # There's nothing we can do about these short of throwing in
    775 # --show-mismatched-frees=no, but that's a bit drastic, so for now,
    776 # just suppress them.  A typical error is:
    777 #
    778 # Mismatched free() / delete / delete []
    779 #    at 0x4C2BE97: free (vg_replace_malloc.c:530)
    780 #    by 0xFCD09EC: ots::ots_post_free(ots::Font*) (in /builds/worker/workspace/
    781 #    by 0xFCC600E: ots::Font::~Font() (in /builds/worker/workspace/build/applic
    782 #    by 0xFCCBFA5: ots::OTSContext::Process(ots::OTSStream*, unsigned char co
    783 #    by 0xE7D7C8D: gfxUserFontEntry::SanitizeOpenTypeData(unsigned char const
    784 #    by 0xE7E371D: gfxUserFontEntry::LoadPlatformFont(unsigned char const*, u
    785 #    by 0xE7E48AA: gfxUserFontEntry::FontDataDownloadComplete(unsigned char c
    786 #    by 0xF49D25B: nsFontFaceLoader::OnStreamComplete(nsIStreamLoader*, nsISu
    787 #  Address 0x15671f00 is 0 bytes inside a block of size 490 alloc'd
    788 #    at 0x4C2CAEE: operator new(unsigned long) (vg_replace_malloc.c:332)
    789 #    by 0xF6AB737: std::vector<unsigned short, std::allocator<unsigned short>
    790 #    by 0xFCD0FDE: ots::ots_post_parse(ots::Font*, unsigned char const*, unsi
    791 #    by 0xFCCA3D9: (anonymous namespace)::ProcessGeneric(ots::OpenTypeFile*,
    792 #    by 0xFCCB17E: (anonymous namespace)::ProcessTTF(ots::OpenTypeFile*, ots:
    793 #    by 0xFCCBA54: ots::OTSContext::Process(ots::OTSStream*, unsigned char co
    794 #    by 0xE7D7C8D: gfxUserFontEntry::SanitizeOpenTypeData(unsigned char const
    795 #    by 0xE7E371D: gfxUserFontEntry::LoadPlatformFont(unsigned char const*, u
    796 {
    797    Bug 1248365: ots::Font::~Font()-1
    798    Memcheck:Free
    799    fun:free
    800    fun:_ZN3ots13ots_post_free*
    801    fun:_ZN3ots4FontD1Ev
    802    fun:_ZN3ots10OTSContext7Process*
    803 }
    804 
    805 # and various similar:
    806 {
    807    ots mismatched frees, Jan 2017, #1
    808    Memcheck:Free
    809    fun:_ZdlPv
    810    fun:_ZN3ots14ots_glyf_parse*
    811    fun:_ZN12_GLOBAL__N_114ProcessGenericEPN3ots12OpenTypeFile*
    812    fun:_ZN12_GLOBAL__N_110ProcessTTFEPN3ots12OpenTypeFile*
    813 }
    814 {
    815    ots mismatched frees, Jan 2017, #2
    816    Memcheck:Free
    817    fun:_ZdlPv
    818    fun:_ZN3ots13ots_cff_parse*
    819    fun:_ZN12_GLOBAL__N_114ProcessGenericEPN3ots12OpenTypeFile*
    820    fun:_ZN3ots10OTSContext7ProcessEPNS_9OTSStream*
    821 }
    822 {
    823    ots mismatched frees, Jan 2017, #3
    824    Memcheck:Free
    825    fun:_ZdlPv
    826    fun:_ZN3ots13ots_cff_parse*
    827    fun:_ZN12_GLOBAL__N_114ProcessGenericEPN3ots12OpenTypeFile*
    828    fun:_ZN12_GLOBAL__N_110Process*
    829 }
    830 {
    831    ots mismatched frees, Jan 2017, #4
    832    Memcheck:Free
    833    fun:_ZdlPv
    834    fun:_ZN3ots12ots_cff_free*
    835    fun:_ZN3ots4FontD1Ev*
    836    fun:_ZN3ots10OTSContext7Process*
    837 }
    838 {
    839    ots mismatched frees, Jan 2017, #5
    840    Memcheck:Free
    841    fun:_ZdlPv
    842    fun:_ZN3ots13ots_loca_free*
    843    fun:_ZN3ots4FontD1Ev*
    844    fun:_ZN3ots10OTSContext7Process*
    845 }
    846 {
    847    ots mismatched frees, Jan 2017, #6
    848    Memcheck:Free
    849    fun:_ZdlPv
    850    fun:_ZN3ots14ots_glyf_parse*
    851    fun:_ZN12_GLOBAL__N_114ProcessGenericEPN3ots12OpenTypeFile*
    852    fun:_ZN3ots10OTSContext7ProcessEPNS_9OTSStream*
    853 }
    854 
    855 {
    856    map_or<selectors::parser::Combinator,bool,closure> #1 (see bug 1365915)
    857    Memcheck:Cond
    858    fun:map_or<selectors::parser::Combinator,bool,closure>
    859    fun:_ZN9selectors8matching33matches_complex_selector_internal*
    860    fun:_ZN9selectors8matching24matches_complex_selector*
    861    fun:matches_selector<style::gecko::wrapper::GeckoElement,closure>
    862 }
    863 
    864 {
    865    map_or<selectors::parser::Combinator,bool,closure> #2 (see bug 1365915)
    866    Memcheck:Cond
    867    fun:map_or<selectors::parser::Combinator,bool,closure>
    868    fun:_ZN9selectors8matching33matches_complex_selector_internal*
    869    fun:_ZN9selectors8matching24matches_complex_selector*
    870    fun:{{closure}}<closure>
    871 }
    872 
    873 # more leaks in libLLVM-3.6-mesa.so, August 2017.  See bug 1338651.
    874 {
    875    static-object-leaks-in-libLLVM-3.6-mesa.so.  See bug 1338651.
    876    Memcheck:Leak
    877    match-leak-kinds: definite
    878    fun:_Znwm
    879    obj:/*/lib*/libLLVM-3.6-mesa.so
    880    obj:/*/lib*/libLLVM-3.6-mesa.so
    881 }
    882 
    883 {
    884    bug 1632735
    885    Memcheck:Cond
    886    fun:_ZN9selectors6parser25parse_one_simple_selector17h*
    887    fun:_ZN9selectors6parser14parse_selector17h*
    888    fun:_ZN9selectors6parser24SelectorList$LT$Impl$GT$16parse_with_state17h*
    889 }
    890 
    891 {
    892    bug 1632735
    893    Memcheck:Cond
    894    fun:_ZN9selectors6parser25parse_one_simple_selector17h*
    895    fun:_ZN9selectors6parser29parse_functional_pseudo_class17h*
    896    fun:_ZN9selectors6parser25parse_one_simple_selector17h*
    897    fun:_ZN9selectors6parser14parse_selector17h*
    898    fun:_ZN9selectors6parser24SelectorList$LT$Impl$GT$16parse_with_state17h*
    899 }
    900 
    901 {
    902    bug 1632735
    903    Memcheck:Cond
    904    fun:_ZN9selectors6parser25parse_one_simple_selector17h*
    905    fun:_ZN9selectors6parser14parse_selector17h*
    906    fun:_ZN9cssparser6parser18parse_until_before17h*
    907    fun:_ZN5style5gecko15selector_parser94_$LT$impl$u20$selectors..parser..Parser$u20$for$u20$style..selector_parser..SelectorParser$GT$36parse_non_ts_functional_pseudo_class17h*
    908    fun:_ZN9selectors6parser29parse_functional_pseudo_class17h*
    909    fun:_ZN9selectors6parser25parse_one_simple_selector17*
    910    fun:_ZN9selectors6parser14parse_selector17h*
    911    fun:_ZN9selectors6parser24SelectorList$LT$Impl$GT$16parse_with_state17h*
    912 }
    913 
    914 {
    915    bug 1632735
    916    Memcheck:Cond
    917    fun:_ZN9selectors6parser25parse_one_simple_selector17h*
    918    fun:_ZN9selectors6parser14parse_selector17h*
    919    fun:_ZN9selectors6parser29parse_functional_pseudo_class17h*
    920    fun:_ZN9selectors6parser25parse_one_simple_selector17*
    921    fun:_ZN9selectors6parser14parse_selector17h*
    922    fun:_ZN9selectors6parser24SelectorList$LT$Impl$GT$16parse_with_state17h*
    923 }
    924 
    925 {
    926    Starting with rust 1.52
    927    Memcheck:Cond
    928    ...
    929    fun:_ZN5style10properties10shorthands4font10parse_into*
    930    fun:_ZN5style10properties19PropertyDeclaration10parse_into*
    931    fun:_ZN5style10properties17declaration_block31parse_property_declaration_list*
    932    fun:_ZN124_$LT$style..stylesheets..rule_parser..NestedRuleParser$u20$as$u20$cssparser..rules_and_declarations..QualifiedRuleParser$GT$11parse_block*
    933 }
    934 
    935 # Suppression for Software WebRender, June 2021. See bug 1715267.
    936 #
    937 # Conditional jump or move depends on uninitialised value(s)
    938 #    at 0x162B199F: webrender::renderer::upload::upload_to_texture_cache+10639 (mod.rs:2045)
    939 #    by 0x162A7567: webrender::renderer::Renderer::update_texture_cache+5191 (mod.rs:2241)
    940 #    by 0x1629EF2F: webrender::renderer::Renderer::render_impl+3647 (mod.rs:1874)
    941 #  Uninitialised value was created by a stack allocation
    942 #    at 0x162AF01D: webrender::renderer::upload::upload_to_texture_cache+13 (upload.rs:50)
    943 {
    944    Bug 1715267: webrender::renderer::upload::upload_to_texture_cache
    945    Memcheck:Cond
    946    fun:_ZN9webrender8renderer6upload23upload_to_texture_cache17h*
    947    fun:_ZN9webrender8renderer8Renderer20update_texture_cache17h*
    948    fun:_ZN9webrender8renderer8Renderer11render_impl17h*
    949 }
    950 
    951 # Suppression for Software WebRender, June 2021. See bug 1715290.
    952 #
    953 # 24 bytes in 1 blocks are definitely lost in loss record 3,311 of 10,861
    954 #    at 0x4C28FC0: malloc+112 (vg_replace_malloc.c:307)
    955 #    by 0x162F6CC9: wr_thread_pool_new+2729 (library/std/src/sys/unix/alloc.rs:14)
    956 #    by 0x11EB0814: WebRenderThreadPool (checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:1037)
    957 #    by 0x11EB0814: RenderThread (checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:64)
    958 #    by 0x11EB0814: mozilla::wr::RenderThread::Start()+116 (checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:96)
    959 {
    960    Bug 1715290: wr_thread_pool_new / WebRenderThreadPool / RenderThread
    961    Memcheck:Leak
    962    match-leak-kinds: definite
    963    fun:malloc
    964    ...
    965    fun:wr_thread_pool_new
    966    fun:WebRenderThreadPool
    967    fun:RenderThread
    968    fun:_ZN7mozilla2wr12RenderThread5StartEj
    969 }
    970 
    971 {
    972    Bug 1715523 / 1715533
    973    Memcheck:Leak
    974    match-leak-kinds: definite
    975    fun:malloc
    976    fun:moz_xmalloc
    977    fun:operator new
    978    fun:MakeNotNull<RefPtr<mozilla::ProfilingStackOwner>>
    979    fun:RacyRegisteredThread
    980    fun:_ZN16RegisteredThreadC1EP10ThreadInfoP9nsIThreadPv
    981 }
    982 
    983 {
    984   Bug 1728618 / 1716579
    985   Memcheck:Cond
    986   fun:_ZN9webrender8renderer8Renderer20update_texture_cache*
    987   fun:_ZN9webrender8renderer8Renderer11render_impl*
    988 }
    989 
    990 # Suppression for a dynamic-atom leak apparently related to shutdown timing/race. See bug 1748520.
    991 #
    992 # 20 bytes in 1 blocks are definitely lost in loss record 3,754 of 20,244
    993 #    at 0x48397B5: malloc+117 (vg_replace_malloc.c:381)
    994 #    by 0x12CD30: moz_xmalloc+16 (checkouts/gecko/memory/mozalloc/mozalloc.cpp:52)
    995 #    by 0xAEE7F3C: nsDynamicAtom::Create(nsTSubstring<char16_t> const&, unsigned int)+140 (checkouts/gecko/xpcom/ds/nsAtomTable.cpp:90)
    996 #    by 0xAEE8DC9: nsAtomTable::Atomize(nsTSubstring<char> const&)+265 (checkouts/gecko/xpcom/ds/nsAtomTable.cpp:566)
    997 #    by 0xAFD5857: nsLanguageAtomService::LookupLanguage(nsTSubstring<char> const&)+87 (checkouts/gecko/intl/locale/nsLanguageAtomService.cpp:102)
    998 #    by 0xBCE209E: gfxFcPlatformFontList::TryLangForGroup(nsTSubstring<char> const&, nsAtom*, nsTSubstring<char>&, bool)+382 (checkouts/gecko/gfx/thebes/gfxFcPlatformFontList.cpp:2504)
    999 #    by 0xBCDD57E: gfxFcPlatformFontList::GetSampleLangForGroup(nsAtom*, nsTSubstring<char>&, bool)+734 (checkouts/gecko/gfx/thebes/gfxFcPlatformFontList.cpp:2569)
   1000 #    by 0xBCE03A1: gfxFcPlatformFontList::FindGenericFamilies(nsPresContext*, nsTString<char> const&, nsAtom*)+113 (checkouts/gecko/gfx/thebes/gfxFcPlatformFontList.cpp:2299)
   1001 #    by 0xBCE02F4: gfxFcPlatformFontList::GetDefaultFontForPlatform(nsPresContext*, gfxFontStyle const*, nsAtom*)+68 (checkouts/gecko/gfx/thebes/gfxFcPlatformFontList.cpp:1991)
   1002 #    by 0xBD2E807: gfxPlatformFontList::GetDefaultFont(nsPresContext*, gfxFontStyle const*)+39 (checkouts/gecko/gfx/thebes/gfxPlatformFontList.cpp:2319)
   1003 #    by 0xBD2CBBF: gfxPlatformFontList::InitFontList()+1279 (checkouts/gecko/gfx/thebes/gfxPlatformFontList.cpp:573)
   1004 #    by 0xBD2C5C8: gfxPlatformFontList::Initialize(gfxPlatformFontList*)+72 (checkouts/gecko/gfx/thebes/gfxPlatformFontList.cpp:259)
   1005 #    by 0xBCE8F8E: gfxPlatform::Init()+3070 (checkouts/gecko/gfx/thebes/gfxPlatform.cpp:963)
   1006 {
   1007    Bug 1748520
   1008    Memcheck:Leak
   1009    match-leak-kinds: definite
   1010    fun:malloc
   1011    fun:moz_xmalloc
   1012    fun:operator new
   1013    fun:_ZN13nsDynamicAtom6Create*
   1014    fun:_ZN11nsAtomTable7Atomize*
   1015    fun:_ZN21nsLanguageAtomService14LookupLanguage*
   1016    ...
   1017    fun:_ZN11gfxPlatform4InitEv
   1018 }
   1019 
   1020 # Suppression for a dynamic-atom leak related to DOMLocalization. See bug 1762046.
   1021 #
   1022 # 28 bytes in 1 blocks are definitely lost in loss record 5,420 of 21,361
   1023 #   at 0x48397B5: malloc+117 (vg_replace_malloc.c:381)
   1024 #   by 0x12DB70: moz_xmalloc+16 (checkouts/gecko/memory/mozalloc/mozalloc.cpp:52)
   1025 #   by 0xAF7808C: nsDynamicAtom::Create(nsTSubstring<char16_t> const&, unsigned int)+140 (checkouts/gecko/xpcom/ds/nsAtomTable.cpp:90)
   1026 #   by 0xAF7915B: nsAtomTable::Atomize(nsTSubstring<char16_t> const&)+315 (checkouts/gecko/xpcom/ds/nsAtomTable.cpp:595)
   1027 #   by 0xBE6E0F2: nsAttrValue::ParseAtom(nsTSubstring<char16_t> const&)+34 (checkouts/gecko/dom/base/nsAttrValue.cpp:1169)
   1028 #   by 0xBDE6F18: mozilla::dom::Element::ParseAttribute(int, nsAtom*, nsTSubstring<char16_t> const&, nsIPrincipal*, nsAttrValue&)+88 (checkouts/gecko/dom/base/Element.cpp:0)
   1029 #   by 0xBDE3A8C: mozilla::dom::Element::SetAttr(int, nsAtom*, nsAtom*, nsTSubstring<char16_t> const&, nsIPrincipal*, bool)+412 (checkouts/gecko/dom/base/Element.cpp:2432)
   1030 #   by 0xD919226: SetAttr (dist/include/mozilla/dom/Element.h:947)
   1031 #   by 0xD919226: SetAttr (dist/include/mozilla/dom/Element.h:943)
   1032 #   by 0xD919226: mozilla::dom::DOMLocalization::SetRootInfo(mozilla::dom::Element*)+230 (checkouts/gecko/dom/l10n/DOMLocalization.cpp:456)
   1033 #   by 0xD91AE40: mozilla::dom::DocumentL10n::InitialTranslationCompleted(bool)+48 (checkouts/gecko/dom/l10n/DocumentL10n.cpp:314)
   1034 #   by 0xD91F579: L10nReadyHandler::ResolvedCallback(JSContext*, JS::Handle<JS::Value>, mozilla::ErrorResult&)+25 (checkouts/gecko/dom/l10n/DocumentL10n.cpp:75)
   1035 #   by 0xD6EBCAD: mozilla::dom::(anonymous namespace)::PromiseNativeHandlerShim::ResolvedCallback(JSContext*, JS::Handle<JS::Value>, mozilla::ErrorResult&)+29 (checkouts/gecko/dom/promise/Promise.cpp:407)
   1036 #   by 0xD6EBFB9: mozilla::dom::NativeHandlerCallback(JSContext*, unsigned int, JS::Value*)+441 (dist/include/js/RootingAPI.h:0)
   1037 #   by 0xEF9D780: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)+768 (checkouts/gecko/js/src/vm/Interpreter.cpp:425)
   1038 #   by 0xEF9E27C: js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason)+156 (checkouts/gecko/js/src/vm/Interpreter.cpp:572)
   1039 {
   1040    Bug 1762046
   1041    Memcheck:Leak
   1042    match-leak-kinds: definite
   1043    fun:malloc
   1044    fun:moz_xmalloc
   1045    fun:operator new
   1046    fun:_ZN13nsDynamicAtom6CreateERK12nsTSubstringIDsEj*
   1047    fun:_ZN11nsAtomTable7AtomizeERK12nsTSubstringIDsE*
   1048    fun:_ZN11nsAttrValue9ParseAtomERK12nsTSubstringIDsE*
   1049    ...
   1050    fun:_ZN7mozilla3dom7Element7SetAttrEiP6nsAtomS3_RK12nsTSubstringIDsEP12nsIPrincipalb
   1051 }
   1052 
   1053 {
   1054    False positive from new optimizations in rustc 1.73
   1055    Memcheck:Cond
   1056    ...
   1057    fun:drop_in_place<hashbrown::raw::RawIntoIter<(webrender_api::image::ImageFormat, (webrender::texture_pack::guillotine::GuillotineAllocator, alloc::vec::Vec<webrender::renderer::upload::BatchUploadBuffer, alloc::alloc::Global>)), alloc::alloc::Global>>
   1058    ...
   1059    fun:upload_to_texture_cache
   1060 }
   1061 
   1062 {
   1063    False positive from new optimizations in rustc 1.78
   1064    Memcheck:Cond
   1065    fun:drop_in_place<core::option::Option<cssparser::cow_rc_str::CowRcStr>>
   1066    fun:_ZN5style6values9specified5color5Color14parse_internal*
   1067 }
   1068 {
   1069    False positive Conditional jump or move depends on uninitialised value(s) at len_utf8 / encode_utf8_raw / encode_utf8 / push_char
   1070    Memcheck:Cond
   1071    fun:len_utf8
   1072    fun:encode_utf8_raw
   1073    fun:encode_utf8
   1074    fun:push_char
   1075    ...
   1076    fun:_ZN7mozilla10extensions13MatchGlobCoreC1ERK12nsTSubstringIcEbbRNS_11ErrorResultE
   1077 }