hwloc-valgrind.supp 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. # Copyright © 2012-2018 Inria. All rights reserved.
  2. # See COPYING in top-level directory.
  3. # suppressions file to be passed to valgrind with
  4. # --suppressions=/path/to/hwloc-valgrind.supp
  5. # zlib (brought by libpci or libxml2) doesn't cleanup its global state
  6. {
  7. inflate_init
  8. Memcheck:Cond
  9. fun:inflateReset2
  10. fun:inflateInit2_
  11. }
  12. # hwloc cannot free the global parser (with xmlCleanupParser()) because other threads may be using it
  13. {
  14. xml_init_parser
  15. Memcheck:Leak
  16. ...
  17. fun:xmlInitParser
  18. }
  19. # hwloc cannot free the global xml dict RMutex because it cannot call xmlCleanupParser() as explained above
  20. {
  21. xml_dict_create_new_rmutex
  22. Memcheck:Leak
  23. fun:malloc
  24. fun:xmlNewRMutex
  25. ...
  26. fun:xmlDictCreate
  27. }
  28. # ltdl dlopen global state?
  29. {
  30. ltdl_dlopen_doit_leak
  31. Memcheck:Leak
  32. ...
  33. fun:dl_open_worker
  34. fun:_dl_catch_error
  35. fun:_dl_open
  36. fun:dlopen_doit
  37. }
  38. # ltdl_dlclose_leak
  39. {
  40. ltdl_dlclose_leak
  41. Memcheck:Leak
  42. ...
  43. fun:_dl_close_worker
  44. fun:_dl_close
  45. ...
  46. fun:dlclose
  47. }
  48. # lt_dlforeachfile abusing paths
  49. {
  50. lt_dlforeachfile_addr8
  51. Memcheck:Addr8
  52. fun:_wordcopy_fwd_dest_aligned
  53. fun:__GI_memmove
  54. fun:argz_insert
  55. ...
  56. fun:lt_dlforeachfile
  57. }
  58. # cuda
  59. {
  60. cuda_leak
  61. Memcheck:Leak
  62. ...
  63. obj:*libcuda*
  64. }
  65. # nvml
  66. {
  67. nvmlInit_cond
  68. Memcheck:Cond
  69. ...
  70. obj:*nvidia-ml*
  71. ...
  72. fun:nvmlInit
  73. }
  74. # amd opencl
  75. {
  76. atical_leak
  77. Memcheck:Leak
  78. ...
  79. obj:*libatical*
  80. }
  81. {
  82. atical_cond
  83. Memcheck:Cond
  84. ...
  85. obj:*libatical*
  86. }
  87. {
  88. amdocl_leak
  89. Memcheck:Leak
  90. ...
  91. obj:*libamdocl*
  92. }
  93. {
  94. amdocl_param
  95. Memcheck:Param
  96. write(buf)
  97. fun:*write*
  98. obj:*libamdocl*
  99. }
  100. {
  101. opencl_leak
  102. Memcheck:Leak
  103. ...
  104. obj:*libOpenCL*
  105. ...
  106. fun:clGetPlatformIDs
  107. }
  108. {
  109. libatiadl_xcb_leak
  110. Memcheck:Leak
  111. ...
  112. obj:*libxcb*
  113. ...
  114. fun:XOpenDisplay
  115. ...
  116. obj:*libatiadl*
  117. }
  118. # libpciaccess global state leak
  119. {
  120. libpciaccess_device_name_leak
  121. Memcheck:Leak
  122. ...
  123. fun:pci_device_get_device_name
  124. fun:hwloc_look_pci
  125. }
  126. {
  127. libpciaccess_leak
  128. Memcheck:Leak
  129. ...
  130. obj:*libpciaccess*
  131. ...
  132. fun:hwloc_look_pci
  133. }
  134. # libudev global hashes
  135. {
  136. libudev_hashmap_property
  137. Memcheck:Leak
  138. fun:malloc
  139. ...
  140. fun:udev_device_get_property_value
  141. }
  142. {
  143. libudev_hashmap_sysname
  144. Memcheck:Leak
  145. fun:malloc
  146. ...
  147. fun:udev_device_new_from_subsystem_sysname
  148. }