https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116535
--- Comment #7 from Jan Hubicka <hubicka at ucw dot cz> --- > void > output_offload_tables (void) > { > ... > > /* In WHOPR mode during the WPA stage the joint offload tables need to be > streamed to one partition only. That's why we free offload_funcs and > offload_vars after the first call of output_offload_tables. */ > if (flag_wpa) > { > vec_free (offload_funcs); > vec_free (offload_vars); > vec_free (offload_ind_funcs); > } > } > > which obviously fails if multiple forks process such that each forks writes it > once, before freeing the vector ... We treat first partition somewhat specially in other code too, so I guess we could a test if the streamed partition is first one instad of relying on free to happen.