Hi! On Thu, 13 Dec 2018 23:28:49 +0800, Chung-Lin Tang <chunglin_t...@mentor.com> wrote: > On 2018/12/7 6:26 AM, Julian Brown wrote: > > 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.
Well, which exactly? > > ...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. Thanks, and right, and yes, I got that one included. > just first asking if you tried Julian's patch during this time, and if so did > it do anything different? I did not test with all the attach/detach patches on top of this one here. That's too many changes at once. Grüße Thomas