gecko-dev/build/sanitizers/lsan_suppressions.txt
Andrew McCreight e0b02240a7 Bug 1074317 - Report indirect LSan leaks in mochitests. r=erahm
LeanSanitizer reports two kinds of leaks: direct and indirect. A
leaked block that is pointed to by another leaked block is an
"indirect leak", while one that isn't is a "direct leak". Often,
indirect leaks are just things entrained by the "real" leak, but if
two leaked blocks are in a cycle, then they both end up being
indirect, so we need to report them, too.

This patch makes it so that indirect LSan leaks are treated the same
as direct leaks by Mochitests, which means they will turn the tree
orange. There are a few existing indirect leaks of various severity,
so I had add some suppressions. See those bugs for more details.

--HG--
extra : rebase_source : 0269666f546b6e349bebf216771fc6dfa4d9487a
2015-08-03 06:45:00 -04:00

144 lines
4.4 KiB
Plaintext

### !!! 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 979928 - WebRTC leaks. m2, m3.
###
# WebRTC leaks added for Mochitest 2.
leak:NR_reg_init
# nr_reg_local_init should be redundant with NR_reg_init, but with 34 on Aurora
# we get less stack frames for some reason.
leak:nr_reg_local_init
leak:r_log_register
leak:nr_reg_set
# Additional WebRTC leak suppressions added for Mochitest 3.
leak:mozilla::TransportLayerDtls::Setup
# Bug 1187424 - DesktopApplication does not free any of its string members.
leak:webrtc::DesktopApplication::
# Bug 1187518 - SCTP leaks in child process while running WebRTC tests.
leak:recv_function_udp
# Bug 1074310 - Very large e10s vp8 leaks, maybe in WebRTC tests.
leak:set_noise_sensitivity
leak:vp8_alloc_compressor_data
leak:vp8_change_config
leak:vp8_lookahead_init
leak:vpx_codec_enc_init_ver
###
### Many leaks only affect some test suites. The suite annotations are not checked.
###
# Bug 981195 - Small leak in the parser. m4
leak:ObjectGroup::fixPlainObjectGroup
# Bug 982111 - WebM is leaking. m1
leak:nestegg_read_packet
# Bug 987385 - Various plugin leaks. m3
leak:mozilla::plugins::PPluginInstanceParent::CallNPP_HandleEvent
leak:mozilla::plugins::PPluginModuleParent::OnCallReceived
# Bug 987925 - Small leak under PK11_ChangePW. m5
leak:sec_asn1e_allocate_item
leak:PORT_Strdup_Util
# Bug 1021302 - Leak of fds allocated in nsSocketTransport::BuildSocket(). m1, m5, dt, oth
leak:nsSocketTransport::BuildSocket
leak:nsServerSocket::OnSocketReady
# Bug 1021350 - Small leak under event_base_once. m1, m4, bc3
leak:event_base_once
# Bug 1021854 - nsFileStreamBase::DoOpen() leaking fds. bc1, oth
leak:nsLocalFile::OpenNSPRFileDesc
# Bug 1022010 - Small leak under _render_glyph_outline. bc1
leak:_render_glyph_outline
# Bug 1023548 - Small leak under SECITEM_AllocItem_Util. bc1, bc3
leak:SECITEM_AllocItem_Util
# This is a one-time leak, so it is probably okay to ignore. bc1, oth
leak:GlobalPrinters::InitializeGlobalPrinters
leak:nsPSPrinterList::GetPrinterList
# Bug 1028456 - More leaks with _PR_Getfd, in nsLocalFile::CopyToNative and do_create. bc1, bc3
leak:_PR_Getfd
# Bug 1028483 - The XML parser sometimes leaks an object. bc3
leak:processInternalEntity
# Bug 1187421 - With e10s, NSS does not always free the error stack. m1.
leak:nss_ClearErrorStack
# Bug 1090570 - IPC Transport lifetime is not always managed correctly.
leak:mozilla::ipc::OpenDescriptor
leak:IPC::Channel::ChannelImpl::OutputQueuePush
leak:IPC::Channel::Channel
leak:base::MessagePumpLibevent::WatchFileDescriptor
# Bug 1122045 - Leaks in MessageLoop::MessageLoop()
leak:MessageLoop::MessageLoop
# This may not actually be related to MessageLoop.
leak:base::WaitableEvent::TimedWait
leak:MessageLoop::PostTask_Helper
# Bug 1189430 - DNS leaks in mochitest-chrome.
leak:nsDNSService::AsyncResolveExtended
leak:_GetAddrInfo_Portable
# Bug 1189568 - Indirect leaks of IMContextWrapper and nsIntRect.
leak:nsWindow::Create
leak:nsBaseWidget::StoreWindowClipRegion
###
### 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:libGL.so
leak:libglib-2.0.so
leak:libp11-kit.so
leak:libpulse.so
leak:libpulsecommon-1.1.so
leak:libresolv.so
leak:libstdc++.so
leak:libXrandr.so
leak:pthread_setspecific_internal
leak:swrast_dri.so