Was getting ASAN errors in CI when trying to add ANV to the
debian-testing job:
==10993==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 4194304 byte(s) in 64 object(s) allocated from:
#0 0x7f763c1bda3c in __interceptor_posix_memalign ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:226
#1 0x55f43d28627f in os_malloc_aligned ../src/util/os_memory_aligned.h:58
#2 0x55f43d28627f in _util_sparse_array_node_alloc ../src/util/sparse_array.c:107
#3 0x55f43d28627f in util_sparse_array_get ../src/util/sparse_array.c:143
#4 0x55f43d1fdaba in anv_device_lookup_bo ../src/intel/vulkan/anv_private.h:1335
#5 0x55f43d1fdaba in anv_device_import_bo_from_host_ptr ../src/intel/vulkan/anv_allocator.c:1843
#6 0x55f43d1ff571 in anv_block_pool_expand_range ../src/intel/vulkan/anv_allocator.c:534
#7 0x55f43d1ffcb5 in anv_block_pool_init ../src/intel/vulkan/anv_allocator.c:417
#8 0x55f43d18f082 in run_test ../src/intel/vulkan/tests/block_pool_no_free.c:123
#9 0x55f43d1862b6 in main ../src/intel/vulkan/tests/block_pool_no_free.c:152
#10 0x7f763b942d09 in __libc_start_main ../csu/libc-start.c:308
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14121>
memset(map, 22, block_size);
anv_block_pool_finish(&pool);
+ anv_bo_cache_finish(&device.bo_cache);
+ pthread_mutex_destroy(&device.mutex);
}
validate_monotonic(block_ptrs);
anv_block_pool_finish(&pool);
+ anv_bo_cache_finish(&device.bo_cache);
pthread_mutex_destroy(&device.mutex);
}
anv_state_pool_finish(&state_pool);
}
+ anv_bo_cache_finish(&device.bo_cache);
pthread_mutex_destroy(&device.mutex);
}
run_state_pool_test(&state_pool);
anv_state_pool_finish(&state_pool);
+ anv_bo_cache_finish(&device.bo_cache);
pthread_mutex_destroy(&device.mutex);
}
}
anv_state_pool_finish(&state_pool);
+ anv_bo_cache_finish(&device.bo_cache);
pthread_mutex_destroy(&device.mutex);
}
ASSERT(state.offset == pool_size);
anv_state_pool_finish(&state_pool);
+ anv_bo_cache_finish(&device.bo_cache);
+ pthread_mutex_destroy(&device.mutex);
}