[PATCH libdrm 2/2] libdrm: clean up non list code path for vamgr

Michel Dänzer michel at daenzer.net
Thu Feb 8 09:01:41 UTC 2018


Hi David,


this change completely broke radeonsi due to memory management errors
(see valgrind output for glxgears below), so I had to revert it.


==4831== Memcheck, a memory error detector
==4831== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==4831== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==4831== Command: glxgears
==4831== 
==4831== Invalid read of size 8
==4831==    at 0xAE4E79B: list_add (util_double_list.h:56)
==4831==    by 0xAE4E79B: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:184)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==    by 0x535BCCE: FreeScreenConfigs.isra.3 (glxext.c:221)
==4831==  Address 0x151eccb8 is 8 bytes inside a block of size 32 free'd
==4831==    at 0x4C2DDBB: free (vg_replace_malloc.c:530)
==4831==    by 0xAE4E85B: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:165)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==  Block was alloc'd at
==4831==    at 0x4C2EBA5: calloc (vg_replace_malloc.c:711)
==4831==    by 0xAE4E795: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:180)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831== 
==4831== Invalid read of size 8
==4831==    at 0xAE4E7B0: list_add (util_double_list.h:57)
==4831==    by 0xAE4E7B0: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:184)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==    by 0x535BCCE: FreeScreenConfigs.isra.3 (glxext.c:221)
==4831==  Address 0x151eccb8 is 8 bytes inside a block of size 32 free'd
==4831==    at 0x4C2DDBB: free (vg_replace_malloc.c:530)
==4831==    by 0xAE4E85B: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:165)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==  Block was alloc'd at
==4831==    at 0x4C2EBA5: calloc (vg_replace_malloc.c:711)
==4831==    by 0xAE4E795: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:180)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831== 
==4831== Invalid write of size 8
==4831==    at 0xAE4E7BB: list_add (util_double_list.h:58)
==4831==    by 0xAE4E7BB: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:184)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==    by 0x535BCCE: FreeScreenConfigs.isra.3 (glxext.c:221)
==4831==  Address 0x151eccb8 is 8 bytes inside a block of size 32 free'd
==4831==    at 0x4C2DDBB: free (vg_replace_malloc.c:530)
==4831==    by 0xAE4E85B: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:165)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==  Block was alloc'd at
==4831==    at 0x4C2EBA5: calloc (vg_replace_malloc.c:711)
==4831==    by 0xAE4E795: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:180)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831== 
==4831== Invalid read of size 8
==4831==    at 0xAE4E730: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:149)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==    by 0x535BCCE: FreeScreenConfigs.isra.3 (glxext.c:221)
==4831==  Address 0x150164b0 is 16 bytes inside a block of size 32 free'd
==4831==    at 0x4C2DDBB: free (vg_replace_malloc.c:530)
==4831==    by 0xAE4E85B: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:165)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==  Block was alloc'd at
==4831==    at 0x4C2EBA5: calloc (vg_replace_malloc.c:711)
==4831==    by 0xAE4E795: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:180)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0xA12EADF: pb_destroy (pb_buffer.h:232)
==4831==    by 0xA12EADF: pb_reference (pb_buffer.h:242)
==4831==    by 0xA12EADF: r600_texture_destroy (r600_texture.c:825)
==4831==    by 0x9D8490E: pipe_resource_reference (u_inlines.h:144)
==4831==    by 0x9D8490E: dri2_destroy_image (dri_helpers.c:317)
==4831==    by 0x538A94D: dri3_free_render_buffer.isra.3 (loader_dri3_helper.c:223)
==4831==    by 0x538B347: loader_dri3_drawable_fini (loader_dri3_helper.c:238)
==4831==    by 0x53861E4: dri3_destroy_drawable (dri3_glx.c:338)
==4831==    by 0x537F739: driReleaseDrawables (dri_common.c:481)
==4831==    by 0x53866C2: dri3_destroy_context (dri3_glx.c:166)
==4831==    by 0x5358792: glXDestroyContext (glxcmds.c:471)
==4831== 
==4831== Invalid read of size 8
==4831==    at 0xAE4E73D: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:148)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==    by 0x535BCCE: FreeScreenConfigs.isra.3 (glxext.c:221)
==4831==  Address 0x150164a8 is 8 bytes inside a block of size 32 free'd
==4831==    at 0x4C2DDBB: free (vg_replace_malloc.c:530)
==4831==    by 0xAE4E85B: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:165)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==  Block was alloc'd at
==4831==    at 0x4C2EBA5: calloc (vg_replace_malloc.c:711)
==4831==    by 0xAE4E795: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:180)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0xA12EADF: pb_destroy (pb_buffer.h:232)
==4831==    by 0xA12EADF: pb_reference (pb_buffer.h:242)
==4831==    by 0xA12EADF: r600_texture_destroy (r600_texture.c:825)
==4831==    by 0x9D8490E: pipe_resource_reference (u_inlines.h:144)
==4831==    by 0x9D8490E: dri2_destroy_image (dri_helpers.c:317)
==4831==    by 0x538A94D: dri3_free_render_buffer.isra.3 (loader_dri3_helper.c:223)
==4831==    by 0x538B347: loader_dri3_drawable_fini (loader_dri3_helper.c:238)
==4831==    by 0x53861E4: dri3_destroy_drawable (dri3_glx.c:338)
==4831==    by 0x537F739: driReleaseDrawables (dri_common.c:481)
==4831==    by 0x53866C2: dri3_destroy_context (dri3_glx.c:166)
==4831==    by 0x5358792: glXDestroyContext (glxcmds.c:471)
==4831== 
==4831== Invalid write of size 8
==4831==    at 0xAE4E983: list_del (util_double_list.h:80)
==4831==    by 0xAE4E983: amdgpu_vamgr_deinit (amdgpu_vamgr.c:70)
==4831==    by 0xAE4D883: amdgpu_device_free_internal (amdgpu_device.c:134)
==4831==    by 0xAE4DD9B: amdgpu_device_reference (amdgpu_device.c:164)
==4831==    by 0xAE4DD9B: amdgpu_device_deinitialize (amdgpu_device.c:307)
==4831==    by 0xA0FFD9A: do_winsys_deinit (amdgpu_winsys.c:84)
==4831==    by 0xA0FFD9A: amdgpu_winsys_destroy (amdgpu_winsys.c:101)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==    by 0x535BCCE: FreeScreenConfigs.isra.3 (glxext.c:221)
==4831==    by 0x535BD4E: glx_display_free (glxext.c:244)
==4831==    by 0x535BE8D: __glXCloseDisplay (glxext.c:299)
==4831==  Address 0x150164a0 is 0 bytes inside a block of size 32 free'd
==4831==    at 0x4C2DDBB: free (vg_replace_malloc.c:530)
==4831==    by 0xAE4E85B: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:165)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==  Block was alloc'd at
==4831==    at 0x4C2EBA5: calloc (vg_replace_malloc.c:711)
==4831==    by 0xAE4E795: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:180)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0xA12EADF: pb_destroy (pb_buffer.h:232)
==4831==    by 0xA12EADF: pb_reference (pb_buffer.h:242)
==4831==    by 0xA12EADF: r600_texture_destroy (r600_texture.c:825)
==4831==    by 0x9D8490E: pipe_resource_reference (u_inlines.h:144)
==4831==    by 0x9D8490E: dri2_destroy_image (dri_helpers.c:317)
==4831==    by 0x538A94D: dri3_free_render_buffer.isra.3 (loader_dri3_helper.c:223)
==4831==    by 0x538B347: loader_dri3_drawable_fini (loader_dri3_helper.c:238)
==4831==    by 0x53861E4: dri3_destroy_drawable (dri3_glx.c:338)
==4831==    by 0x537F739: driReleaseDrawables (dri_common.c:481)
==4831==    by 0x53866C2: dri3_destroy_context (dri3_glx.c:166)
==4831==    by 0x5358792: glXDestroyContext (glxcmds.c:471)
==4831== 
==4831== Invalid read of size 8
==4831==    at 0xAE4E98B: amdgpu_vamgr_deinit (amdgpu_vamgr.c:69)
==4831==    by 0xAE4D883: amdgpu_device_free_internal (amdgpu_device.c:134)
==4831==    by 0xAE4DD9B: amdgpu_device_reference (amdgpu_device.c:164)
==4831==    by 0xAE4DD9B: amdgpu_device_deinitialize (amdgpu_device.c:307)
==4831==    by 0xA0FFD9A: do_winsys_deinit (amdgpu_winsys.c:84)
==4831==    by 0xA0FFD9A: amdgpu_winsys_destroy (amdgpu_winsys.c:101)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==    by 0x535BCCE: FreeScreenConfigs.isra.3 (glxext.c:221)
==4831==    by 0x535BD4E: glx_display_free (glxext.c:244)
==4831==    by 0x535BE8D: __glXCloseDisplay (glxext.c:299)
==4831==  Address 0x150164a8 is 8 bytes inside a block of size 32 free'd
==4831==    at 0x4C2DDBB: free (vg_replace_malloc.c:530)
==4831==    by 0xAE4E85B: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:165)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==  Block was alloc'd at
==4831==    at 0x4C2EBA5: calloc (vg_replace_malloc.c:711)
==4831==    by 0xAE4E795: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:180)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0xA12EADF: pb_destroy (pb_buffer.h:232)
==4831==    by 0xA12EADF: pb_reference (pb_buffer.h:242)
==4831==    by 0xA12EADF: r600_texture_destroy (r600_texture.c:825)
==4831==    by 0x9D8490E: pipe_resource_reference (u_inlines.h:144)
==4831==    by 0x9D8490E: dri2_destroy_image (dri_helpers.c:317)
==4831==    by 0x538A94D: dri3_free_render_buffer.isra.3 (loader_dri3_helper.c:223)
==4831==    by 0x538B347: loader_dri3_drawable_fini (loader_dri3_helper.c:238)
==4831==    by 0x53861E4: dri3_destroy_drawable (dri3_glx.c:338)
==4831==    by 0x537F739: driReleaseDrawables (dri_common.c:481)
==4831==    by 0x53866C2: dri3_destroy_context (dri3_glx.c:166)
==4831==    by 0x5358792: glXDestroyContext (glxcmds.c:471)
==4831== 
==4831== Invalid read of size 8
==4831==    at 0xAE4E978: list_del (util_double_list.h:79)
==4831==    by 0xAE4E978: amdgpu_vamgr_deinit (amdgpu_vamgr.c:70)
==4831==    by 0xAE4D883: amdgpu_device_free_internal (amdgpu_device.c:134)
==4831==    by 0xAE4DD9B: amdgpu_device_reference (amdgpu_device.c:164)
==4831==    by 0xAE4DD9B: amdgpu_device_deinitialize (amdgpu_device.c:307)
==4831==    by 0xA0FFD9A: do_winsys_deinit (amdgpu_winsys.c:84)
==4831==    by 0xA0FFD9A: amdgpu_winsys_destroy (amdgpu_winsys.c:101)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==    by 0x535BCCE: FreeScreenConfigs.isra.3 (glxext.c:221)
==4831==    by 0x535BD4E: glx_display_free (glxext.c:244)
==4831==    by 0x535BE8D: __glXCloseDisplay (glxext.c:299)
==4831==  Address 0x150164a0 is 0 bytes inside a block of size 32 free'd
==4831==    at 0x4C2DDBB: free (vg_replace_malloc.c:530)
==4831==    by 0xAE4E85B: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:165)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==  Block was alloc'd at
==4831==    at 0x4C2EBA5: calloc (vg_replace_malloc.c:711)
==4831==    by 0xAE4E795: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:180)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0xA12EADF: pb_destroy (pb_buffer.h:232)
==4831==    by 0xA12EADF: pb_reference (pb_buffer.h:242)
==4831==    by 0xA12EADF: r600_texture_destroy (r600_texture.c:825)
==4831==    by 0x9D8490E: pipe_resource_reference (u_inlines.h:144)
==4831==    by 0x9D8490E: dri2_destroy_image (dri_helpers.c:317)
==4831==    by 0x538A94D: dri3_free_render_buffer.isra.3 (loader_dri3_helper.c:223)
==4831==    by 0x538B347: loader_dri3_drawable_fini (loader_dri3_helper.c:238)
==4831==    by 0x53861E4: dri3_destroy_drawable (dri3_glx.c:338)
==4831==    by 0x537F739: driReleaseDrawables (dri_common.c:481)
==4831==    by 0x53866C2: dri3_destroy_context (dri3_glx.c:166)
==4831==    by 0x5358792: glXDestroyContext (glxcmds.c:471)
==4831== 
==4831== Invalid read of size 8
==4831==    at 0xAE4E97F: list_del (util_double_list.h:80)
==4831==    by 0xAE4E97F: amdgpu_vamgr_deinit (amdgpu_vamgr.c:70)
==4831==    by 0xAE4D883: amdgpu_device_free_internal (amdgpu_device.c:134)
==4831==    by 0xAE4DD9B: amdgpu_device_reference (amdgpu_device.c:164)
==4831==    by 0xAE4DD9B: amdgpu_device_deinitialize (amdgpu_device.c:307)
==4831==    by 0xA0FFD9A: do_winsys_deinit (amdgpu_winsys.c:84)
==4831==    by 0xA0FFD9A: amdgpu_winsys_destroy (amdgpu_winsys.c:101)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==    by 0x535BCCE: FreeScreenConfigs.isra.3 (glxext.c:221)
==4831==    by 0x535BD4E: glx_display_free (glxext.c:244)
==4831==    by 0x535BE8D: __glXCloseDisplay (glxext.c:299)
==4831==  Address 0x150164a8 is 8 bytes inside a block of size 32 free'd
==4831==    at 0x4C2DDBB: free (vg_replace_malloc.c:530)
==4831==    by 0xAE4E85B: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:165)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==  Block was alloc'd at
==4831==    at 0x4C2EBA5: calloc (vg_replace_malloc.c:711)
==4831==    by 0xAE4E795: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:180)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0xA12EADF: pb_destroy (pb_buffer.h:232)
==4831==    by 0xA12EADF: pb_reference (pb_buffer.h:242)
==4831==    by 0xA12EADF: r600_texture_destroy (r600_texture.c:825)
==4831==    by 0x9D8490E: pipe_resource_reference (u_inlines.h:144)
==4831==    by 0x9D8490E: dri2_destroy_image (dri_helpers.c:317)
==4831==    by 0x538A94D: dri3_free_render_buffer.isra.3 (loader_dri3_helper.c:223)
==4831==    by 0x538B347: loader_dri3_drawable_fini (loader_dri3_helper.c:238)
==4831==    by 0x53861E4: dri3_destroy_drawable (dri3_glx.c:338)
==4831==    by 0x537F739: driReleaseDrawables (dri_common.c:481)
==4831==    by 0x53866C2: dri3_destroy_context (dri3_glx.c:166)
==4831==    by 0x5358792: glXDestroyContext (glxcmds.c:471)
==4831== 
==4831== Invalid free() / delete / delete[] / realloc()
==4831==    at 0x4C2DDBB: free (vg_replace_malloc.c:530)
==4831==    by 0xAE4E98A: amdgpu_vamgr_deinit (amdgpu_vamgr.c:71)
==4831==    by 0xAE4D883: amdgpu_device_free_internal (amdgpu_device.c:134)
==4831==    by 0xAE4DD9B: amdgpu_device_reference (amdgpu_device.c:164)
==4831==    by 0xAE4DD9B: amdgpu_device_deinitialize (amdgpu_device.c:307)
==4831==    by 0xA0FFD9A: do_winsys_deinit (amdgpu_winsys.c:84)
==4831==    by 0xA0FFD9A: amdgpu_winsys_destroy (amdgpu_winsys.c:101)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==    by 0x535BCCE: FreeScreenConfigs.isra.3 (glxext.c:221)
==4831==    by 0x535BD4E: glx_display_free (glxext.c:244)
==4831==  Address 0x150164a0 is 0 bytes inside a block of size 32 free'd
==4831==    at 0x4C2DDBB: free (vg_replace_malloc.c:530)
==4831==    by 0xAE4E85B: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:165)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0x9DD5067: pb_cache_release_all_buffers (pb_cache.c:241)
==4831==    by 0x9DD5260: pb_cache_deinit (pb_cache.c:313)
==4831==    by 0xA0FFD82: amdgpu_winsys_destroy (amdgpu_winsys.c:99)
==4831==    by 0xA051D76: si_destroy_screen (si_pipe.c:515)
==4831==    by 0x9D85448: dri_destroy_screen_helper (dri_screen.c:454)
==4831==    by 0x9D85475: dri_destroy_screen (dri_screen.c:464)
==4831==    by 0x9D82076: driDestroyScreen (dri_util.c:231)
==4831==    by 0x5386222: dri3_destroy_screen (dri3_glx.c:584)
==4831==  Block was alloc'd at
==4831==    at 0x4C2EBA5: calloc (vg_replace_malloc.c:711)
==4831==    by 0xAE4E795: amdgpu_vamgr_free_va.part.0 (amdgpu_vamgr.c:180)
==4831==    by 0xAE4EB2C: amdgpu_vamgr_free_va (amdgpu_vamgr.c:141)
==4831==    by 0xAE4EB2C: amdgpu_va_range_free (amdgpu_vamgr.c:246)
==4831==    by 0xA0FA53E: amdgpu_bo_destroy (amdgpu_bo.c:178)
==4831==    by 0xA12EADF: pb_destroy (pb_buffer.h:232)
==4831==    by 0xA12EADF: pb_reference (pb_buffer.h:242)
==4831==    by 0xA12EADF: r600_texture_destroy (r600_texture.c:825)
==4831==    by 0x9D8490E: pipe_resource_reference (u_inlines.h:144)
==4831==    by 0x9D8490E: dri2_destroy_image (dri_helpers.c:317)
==4831==    by 0x538A94D: dri3_free_render_buffer.isra.3 (loader_dri3_helper.c:223)
==4831==    by 0x538B347: loader_dri3_drawable_fini (loader_dri3_helper.c:238)
==4831==    by 0x53861E4: dri3_destroy_drawable (dri3_glx.c:338)
==4831==    by 0x537F739: driReleaseDrawables (dri_common.c:481)
==4831==    by 0x53866C2: dri3_destroy_context (dri3_glx.c:166)
==4831==    by 0x5358792: glXDestroyContext (glxcmds.c:471)
==4831== 
==4831== 
==4831== HEAP SUMMARY:
==4831==     in use at exit: 156,580 bytes in 1,724 blocks
==4831==   total heap usage: 66,624 allocs, 64,901 frees, 32,392,118 bytes allocated
==4831== 
==4831== LEAK SUMMARY:
==4831==    definitely lost: 96 bytes in 3 blocks
==4831==    indirectly lost: 0 bytes in 0 blocks
==4831==      possibly lost: 0 bytes in 0 blocks
==4831==    still reachable: 156,484 bytes in 1,721 blocks
==4831==         suppressed: 0 bytes in 0 blocks
==4831== Rerun with --leak-check=full to see details of leaked memory
==4831== 
==4831== For counts of detected and suppressed errors, rerun with: -v
==4831== ERROR SUMMARY: 19 errors from 10 contexts (suppressed: 0 from 0)



-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the amd-gfx mailing list