gfc_array_range_type being garbage collected?

Asher Langton langton2@llnl.gov
Thu Jul 28 16:30:00 GMT 2005


At 11:07 AM +0200 7/28/05, Steven Bosscher wrote:
>On Thursday 28 July 2005 06:22, Asher Langton wrote:
>>  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?
>
>gfc_array_range_type is being garbage collected :-)
>
>Try this patch.


Ah, thank you!  I was testing some last minute changes to the Cray 
pointer patch, and ended up chasing this bug for hours.  (The 
paperwork for the Cray pointer patch is now in order, so after I do a 
final bootstrap and make check, I'll post the patch here.)


-Asher



More information about the Fortran mailing list