This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Edges, predictions, and GC crashes ...


> Hello,
> 
> I'm seeing compiler crashes during garbage collection when using mudflap.
> 
> The problem appears to be that some basic_block_def structures point to
> edge_prediction structures which point to edge_def structures that have
> already been ggc_free()'d.
> 
> Now, looking at remove_edge (cfg.c) is does indeed appear that it is
> possible for edges to get deleted without the corresponding prediction
> structure being removed as well ...
> 
> How is this supposed to work?

I didn't have any cleanup_cfg in between earliest place putting
predictions and the profiling pass consuming them, so this scenario
didn't happen.  This has however changed a long time ago.  I guess just
teaching remove_edge to walk prediction list if it is present and kill
now dead predictions would not be perfomrance overkill as the
predictions are rare, I can implement that if you pass me some testcase.

Honza
> 
> Bye,
> Ulrich
> 
> -- 
>   Dr. Ulrich Weigand
>   Linux on zSeries Development
>   Ulrich.Weigand@de.ibm.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]