I accidentally made a typo in a random piece of code I wrote, and I can't understand the ensuing crash. To replicate, put this in a file and run from "needs" until the end.
await = method(Dispatch => Thing)
await Thing := identity
await BasicList := L -> apply(L, await)
await Task := await @@ taskResult
async = method(Dispatch => Thing)
async Function := f -> (x -> schedule(f, x))
repeat = (n, R) -> (
if n == 1 then return n;
r := {repeat(n//2, R), repeat(n//2, R)};
basis(10, ideal vars R);
t) -- <-- here is my typo!
repeat = async repeat
end--
restart
needs "parallel.m2"
R = ZZ/101[x_0..x_10]
elapsedTime await repeat(allowableThreads*2, R)
Note the typo I made, the t should have been an r. Here is what I got on a 1.24.05 binary:
I accidentally made a typo in a random piece of code I wrote, and I can't understand the ensuing crash. To replicate, put this in a file and run from "needs" until the end.
Note the typo I made, the
t
should have been anr
. Here is what I got on a1.24.05
binary:If I fix the
t
tor
then I don't get this error. It also doesn't happen if the first input torepeat
is at most a little aboveallowableThreads
.What on earth is happening?