Fil-C on Nix

Filnix wiki

mbrock/filnix

tests/determinate-nix/race.nix

Many attributes share one failing thunk. nixeval − −json with eval-cores > 1 forces them on worker threads; every forcing rethrows the *same* exception object and the catch sites (forceInt's errorCtx, primop call traces) prepend traces to it concurrently, while the main thread prints it.

λn?
ndefault 5000
let
9bad=
builtins.throw"shared failure"
in
builtins.listToAttrs
builtins.genList
λi
13name=
"a${toStringi}"
14value=
15x=
builtins.addbad i
16y=
builtins.subi bad