This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: gfc_array_range_type being garbage collected?
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: langton2 at llnl dot gov (Asher Langton)
- Cc: fortran at gcc dot gnu dot org
- Date: Thu, 28 Jul 2005 00:25:16 -0400 (EDT)
- Subject: Re: gfc_array_range_type being garbage collected?
>
> Hi,
>
> I've come across a strange bug while preparing the Cray pointer patch
> for release. In a large test program, I get an ICE due to
> gfc_array_range_type being overwritten prior to being used in
> gfc_get_array_type_bounds. This only happens with a sufficiently
> large program, and it appears that gfc_array_range_type is being
> garbage collected:
>
> Hardware watchpoint 6: *1073909760
> (gdb) cont
> MAIN__ loctest ptrparms pteparm1 ptr1 ptr2 ptr3 ptr4 ptr5 ptr6 {GC
> 5429k -> Hardware watchpoint 6: *1073909760
>
> Old value = 0
> New value = -1515870811
> 0x001d9c77 in memset () from /lib/tls/libc.so.6
>
> This happens while translating a Cray pointee, but I don't think it's
> related; the same subroutine compiles and runs fine in a smaller
> program. Does anybody have an idea what could be happening?
Figure out where the ggc_collect is being called. You might have
forgot to do the GTY dance. if you want a reduced testcase
use --param ggc-min-expand=0 --param ggc-min-heapsize=0. At that
point it might become obvious to you where the problem is.
-- Pinski