Open cassella opened 4 years ago
I was able to reduce it, though the internal error it's hitting now is different.
[ edit: that is, when I revisited the original code on the date of this comment, the internal error it hit had changed. I was able to reduce the code down to this, hitting that same new error. ]
record BenchRecord {
var D: domain(1);
var n: [D] int(64);
proc init()
{
this.D = {0..1};
this.n = [0,1];
}
}
var n = [100, 500, 100];
var results: [0..#1] BenchRecord;
for j in 0..n.size {
// XXX: This was intended to be results[0].n[j]
var tmp = results.n[0][j]: string;
}
foo.chpl:16: internal error: assertion error [AST//home/fortytwo/src/chapel/compiler/AST/iterator.cpp:522]
aka
foo.chpl:16: internal error: AST-ITE-TOR-0522 chpl version 1.30.0 pre-release (b'ae52de5bbc')
Note: This source location is a guess.
Internal errors indicate a bug in the Chapel compiler ("It's us, not you"),
and we're sorry for the hassle. We would appreciate your reporting this bug --
please see https://chapel-lang.org/bugs.html for instructions. In the meantime,
the filename + line number above may be useful in working around the issue.
which is in setIteratorRecordShape()
:
if (field == NULL) {
...
} else {
INT_ASSERT(field->type == value->type);
}
Using this script-internal-error.chpl
https://gist.github.com/cassella/5047b3ce3f846c1765dc064a2f38be27
With the kernel-matrix.chpl from
https://gist.github.com/dataPulverizer/5ee481d5a8215ddea42a08835c0d1efb
results in an internal error:
Compile command:
(RES-WRA-ERS-1934)
Source Code:
The error in my source code was
instead of
I assume it's trying to promote the field access over the
results
array in the bad version.Associated Future Test(s):
test/functions/iterators/errors/mistakenIteratorShape.chpl
#21306Configuration Information