About 'error stop' statement

Angelo Graziosi angelo.graziosi@alice.it
Sun Aug 6 14:37:00 GMT 2017


Ciao Anton,

Il 06/08/2017 14:23, Anton Shterenlikht ha scritto:> All of the above 
outputs are acceptable.
> ERROR STOP initiates error termination.
> The standard says, N2134, 5.3.7p3 [42:16-17]:
> "When error termination on an image has been
> initiated, the processor should initiate
> error termination on other images as quickly
> as possible."
> 
> Basically, anything can happen.
> If calling MPI_abort is deemed by the implementors
> to be the quickest way, then this is acceptable.
> If an image has initiated error termination, it's
> data might or might not be accessible from other images.
> If other images try to access it's data before they
> realise that error termination was initiated, you
> can segfaults or MPI errors or any other error, really.
> None of this matters, because the aim of error termination
> is to quit the execution on all images as fast as possible.
> The way this is achieved does not matter.

when this morning I saw "Program received signal SIGSEGV: Segmentation 
fault - invalid memory reference." in the example n. (1), I tried to 
figure out what was happening in my apps because, a few months ago, it 
did not occur.. and so I tried with the test case..

So a change between versions 5.x and 6.x of gfortran is causing this, 
likely because now 'error stop' is more standard conform.

Really I consider this very misleading, maybe I have to replace the new 
"error stop" with the old 'stop' statement.

Thanks for clarification.

Ciao,
  Angelo.



More information about the Fortran mailing list