On Thu, 6 Dec 2018 21:42:14 +0100 Thomas Schwinge <tho...@codesourcery.com> wrote:
> [...] > ..., where the "Invalid read of size 8" happens, and which eventually > would try to "free (tgt)" again, via libgomp/target.c:gomp_unmap_tgt: > > attribute_hidden void > gomp_unmap_tgt (struct target_mem_desc *tgt) > { > /* Deallocate on target the tgt->tgt_start .. tgt->tgt_end > region. */ if (tgt->tgt_end) > gomp_free_device_memory (tgt->device_descr, tgt->to_free); > > free (tgt->array); > free (tgt); > } > > Is the "free (tgt)" in libgomp/target.c:gomp_unmap_vars_async wrong, > or something else? It might be worth trying this with the refcounting changes in the attach/detach patch. Julian