Open cianciosa opened 3 years ago
Looking at some debugging information, of https://github.com/ORNL-Fusion/PARVMEC/blob/41375c75ca3e3e1305eddef6a70521abf82e8d1a/Sources/General/blocktridiagonalsolver_bst.f90#L2005
orig
is alloced with a lower and upper bounds of 1 and 2. But globrowoff
is trying to access the 3rd index.
Crash is happening because something is changing the size of startglobrow
and endglobrow
.
It looks like the crash happens because of the following sequence.
This line causes the loop to return back to tag 50 and https://github.com/ORNL-Fusion/PARVMEC/blob/41375c75ca3e3e1305eddef6a70521abf82e8d1a/Sources/TimeStep/runvmec.f#L381
At the second attempt of the multigrid, the loop counter starts at index zero since jacobian_off is one.
Joachim Geiger has reported a crash when running with multiple processors. The following input files Cases.zip show the behavior.
input.crashes uses an extended number of modes and crashed with a heap-overflow error when run with more than a single processor. The
input.works` is the same case with a reduced number of modes. This cases does not exhibit the behavior. The crash was reported using the ifort compiler however, I was able to reproduce this crash by turning on the address-sanitizer flag.