common/check.mak
[platform/upstream/gst-common.git] / gst.supp
1 ### this file contains suppressions for valgrind when running
2 ### the gstreamer unit tests
3 ### it might be useful for wider use as well
4
5
6 ### glibc suppressions
7
8 # glibc does not deallocate thread-local storage
9
10 {
11    <tls>
12    Memcheck:Leak
13    fun:calloc
14    fun:_dl_allocate_tls
15    fun:pthread_create@@GLIBC_2.1
16 }
17
18 {
19    <pthread strstr>
20    Memcheck:Cond
21    fun:strstr
22    fun:__pthread_initialize_minimal
23    obj:/lib/libpthread-*.so
24    obj:/lib/libpthread-*.so
25    fun:call_init
26    fun:_dl_init
27    obj:/lib/ld-*.so
28 }
29
30 # a thread-related free problem in glibc from Edgard
31 {
32    __libc_freeres_rw_acess
33    Memcheck:Addr4
34    obj:*
35    obj:*
36    obj:*
37    obj:*
38    obj:*
39    fun:__libc_freeres
40 }
41
42 {
43    <a conditional jump on wim's debian>
44    Memcheck:Cond
45    obj:/lib/ld-2.3.5.so
46    obj:/lib/ld-2.3.5.so
47    obj:/lib/ld-2.3.5.so
48    obj:/lib/ld-2.3.5.so
49    obj:/lib/ld-2.3.5.so
50 }
51
52 # g_module_open-related problems
53 {
54    <g_module_open on wim's debian>
55    Memcheck:Cond
56    obj:/lib/ld-2.3.5.so
57    obj:/lib/ld-2.3.5.so
58    obj:/lib/ld-2.3.5.so
59    fun:do_sym
60    fun:_dl_sym
61    fun:dlsym_doit
62    obj:/lib/ld-2.3.5.so
63    fun:_dlerror_run
64    fun:dlsym
65    fun:g_module_symbol
66    fun:g_module_open
67    fun:gst_plugin_load_file
68 }
69 {
70    <g_module_open on wim's debian>
71    Memcheck:Cond
72    obj:/lib/ld-2.3.5.so
73    obj:/lib/ld-2.3.5.so
74    obj:/lib/ld-2.3.5.so
75    fun:dl_open_worker
76    obj:/lib/ld-2.3.5.so
77    fun:_dl_open
78    fun:dlopen_doit
79    obj:/lib/ld-2.3.5.so
80    fun:_dlerror_run
81    fun:dlopen@@GLIBC_2.1
82    fun:g_module_open
83    fun:gst_plugin_load_file
84 }
85 {
86    <g_module_open on wim's debian>
87    Memcheck:Cond
88    obj:/lib/ld-2.3.5.so
89    fun:dl_open_worker
90    obj:/lib/ld-2.3.5.so
91    fun:_dl_open
92    fun:dlopen_doit
93    obj:/lib/ld-2.3.5.so
94    fun:_dlerror_run
95    fun:dlopen@@GLIBC_2.1
96    fun:g_module_open
97    fun:gst_plugin_load_file
98    fun:gst_plugin_load_by_name
99    fun:gst_plugin_feature_load
100 }
101
102 {
103    <leak on wim's debian in g_module_open>
104    Memcheck:Leak
105    fun:malloc
106    obj:/lib/ld-2.3.5.so
107    fun:dl_open_worker
108    obj:/lib/ld-2.3.5.so
109    fun:_dl_open
110    fun:dlopen_doit
111    obj:/lib/ld-2.3.5.so
112    fun:_dlerror_run
113    fun:dlopen@@GLIBC_2.1
114    fun:g_module_open
115    fun:gst_plugin_load_file
116    fun:gst_plugin_load_by_name
117 }
118
119 {
120    <invalid read on wim's debian>
121    Memcheck:Addr4
122    obj:/lib/ld-2.3.5.so
123    obj:/lib/ld-2.3.5.so
124    obj:/lib/ld-2.3.5.so
125    obj:/lib/ld-2.3.5.so
126    obj:/lib/ld-2.3.5.so
127    obj:/lib/ld-2.3.5.so
128    obj:/lib/ld-2.3.5.so
129    fun:dl_open_worker
130    obj:/lib/ld-2.3.5.so
131    fun:_dl_open
132    fun:dlopen_doit
133    obj:/lib/ld-2.3.5.so
134 }
135
136 {
137    <invalid read on wim's debian>
138    Memcheck:Addr4
139    obj:/lib/ld-2.3.5.so
140    obj:/lib/ld-2.3.5.so
141    obj:/lib/ld-2.3.5.so
142    obj:/lib/ld-2.3.5.so
143    obj:/lib/ld-2.3.5.so
144    obj:/lib/ld-2.3.5.so
145    fun:dl_open_worker
146    obj:/lib/ld-2.3.5.so
147    fun:_dl_open
148    fun:dlopen_doit
149    obj:/lib/ld-2.3.5.so
150    fun:_dlerror_run
151 }
152
153 # valgrind doesn't allow me to specify a suppression for Addr1, Addr2, Addr4
154 # as Addr*, so 3 copies for that; and then 2 of each for that pesky memcpy
155 {
156    <Invalid read of size 1, 2, 4 on thomas's FC4>
157    Memcheck:Addr1
158    fun:_dl_signal_error
159    fun:_dl_map_object_deps
160    fun:dl_open_worker
161    fun:_dl_catch_error
162    fun:_dl_open
163    fun:dlopen_doit
164    fun:_dl_catch_error
165    fun:_dlerror_run
166    fun:dlopen@@GLIBC_2.1
167    fun:g_module_open
168 }
169
170 {
171    <Invalid read of size 1, 2, 4 on thomas's FC4>
172    Memcheck:Addr2
173    fun:_dl_signal_error
174    fun:_dl_map_object_deps
175    fun:dl_open_worker
176    fun:_dl_catch_error
177    fun:_dl_open
178    fun:dlopen_doit
179    fun:_dl_catch_error
180    fun:_dlerror_run
181    fun:dlopen@@GLIBC_2.1
182    fun:g_module_open
183 }
184 {
185    <Invalid read of size 1, 2, 4 on thomas's FC4>
186    Memcheck:Addr4
187    fun:_dl_signal_error
188    fun:_dl_map_object_deps
189    fun:dl_open_worker
190    fun:_dl_catch_error
191    fun:_dl_open
192    fun:dlopen_doit
193    fun:_dl_catch_error
194    fun:_dlerror_run
195    fun:dlopen@@GLIBC_2.1
196    fun:g_module_open
197 }
198
199 {
200    <Invalid read of size 1, 2, 4 on thomas's FC4>
201    Memcheck:Addr1
202    fun:memcpy
203    fun:_dl_signal_error
204    fun:_dl_map_object_deps
205    fun:dl_open_worker
206    fun:_dl_catch_error
207    fun:_dl_open
208    fun:dlopen_doit
209    fun:_dl_catch_error
210    fun:_dlerror_run
211    fun:dlopen@@GLIBC_2.1
212    fun:g_module_open
213 }
214
215 {
216    <Invalid read of size 1, 2, 4 on thomas's FC4>
217    Memcheck:Addr2
218    fun:memcpy
219    fun:_dl_signal_error
220    fun:_dl_map_object_deps
221    fun:dl_open_worker
222    fun:_dl_catch_error
223    fun:_dl_open
224    fun:dlopen_doit
225    fun:_dl_catch_error
226    fun:_dlerror_run
227    fun:dlopen@@GLIBC_2.1
228    fun:g_module_open
229 }
230 {
231    <Invalid read of size 1, 2, 4 on thomas's FC4>
232    Memcheck:Addr4
233    fun:memcpy
234    fun:_dl_signal_error
235    fun:_dl_map_object_deps
236    fun:dl_open_worker
237    fun:_dl_catch_error
238    fun:_dl_open
239    fun:dlopen_doit
240    fun:_dl_catch_error
241    fun:_dlerror_run
242    fun:dlopen@@GLIBC_2.1
243    fun:g_module_open
244 }
245
246 ### glib suppressions
247
248 {
249    <g_type_init malloc>
250    Memcheck:Leak
251    fun:malloc
252    fun:g_malloc
253    fun:g_strdup
254    fun:g_quark_from_string
255    obj:*
256    obj:*
257    fun:g_type_register_fundamental
258    obj:*
259    fun:g_type_init_with_debug_flags
260    fun:g_type_init
261    fun:init_pre
262 }
263
264 {
265    <g_type_init calloc>
266    Memcheck:Leak
267    fun:calloc
268    fun:g_malloc0
269    obj:*
270    obj:*
271    fun:g_type_register_fundamental
272 }
273
274 {
275    <g_type_init calloc 2>
276    Memcheck:Leak
277    fun:calloc
278    fun:g_malloc0
279    obj:*
280    obj:*
281    fun:g_type_init_with_debug_flags
282 }
283
284 ### GStreamer suppressions
285
286 # ds is saying he's rewriting the registry anyway
287 {
288    <registry>
289    Memcheck:Leak
290    fun:malloc
291    fun:g_malloc
292    fun:g_strdup
293    fun:read_string
294    fun:load_plugin
295    fun:gst_xml_registry_load
296    fun:gst_registry_load
297    fun:_registry_load_func
298    fun:g_list_foreach
299    fun:gst_registry_pool_load_all
300    fun:init_post
301    fun:init_popt_callback
302 }
303
304 #pthread memleaks
305
306 {
307    Thread creation leak
308    Memcheck:Leak
309    fun:calloc
310    fun:allocate_dtv
311    fun:_dl_allocate*
312    fun:_dl_allocate*
313    fun:__pthread_initialize_minimal
314 }
315
316 {
317    Thread management leak
318    Memcheck:Leak
319    fun:calloc
320    fun:allocate_dtv
321    fun:_dl_allocate*
322    fun:_dl_allocate*
323    fun:__pthread_*
324 }
325
326 {
327    Thread management leak 2
328    Memcheck:Leak
329    fun:memalign
330    fun:_dl_allocate*
331    fun:_dl_allocate*
332    fun:__pthread_*
333 }
334
335 {
336    pthread_create Syscall param write(buf) points to uninitialised byte(s)
337    Memcheck:Param
338    write(buf)
339    fun:pthread_create@@GLIBC_2.2.5
340    fun:g_thread_create*
341
342 }
343
344 # nss_parse_* memleak (used by g_option_context_parse)
345 {
346    nss_parse_* memleak
347    Memcheck:Leak
348    fun:malloc
349    fun:nss_parse_service_list
350    fun:__nss_database_lookup
351 }