------- Comment #2 from burnus at gcc dot gnu dot org 2007-01-23 20:56 ------- Some more debug information:
The error occurs when the symbol "hessian" is written. The error is gone if one removes the ": only ENERGY_CONSTRAINT" or the "use atoms" from the POTENTIAL_ENERGY module (if you have {atom,constraint}.mod files, the two use statements in POTENTIAL_ENERGY are enough to cause the ICE.) Till write_symbol everything looks fine (and a printf(sym-name) prints "hessian" before the ICE occurs.) ==1963== Invalid read of size 8 ==1963== at 0x43C85E: mio_pointer_ref (module.c:1945) ==1963== by 0x43CCB6: mio_symbol_ref (module.c:2174) ==1963== by 0x43CD38: mio_symtree_ref (module.c:2200) ==1963== by 0x43D767: mio_expr (module.c:2699) ==1963== by 0x43C5E1: mio_array_spec (module.c:1846) ==1963== by 0x43DCC8: mio_symbol (module.c:2946) ==1963== by 0x43EC5B: write_symbol (module.c:3640) ==1963== by 0x43EE0E: write_symbol1 (module.c:3708) ==1963== by 0x43EDC1: write_symbol1 (module.c:3701) ==1963== by 0x43F149: write_module (module.c:3828) ==1963== by 0x43F34D: gfc_dump_module (module.c:3891) ==1963== by 0x446C2A: gfc_parse_file (parse.c:3239) ==1963== Address 0x28 is not stack'd, malloc'd or (recently) free'd -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30554