On Thu, 6 Dec 2018 22:22:46 +0000 Julian Brown <jul...@codesourcery.com> wrote:
> 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. ...oh, also make sure you have this patch in the series you're testing with: https://gcc.gnu.org/ml/gcc-patches/2018-08/msg01973.html else your "wait" will be ignored, IIUC. Julian