1# This file is used in addition to the one already maintained in Chrome.
2# It acts as a place holder for future additions for WebRTC.
3# It must exist for the Python wrapper script to work properly.
4
5# There are three kinds of suppressions in this file.
6# 1. third_party libraries
7# 2. webrtc stuff
8# 3. libjingle stuff (talk folder)
9#-----------------------------------------------------------------------
10
11# third_party libraries
12
13{
14   libnss_leak_hitting_trusty_machines
15   Memcheck:Leak
16   fun:calloc
17   obj:/usr/lib/x86_64-linux-gnu/libnss3.so
18   ...
19   fun:NSS_NoDB_Init
20   ...
21}
22
23#-----------------------------------------------------------------------
24# webrtc stuff
25{
26   bug_3446
27   Memcheck:Uninitialized
28   fun:vp8cx_pick_filter_level_fast
29   fun:vp8_loopfilter_frame
30   fun:encode_frame_to_data_rate
31   fun:vp8_get_compressed_data
32   fun:vp8e_encode
33   fun:vpx_codec_encode
34   ...
35   fun:_ZN6webrtc4test18VideoProcessorImpl12ProcessFrameEi
36   fun:_ZN6webrtc29VideoProcessorIntegrationTest22ProcessFramesAndVerifyENS_14QualityMetricsENS_11RateProfileENS_15CodecConfigParsEPNS_18RateControlMetricsE
37   fun:_ZN6webrtc70VideoProcessorIntegrationTest_ProcessNoLossSpatialResizeFrameDrop_Test8TestBodyEv
38}
39{
40   bug_1976_1
41   Memcheck:Unaddressable
42   fun:pthread_mutex_unlock
43   fun:_ZN9rtc15CriticalSection5LeaveEv
44   fun:_ZN9rtc9CritScopeD1Ev
45   ...
46   fun:_ZN9rtc6Thread15ProcessMessagesEi
47   fun:_ZN9rtc6Thread3RunEv
48   fun:_ZN9rtc6Thread6PreRunEPv
49}
50{
51   bug_1976_2
52   Memcheck:Leak
53   fun:calloc
54   obj:/usr/lib/x86_64-linux-gnu/libnss3.so
55   ...
56   fun:NSS_NoDB_Init
57   fun:_ZN9rtc10NSSContext13InitializeSSLEPFbPvE
58   fun:_ZN9rtc13InitializeSSLEPFbPvE
59   fun:_ZN9rtc10RandomTest13SetUpTestCaseEv
60   fun:_ZN7testing8TestCase16RunSetUpTestCaseEv
61}
62{
63   bug_2100_3
64   Memcheck:Uninitialized
65   fun:tls1_enc
66   fun:ssl3_get_record
67   fun:ssl3_read_bytes
68   fun:ssl3_read_internal
69   fun:ssl3_read
70   fun:SSL_read
71   fun:_ZN9rtc20OpenSSLStreamAdapter4ReadEPvmPmPi
72   ...
73}
74{
75   bug_2100_4
76   Memcheck:Uninitialized
77   fun:_ZN7testing8internal11CmpHelperEQIjhEENS_15AssertionResultEPKcS4_RKT_RKT0_
78   fun:_ZN7testing8internal8EqHelperILb0EE7CompareIjhEENS_15AssertionResultEPKcS6_RKT_RKT0_
79   fun:_ZN24SSLStreamAdapterTestDTLS8ReadDataEPN9rtc15StreamInterfaceE
80   ...
81}
82{
83   bug_2100_5
84   Memcheck:Uninitialized
85   fun:dtls1_process_record
86   fun:dtls1_get_record
87   fun:dtls1_read_bytes
88   fun:ssl3_read_internal
89   fun:ssl3_read
90   fun:SSL_read
91   fun:_ZN9rtc20OpenSSLStreamAdapter4ReadEPvmPmPi
92   ...
93}
94{
95   BIO_new_mem_buf_1
96   Memcheck:Leak
97   fun:malloc
98   fun:default_malloc_ex
99   fun:CRYPTO_malloc
100   fun:BUF_MEM_new
101   fun:mem_new
102   fun:BIO_set
103   fun:BIO_new
104   fun:BIO_new_mem_buf
105   fun:_ZN9rtc18OpenSSLCertificate13FromPEMStringERKSs
106   ...
107}
108{
109   BIO_new_mem_buf_2
110   Memcheck:Leak
111   fun:malloc
112   fun:default_malloc_ex
113   fun:CRYPTO_malloc
114   fun:BUF_MEM_new
115   fun:mem_new
116   fun:BIO_set
117   fun:BIO_new
118   fun:BIO_new_mem_buf
119   fun:_ZN9rtc15OpenSSLIdentity14FromPEMStringsERKSsS2_
120}
121{
122   SignalsCloseAfterForcedCloseAll
123   Memcheck:Leak
124   fun:_Znw*
125   fun:_ZN3rtc10HttpServer10Connection12BeginProcessEPNS_15StreamInterfaceE
126   ...
127}
128{
129   SignalsCloseAfterForcedCloseAll2
130   Memcheck:Leak
131   fun:_Znw*
132   fun:_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEE8allocateEmPKv
133   fun:_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3rtc5ilessESaIS2_EE11_M_get_nodeEv
134   fun:_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3rtc5ilessESaIS2_EE14_M_create_nodeIJS2_EEEPSt13_Rb_tree_nodeIS2_EDpOT_
135   fun:_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3rtc5ilessESaIS2_EE10_M_insert_IS2_EESt17_Rb_tree_iteratorIS2_EPKSt18_Rb_tree_node_baseSE_OT_
136   fun:_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3rtc5ilessESaIS2_EE15_M_insert_equalIS2_EESt17_Rb_tree_iteratorIS2_EOT_
137   fun:_ZNSt8multimapISsSsN3rtc5ilessESaISt4pairIKSsSsEEE6insertIS4_vEESt17_Rb_tree_iteratorIS4_EOT_
138   fun:_ZN3rtc8HttpData12changeHeaderERKSsS2_NS0_13HeaderCombineE
139   fun:_ZN3rtc8HttpData9setHeaderERKSsS2_b
140   fun:_ZN3rtc8HttpData9setHeaderENS_10HttpHeaderERKSsb
141   ...
142}
143{
144   DoNotDeleteTask2
145   Memcheck:Leak
146   fun:_Znw*
147   ...
148   fun:_ZN3rtc41unstarted_task_test_DoNotDeleteTask2_Test8TestBodyEv
149}
150{
151   bug_329_1
152   Memcheck:Unaddressable
153   fun:I422ToARGBRow_SSSE3
154   fun:I420ToARGB
155   fun:ConvertFromI420
156   fun:_ZN6webrtc15ConvertFromI420EPKhiNS_9VideoTypeEiiiPh
157   fun:_ZN6webrtc15VideoX11Channel12DeliverFrameEPhij
158   fun:_ZN6webrtc15VideoX11Channel11RenderFrameEjRNS_10VideoFrameE
159   fun:_ZN6webrtc19IncomingVideoStream26IncomingVideoStreamProcessEv
160   fun:_ZN6webrtc19IncomingVideoStream28IncomingVideoStreamThreadFunEPv
161   fun:_ZN6webrtc11ThreadPosix3RunEv
162   fun:StartThread
163}
164
165{
166   bug_329_3
167   Memcheck:Unaddressable
168   fun:I422ToARGBRow_SSSE3
169   fun:I420ToARGB
170   fun:ConvertFromI420
171   fun:_ZN6webrtc15ConvertFromI420EPKhiNS_9VideoTypeEiiiPh
172   fun:_ZN6webrtc15VideoX11Channel12DeliverFrameEPhij
173   fun:_ZN6webrtc15VideoX11Channel11RenderFrameEjRNS_10VideoFrameE
174   fun:_ZN6webrtc19IncomingVideoStream26IncomingVideoStreamProcessEv
175   fun:_ZN6webrtc19IncomingVideoStream28IncomingVideoStreamThreadFunEPv
176   fun:_ZN6webrtc11ThreadPosix3RunEv
177   fun:StartThread
178}
179
180{
181   bug_329_7
182   Memcheck:Unaddressable
183   fun:I422ToARGBRow_SSSE3
184   fun:I420ToARGB
185   fun:ConvertFromI420
186   fun:_ZN6webrtc15ConvertFromI420ERKNS_10VideoFrameEiNS_9VideoTypeEiPh
187   fun:_ZN6webrtc15VideoX11Channel12DeliverFrameERKNS_10VideoFrameE
188   fun:_ZN6webrtc15VideoX11Channel11RenderFrameEjRNS_10VideoFrameE
189   fun:_ZN6webrtc19IncomingVideoStream26IncomingVideoStreamProcessEv
190   fun:_ZN6webrtc19IncomingVideoStream28IncomingVideoStreamThreadFunEPv
191   fun:_ZN6webrtc11ThreadPosix3RunEv
192   fun:StartThread
193}
194
195{
196   bug_329_8
197   Memcheck:Unaddressable
198   fun:I422ToARGBRow_SSSE3
199   fun:I420ToARGB
200   fun:ConvertFromI420
201   fun:_ZN6webrtc15ConvertFromI420ERKNS_10VideoFrameEiNS_9VideoTypeEiPh
202   fun:_ZN6webrtc15VideoX11Channel12DeliverFrameERKNS_10VideoFrameE
203   fun:_ZN6webrtc15VideoX11Channel11RenderFrameEjRNS_10VideoFrameE
204   fun:_ZN6webrtc19IncomingVideoStream26IncomingVideoStreamProcessEv
205   fun:_ZN6webrtc19IncomingVideoStream28IncomingVideoStreamThreadFunEPv
206   fun:_ZN6webrtc11ThreadPosix3RunEv
207   fun:StartThread
208}
209
210{
211   bug_898_1
212   Memcheck:Uninitialized
213   ...
214   fun:_ZN16FakeMediaProcess7ProcessEiN6webrtc15ProcessingTypesEPsiib
215   ...
216   fun:_ZN6webrtc21AudioDeviceLinuxPulse17PlayThreadProcessEv
217   fun:_ZN6webrtc21AudioDeviceLinuxPulse14PlayThreadFuncEPv
218   fun:_ZN6webrtc11ThreadPosix3RunEv
219   fun:StartThread
220}
221
222{
223   bug_898_2
224   Memcheck:Uninitialized
225   ...
226   fun:_ZN16FakeMediaProcess7ProcessEiN6webrtc15ProcessingTypesEPsiib
227   ...
228   fun:_ZN6webrtc21AudioDeviceLinuxPulse16RecThreadProcessEv
229   fun:_ZN6webrtc21AudioDeviceLinuxPulse13RecThreadFuncEPv
230   fun:_ZN6webrtc11ThreadPosix3RunEv
231   fun:StartThread
232}
233
234{
235   bug_891
236   Memcheck:Unaddressable
237   fun:XShmPutImage
238   fun:_ZN6webrtc15VideoX11Channel12DeliverFrameEPhij
239   fun:_ZN6webrtc15VideoX11Channel11RenderFrameEjRNS_10VideoFrameE
240   fun:_ZN6webrtc19IncomingVideoStream26IncomingVideoStreamProcessEv
241   fun:_ZN6webrtc19IncomingVideoStream28IncomingVideoStreamThreadFunEPv
242   fun:_ZN6webrtc11ThreadPosix3RunEv
243   fun:StartThread
244}
245
246{
247   ignore_common_benevolent_trace_library_errors
248   Memcheck:Uninitialized
249   ...
250   fun:vsnprintf
251   fun:_ZN6webrtc5Trace3AddENS_10TraceLevelENS_11TraceModuleEiPKcz
252   ...
253}
254
255{
256   ignore_leak_when_alsa_hits_error
257   Memcheck:Leak
258   ...
259   fun:snd_device_name_hint
260   fun:_ZNK6webrtc20AudioDeviceLinuxALSA14GetDevicesInfoEibiPci
261   fun:_ZN6webrtc20AudioDeviceLinuxALSA16SetPlayoutDeviceEt
262   fun:_ZN6webrtc21AudioDeviceModuleImpl16SetPlayoutDeviceEt
263   fun:_ZN6webrtc11VoEBaseImpl4InitEPNS_17AudioDeviceModuleE
264   fun:_ZN11ViEAutoTest19ViEFileStandardTestEv
265   fun:_ZN12_GLOBAL__N_157ViEStandardIntegrationTest_RunsFileTestWithoutErrors_Test8TestBodyEv
266}
267
268{
269   bug_270_1
270   Memcheck:Uninitialized
271   ...
272   fun:WebRtcNetEQ_RecOutInternal
273   fun:WebRtcNetEQ_RecOut
274   ...
275}
276
277{
278   bug_270_2
279   Memcheck:Uninitialized
280   fun:WebRtcNetEQ_GetSpeechOutputType
281   ...
282}
283
284#-----------------------------------------------------------------------
285# libjingle stuff (talk folder)
286{
287   bug_2056_1
288   Memcheck:Leak
289   fun:malloc
290   fun:_dl_close_worker
291   fun:_dl_close
292   fun:_dl_catch_error
293   fun:_dlerror_run
294   fun:dlclose
295   ...
296   fun:snd_device_name_hint
297   fun:_ZNK6webrtc20AudioDeviceLinuxALSA14GetDevicesInfoEibiPci
298   ...
299}
300{
301   bug_2100_1
302   Memcheck:Uninitialized
303   fun:_ZN7testing8internal11CmpHelperEQIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_
304   fun:_ZN7testing8internal8EqHelperILb1EE7CompareIiiEENS_15AssertionResultEPKcS6_RKT_RKT0_PNS0_8EnableIfIXntsrNS0_10is_pointerISA_EE5valueEE4typeE
305   ...
306}
307{
308   bug_2100_2
309   Memcheck:Uninitialized
310   fun:bcmp
311   fun:_ZN23SSLStreamAdapterTestTLS12TestTransferEi
312   ...
313}
314# For tests that create XMPPClient which can only be deleted by task runner.
315{
316   HangoutPubSubClientTest
317   Memcheck:Leak
318   fun:_Znw*
319   fun:_ZN*HangoutPubSubClientTest*Ev
320}
321{
322   MucRoomConfigTaskTest
323   Memcheck:Leak
324   fun:_Znw*
325   fun:_ZN21MucRoomConfigTaskTest5SetUpEv
326}
327{
328   MucRoomDiscoveryTaskTest
329   Memcheck:Leak
330   fun:_Znw*
331   fun:_ZN24MucRoomDiscoveryTaskTest5SetUpEv
332}
333{
334   MucRoomLookupTaskTest
335   Memcheck:Leak
336   fun:_Znw*
337   fun:_ZN21MucRoomLookupTaskTest5SetUpEv
338}
339{
340   MucRoomUniqueHangoutIdTaskTest
341   Memcheck:Leak
342   fun:_Znw*
343   fun:_ZN30MucRoomUniqueHangoutIdTaskTest5SetUpEv
344}
345{
346   PingTaskTest
347   Memcheck:Leak
348   fun:_Znw*
349   fun:_ZN12PingTaskTest5SetUpEv
350}
351{
352   PubSubClientTest
353   Memcheck:Leak
354   fun:_Znw*
355   fun:_ZN*PubSubClientTest*Ev
356}
357{
358   PubSubTasksTest
359   Memcheck:Leak
360   fun:_Znw*
361   fun:_ZN*PubSubTasksTest*Ev
362}
363# failures which can't be reproduced locally
364{
365   bug_2153_1
366   Memcheck:Leak
367   fun:calloc
368   ...
369   fun:_ZN6webrtc26AudioMixerManagerLinuxALSA11OpenSpeakerEPc
370   fun:_ZN6webrtc20AudioDeviceLinuxALSA11InitSpeakerEv
371   ...
372}
373{
374   bug_2153_3
375   Memcheck:Leak
376   fun:calloc
377   obj:*
378   fun:_ZN6webrtc26AudioMixerManagerLinuxALSA14OpenMicrophoneEPc
379   fun:_ZN6webrtc20AudioDeviceLinuxALSA14InitMicrophoneEv
380   ...
381}
382{
383   bug_2263_1
384   Memcheck:Uninitialized
385   fun:_ZN14DtlsTestClient12VerifyPacketEPKcmPj
386   ...
387}
388{
389   bug_3063
390   Memcheck:Uninitialized
391   ...
392   fun:vfprintf
393   fun:__vsnprintf_chk
394   fun:_ZN6webrtc5Trace3AddENS_10TraceLevelENS_11TraceModuleEiPKcz
395   fun:_ZNK6webrtc12ViECodecImpl21GetCodecTargetBitrateEiPj
396   fun:_ZN7cricket23WebRtcVideoMediaChannel23MaybeChangeStartBitrateEiPN6webrtc10VideoCodecE
397   fun:_ZN7cricket23WebRtcVideoMediaChannel12SetSendCodecEPNS_26WebRtcVideoChannelSendInfoERKN6webrtc10VideoCodecEiii
398   fun:_ZN7cricket23WebRtcVideoMediaChannel12SetSendCodecERKN6webrtc10VideoCodecEiii
399   fun:_ZN7cricket23WebRtcVideoMediaChannel13SetSendCodecsERKSt6vectorINS_10VideoCodecESaIS2_EE
400   fun:_ZN21VideoMediaChannelTestIN7cricket17WebRtcVideoEngineENS0_23WebRtcVideoMediaChannelEE11SetOneCodecERKNS0_10VideoCodecE
401   fun:_ZN21VideoMediaChannelTestIN7cricket17WebRtcVideoEngineENS0_23WebRtcVideoMediaChannelEE4SendERKNS0_10VideoCodecE
402   fun:_ZN21VideoMediaChannelTestIN7cricket17WebRtcVideoEngineENS0_23WebRtcVideoMediaChannelEE36TwoStreamsSendAndFailUnsignalledRecvERKNS0_10VideoCodecE
403   fun:_ZN69WebRtcVideoMediaChannelTest_TwoStreamsSendAndFailUnsignalledRecv_Test8TestBodyEv
404}
405{
406   bug_3478
407   Memcheck:Leak
408   fun:_Znw*
409   fun:_ZNK3rtc18FakeSSLCertificate12GetReferenceEv
410   fun:_ZN3rtc18FakeSSLCertificate7DupCertES0_
411   fun:_ZSt9transformIN9__gnu_cxx17__normal_iteratorIPKN3rtc18FakeSSLCertificateESt6vectorIS3_SaIS3_EEEENS1_IPPNS2_14SSLCertificateES6_ISB_SaISB_EEEEPFPS3_S3_EET0_T_SK_SJ_T1_
412   fun:_ZNK3rtc18FakeSSLCertificate8GetChainEPPNS_12SSLCertChainE
413   fun:_ZN6webrtc14StatsCollector21AddCertificateReportsEPKN3rtc14SSLCertificateE
414   fun:_ZN6webrtc14StatsCollector18ExtractSessionInfoEv
415   fun:_ZN6webrtc14StatsCollector11UpdateStatsENS_23PeerConnectionInterface16StatsOutputLevelE
416   fun:_ZN12_GLOBAL__N_118StatsCollectorTest22TestCertificateReportsERKN3rtc18FakeSSLCertificateERKSt6vectorISsSaISsEES4_S9_
417   fun:_ZN12_GLOBAL__N_156StatsCollectorTest_ChainedCertificateReportsCreated_Test8TestBodyEv
418}
419