### !!! Please do not add suppressions for new leaks in Gecko code, unless they are intentional !!!

###
### Some of these leak in every test run.
###

# LSan runs with a shallow stack depth and no debug symbols, so some small intentional
# leaks in system libraries show up with this.  You do not want this enabled
# when running locally with a deep stack, as it can catch too much.
leak:libc.so

# nsComponentManagerImpl intentionally leaks factory entries, and probably some other stuff.
leak:nsComponentManagerImpl
# These two variants are needed when fast unwind is disabled and stack depth is limited.
leak:mozJSComponentLoader::LoadModule
leak:nsNativeModuleLoader::LoadModule

# Bug 981220 - Pixman fails to free TLS memory.
leak:pixman_implementation_lookup_composite

# Bug 987918 - Font shutdown leaks when CLEANUP_MEMORY is not enabled.
leak:libfontconfig.so
leak:GI___strdup
# The symbol is really __GI___strdup, but if you have the leading _, it doesn't suppress it.

# Bug 1078015 - If the process terminates during a PR_Sleep, LSAN  detects a leak
leak:PR_Sleep

# Bug 1363976 - Stylo holds some global data alive forever.
leak:style::gecko::global_style_data

###
### Many leaks only affect some test suites.  The suite annotations are not checked.
###

# Bug 979928 - WebRTC leaks in different mochitest suites.
leak:NR_reg_init
# nr_reg_local_init should be redundant with NR_reg_init, but on Aurora
# we get fewer stack frames for some reason.
leak:nr_reg_local_init
leak:r_log_register
leak:nr_reg_set

# This is a one-time leak in mochitest-bc, so it is probably okay to ignore.
leak:GlobalPrinters::InitializeGlobalPrinters
leak:nsPSPrinterList::GetPrinterList

# Bug 1028456 - Various NSPR fd-related leaks in different mochitest suites.
leak:_PR_Getfd

# Bug 1028483 - The XML parser sometimes leaks an object. Mostly happens in toolkit/components/thumbnails.
leak:processInternalEntity

# Bug 1187421 - NSS does not always free the error stack in different mochitest suites.
leak:nss_ClearErrorStack

###
### Leaks with system libraries in their stacks. These show up across a number of tests.
### Better symbols and disabling fast stackwalking may help diagnose these.
###

leak:libcairo.so
leak:libdl.so
leak:libdricore.so
leak:libdricore9.2.1.so
leak:libGL.so
leak:libglib-2.0.so
leak:libglsl.so
leak:libp11-kit.so
leak:libpixman-1.so
leak:libpulse.so
# lubpulsecommon 1.1 is Ubuntu 12.04
leak:libpulsecommon-1.1.so
# lubpulsecommon 1.1 is Ubuntu 16.04
leak:libpulsecommon-8.0.so
leak:libresolv.so
leak:libstdc++.so
leak:libXrandr.so
leak:pthread_setspecific_internal
leak:swrast_dri.so
