Skip to content

gfortran 11.2 throws IEEE overflow and invalid exceptions on apple silicon arm64 #3148

Discussion options

You must be logged in to vote

Hello again,

I managed to trace the error to a matrix inversion subroutine for solving the problem A.x = b where A and b are computed by the rest of the program. This routine ('linbcg') is called on each iteration of the loop (as part of another subroutine 'calvel'), with new values for A and b, but the value of the output x was not cleared between iterations and just overwritten, however, since the method uses preconditioning and changes between iterations are small, the previous value of x was handed over as an initial guess. It then seems that there was some kind of memory corruption after the second iteration that corrupted x and then threw the code off the rails (see attached screens…

Replies: 2 comments 2 replies

Comment options

You must be logged in to vote
2 replies
@achamolly
Comment options

@carlocab
Comment options

Comment options

You must be logged in to vote
0 replies
Answer selected by achamolly
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants