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