Thread View: mod.computers.apollo
1 messages
1 total messages
Started by Neal Holtz
Thu, 06 Mar 1986 04:28
Guard faults (large local arrays in Fortran)
Author: Neal Holtz
Date: Thu, 06 Mar 1986 04:28
Date: Thu, 06 Mar 1986 04:28
21 lines
1883 bytes
1883 bytes
In several different circumstances recently, we have received 'guard faults'
from Fortran programs. Turns out that these are stack overflows, caused by
large (200,000+ byte) local arrays in subroutines (all allocated on the
stack, by default). The reasons for this happening are quite understandable,
but it turns out that this is EXTREMELY hard for the typical Fortran user
to diagnose (even though they might otherwise be quite knowledgable).
It produces diagnostics entirely outside their realm of experience, and
is not even consistently repeatable (at least apparently).
Run it under the debugger, and the problem doesn't happen (the new cross
process debugging surely helps, but indirectly, as the fault will still
occur, but it is still not obvious as to why).
[Side question. One of these monsters run in a new shell will result in
a guard fault. Run it again immediately, and it seemingly works
properly. Why????]
I don't know what I'm suggesting, but I wish there was a better way.
Perhaps as little as a documentation section in the Fortran manual
as to the most common causes of guard faults, references to illegal
addresses, etc.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads