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

Chunming Zhou zhoucm1 at amd.com
Thu Feb 8 09:13:19 UTC 2018



On 2018年02月08日 17:01, Michel Dänzer wrote:
> Hi David,
>
>
> this change completely broke radeonsi due to memory management errors
> (see valgrind output for glxgears below), so I had to revert it.
ok, I will look into what happens. Sorry for broken.

Regards,
David Zhou
>
>
> ==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)
>
>
>



More information about the amd-gfx mailing list