Chapel 2.8 infinite loop

Is it just me or is anybody else frequently seeing chapel 2.8 going into infinite loops?

I see different patterns at different times.

Once it was because of a pattern like this:

const ref xt : [0..#H, 0..#W] real( 32 ) = A[1..#H, 3..#W];

from inside a recursive routine.

Another time it was because of a pattern like this:

proc foo () : (real( 32 ), int( 32 )) {
  ..;
  if .. {
    return (0, 0);
  } else {
    ..;
    return (x, y);
  }
}

proc recgoo () {
  const (a, b) = foo ();
  recgoo ();
}

Since the terminal would fill up with the infinite loop of error messages, it took some well timed ctrl-c's to find the offending line number.

However I doubt the above examples are MWEs.

--shiv--

Hi @00shiv,

Are these regressions you are seeing in chpl 2.8 from chpl 2.7? Or has it always not worked and we are just now finding the bugs?

Regardless, these are patterns that should be fixed. Even if you don't have a MWE, if you are able to share reproducers that will help us fix the issue.

Thanks!
-Jade

1 Like

Once I did try the code on 2.7 and it had the same issue. Next time I run into this I will directly the send the code. It is a single file compilation, but it is not runnable without large data files. Hopefully that will be enough.
Thanks!
--shiv--

2 Likes