Skip to content

Add ghc9123 variant and Windows TH crash stress harness - #7836

Draft
zeme-wana wants to merge 3 commits into
masterfrom
claude/nervous-chatterjee-dea77b
Draft

Add ghc9123 variant and Windows TH crash stress harness#7836
zeme-wana wants to merge 3 commits into
masterfrom
claude/nervous-chatterjee-dea77b

Abort the stress loop on deterministic evaluation failures

94e6101
Select commit
Loading
Failed to load commit list.
IOG Hydra / ci/eval failed Jul 18, 2026 in 5s

Evaluation has errors

Checkout took 10s.
Evaluation took 1 min 40s.

Details

Evaluation error:

in job ‘x86_64-linux’:
error:
       … while evaluating the attribute 'hydraJobs'
         at /nix/store/v66g974x9bdndzik9d694faxr5h09b5j-source/nix/outputs.nix:182:11:
          181|   inherit checks;
          182|   inherit hydraJobs;
             |           ^
          183| }

       … from call site
         at /nix/store/v66g974x9bdndzik9d694faxr5h09b5j-source/nix/outputs.nix:153:12:
          152|
          153|   ciJobs = utils.flattenDerivationTree ":" nested-ci-jobs.${system};
             |            ^
          154|

       … while calling 'flattenDerivationTree'
         at /nix/store/v66g974x9bdndzik9d694faxr5h09b5j-source/nix/utils.nix:7:38:
            6|   # Used in: `nix/outputs.nix` (to build `flattened-ci-jobs` and `ciJobs`).
            7|   flattenDerivationTree = separator: set:
             |                                      ^
            8|     let

       … while calling the 'listToAttrs' builtin
         at /nix/store/v66g974x9bdndzik9d694faxr5h09b5j-source/nix/utils.nix:19:37:
           18|     in
           19|     assert lib.typeOf set == "set"; lib.listToAttrs (flatten "" set);
             |                                     ^
           20|

       … from call site
         at /nix/store/v66g974x9bdndzik9d694faxr5h09b5j-source/nix/utils.nix:19:54:
           18|     in
           19|     assert lib.typeOf set == "set"; lib.listToAttrs (flatten "" set);
             |                                                      ^
           20|

       … while calling 'flatten'
         at /nix/store/v66g974x9bdndzik9d694faxr5h09b5j-source/nix/utils.nix:12:23:
           11|
           12|       flatten = name: value:
             |                       ^
           13|         if lib.isDerivation value || lib.typeOf value != "set" then

       … while calling the 'concatLists' builtin
         at /nix/store/v66g974x9bdndzik9d694faxr5h09b5j-source/nix/utils.nix:16:11:
           15|         else
           16|           lib.concatLists (lib.mapAttrsToList (recurse name) value);
             |           ^
           17|

       … while calling 'flatten'
         at /nix/store/v66g974x9bdndzik9d694faxr5h09b5j-source/nix/utils.nix:12:23:
           11|
           12|       flatten = name: value:
             |                       ^
           13|         if lib.isDerivation value || lib.typeOf value != "set" then

       … while evaluating a branch condition
         at /nix/store/v66g974x9bdndzik9d694faxr5h09b5j-source/nix/utils.nix:13:9:
           12|       flatten = name: value:
           13|         if lib.isDerivation value || lib.typeOf value != "set" then
             |         ^
           14|           [{ inherit name value; }]

       … in the left operand of the OR (||) operator
         at /nix/store/v66g974x9bdndzik9d694faxr5h09b5j-source/nix/utils.nix:13:35:
           12|       flatten = name: value:
           13|         if lib.isDerivation value || lib.typeOf value != "set" then
             |                                   ^
           14|           [{ inherit name value; }]

       … from call site
         at /nix/store/v66g974x9bdndzik9d694faxr5h09b5j-source/nix/utils.nix:13:12:
           12|       flatten = name: value:
           13|         if lib.isDerivation value || lib.typeOf value != "set" then
             |            ^
           14|           [{ inherit name value; }]

       … while calling 'isDerivation'
         at /nix/store/201v6s1hyhfb4m6flp3gqiva1yy23dvj-source/lib/attrsets.nix:1251:18:
         1250|   */
         1251|   isDerivation = value: value.type or null == "derivation";
             |                  ^
         1252|

       … while evaluating the attribute 'flake'.packages."cardano-constitution:test:cardano-constitution-test"'
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:406:7:
          405|       inherit name;
          406|       value =
             |       ^
          407|         # This favours the first item (`a`) in the case of duplicates

       … in the right operand of the update (//) operator
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:413:33:
          412|         else
          413|           (b.${name} or {}) // (a.${name} or {});
             |                                 ^
          414|     }) (__attrNames (a // b)));

       … while evaluating the attribute 'packages'
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:406:7:
          405|       inherit name;
          406|       value =
             |       ^
          407|         # This favours the first item (`a`) in the case of duplicates

       … in the right operand of the update (//) operator
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:413:33:
          412|         else
          413|           (b.${name} or {}) // (a.${name} or {});
             |                                 ^
          414|     }) (__attrNames (a // b)));

       … while evaluating the attribute 'packages'
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:406:7:
          405|       inherit name;
          406|       value =
             |       ^
          407|         # This favours the first item (`a`) in the case of duplicates

       … in the right operand of the update (//) operator
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:413:33:
          412|         else
          413|           (b.${name} or {}) // (a.${name} or {});
             |                                 ^
          414|     }) (__attrNames (a // b)));

       … while evaluating the attribute 'packages'
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:406:7:
          405|       inherit name;
          406|       value =
             |       ^
          407|         # This favours the first item (`a`) in the case of duplicates

       … in the left operand of the update (//) operator
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:413:12:
          412|         else
          413|           (b.${name} or {}) // (a.${name} or {});
             |            ^
          414|     }) (__attrNames (a // b)));

       … from call site
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:413:12:
          412|         else
          413|           (b.${name} or {}) // (a.${name} or {});
             |            ^
          414|     }) (__attrNames (a // b)));

       … while calling 'prefixAttrs'
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:372:25:
          371|   # Use by `prefixFlake` to add a prefix to every attribute
          372|   prefixAttrs = prefix: x:
             |                         ^
          373|     __listToAttrs (map (n:{

       … while calling the 'listToAttrs' builtin
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:373:5:
          372|   prefixAttrs = prefix: x:
          373|     __listToAttrs (map (n:{
             |     ^
          374|       name = prefix + n;

       … while calling the 'map' builtin
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:373:20:
          372|   prefixAttrs = prefix: x:
          373|     __listToAttrs (map (n:{
             |                    ^
          374|       name = prefix + n;

       … while calling the 'attrNames' builtin
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:376:9:
          375|       value = x.${n};
          376|     }) (__attrNames x));
             |         ^
          377|

       … from call site
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:531:22:
          530|         , haskellPackages ? selectPackages project.hsPkgs
          531|         , packages ? mkFlakePackages haskellPackages
             |                      ^
          532|         , apps ? mkFlakeApps haskellPackages

       … while calling 'foldrAttrVals'
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:37:25:
           36|
           37|   foldrAttrVals = f: z: attrs:
             |                         ^
           38|     lib.foldr f z (builtins.attrValues attrs);

       … from call site
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:38:5:
           37|   foldrAttrVals = f: z: attrs:
           38|     lib.foldr f z (builtins.attrValues attrs);
             |     ^
           39|

       … while calling 'foldr'
         at /nix/store/201v6s1hyhfb4m6flp3gqiva1yy23dvj-source/lib/lists.nix:139:14:
          138|   foldr =
          139|     op: nul: list:
             |              ^
          140|     let

       … from call site
         at /nix/store/201v6s1hyhfb4m6flp3gqiva1yy23dvj-source/lib/lists.nix:144:5:
          143|     in
          144|     fold' 0;
             |     ^
          145|

       … while calling 'fold''
         at /nix/store/201v6s1hyhfb4m6flp3gqiva1yy23dvj-source/lib/lists.nix:142:15:
          141|       len = length list;
          142|       fold' = n: if n == len then nul else op (elemAt list n) (fold' (n + 1));
             |               ^
          143|     in

       … while evaluating a branch condition
         at /nix/store/201v6s1hyhfb4m6flp3gqiva1yy23dvj-source/lib/lists.nix:142:18:
          141|       len = length list;
          142|       fold' = n: if n == len then nul else op (elemAt list n) (fold' (n + 1));
             |                  ^
          143|     in

       … while calling the 'length' builtin
         at /nix/store/201v6s1hyhfb4m6flp3gqiva1yy23dvj-source/lib/lists.nix:141:13:
          140|     let
          141|       len = length list;
             |             ^
          142|       fold' = n: if n == len then nul else op (elemAt list n) (fold' (n + 1));

       … while calling the 'attrValues' builtin
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:38:20:
           37|   foldrAttrVals = f: z: attrs:
           38|     lib.foldr f z (builtins.attrValues attrs);
             |                    ^
           39|

       … from call site
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/default.nix:530:29:
          529|           selectPackages ? haskellLib.selectProjectPackages
          530|         , haskellPackages ? selectPackages project.hsPkgs
             |                             ^
          531|         , packages ? mkFlakePackages haskellPackages

       … while calling 'filterAttrs'
         at /nix/store/201v6s1hyhfb4m6flp3gqiva1yy23dvj-source/lib/attrsets.nix:657:23:
          656|   */
          657|   filterAttrs = pred: set: removeAttrs set (filter (name: !pred name set.${name}) (attrNames set));
             |                       ^
          658|

       … while calling the 'removeAttrs' builtin
         at /nix/store/201v6s1hyhfb4m6flp3gqiva1yy23dvj-source/lib/attrsets.nix:657:28:
          656|   */
          657|   filterAttrs = pred: set: removeAttrs set (filter (name: !pred name set.${name}) (attrNames set));
             |                            ^
          658|

       … while evaluating the attribute 'hsPkgs'
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/overlays/haskell.nix:739:15:
          738|               # Haskell packages
          739|               hsPkgs = final.lib.mapAttrs (packageName: package':
             |               ^
          740|                 if package' == null

       … while calling the 'mapAttrs' builtin
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/overlays/haskell.nix:739:24:
          738|               # Haskell packages
          739|               hsPkgs = final.lib.mapAttrs (packageName: package':
             |                        ^
          740|                 if package' == null

       … while calling the 'removeAttrs' builtin
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/overlays/haskell.nix:773:20:
          772|                     }
          773|                 ) (builtins.removeAttrs rawProject.hsPkgs
             |                    ^
          774|                   # These are functions not packages

       … while evaluating the attribute 'hsPkgs'
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/overlays/haskell.nix:707:44:
          706|               project = addProjectAndPackageAttrs rec {
          707|                   inherit (pkg-set.config) hsPkgs;
             |                                            ^
          708|                   inherit pkg-set;

       … while evaluating a branch condition
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/overlays/haskell.nix:676:25:
          675|                 else project;
          676|               pkg-set = if plan-pkgs ? configurationError
             |                         ^
          677|                 then {

       … while evaluating a branch condition
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/overlays/haskell.nix:661:27:
          660|               callProjectResults = callCabalProjectToNix config;
          661|               plan-pkgs = if !builtins.pathExists (callProjectResults.projectNix + "/plan.json")
             |                           ^
          662|                 then

       … in the argument of the not operator
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/overlays/haskell.nix:661:31:
          660|               callProjectResults = callCabalProjectToNix config;
          661|               plan-pkgs = if !builtins.pathExists (callProjectResults.projectNix + "/plan.json")
             |                               ^
          662|                 then

       … while calling the 'pathExists' builtin
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/overlays/haskell.nix:661:31:
          660|               callProjectResults = callCabalProjectToNix config;
          661|               plan-pkgs = if !builtins.pathExists (callProjectResults.projectNix + "/plan.json")
             |                               ^
          662|                 then

       … while calling the 'getAttr' builtin
         at «nix-internal»/derivation-internal.nix:50:17:
           49|     value = commonAttrs // {
           50|       outPath = builtins.getAttr outputName strict;
             |                 ^
           51|       drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at «nix-internal»/derivation-internal.nix:37:12:
           36|
           37|   strict = derivationStrict drvAttrs;
             |            ^
           38|

       … while evaluating derivation 'plutus-plan-to-nix-pkgs'
         whose name attribute is located at /nix/store/201v6s1hyhfb4m6flp3gqiva1yy23dvj-source/pkgs/stdenv/generic/make-derivation.nix:482:13

       … while evaluating attribute 'buildCommand' of derivation 'plutus-plan-to-nix-pkgs'
         at /nix/store/201v6s1hyhfb4m6flp3gqiva1yy23dvj-source/pkgs/build-support/trivial-builders/default.nix:80:17:
           79|         enableParallelBuilding = true;
           80|         inherit buildCommand name;
             |                 ^
           81|         passAsFile = [ "buildCommand" ] ++ (derivationArgs.passAsFile or [ ]);

       … while evaluating a branch condition
         at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/call-cabal-project-to-nix.nix:95:9:
           94| in let
           95|   ghc = if ghc' ? latestVersion
             |         ^
           96|     then __trace "WARNING: ${ghc'.version} is out of date, consider using upgrading to ${ghc'.latestVersion}." ghc'

       error: attribute 'ghc9123' missing
       at /nix/store/dv3igkb6xsm0h16zmhddry9an4bhc54k-source/lib/call-cabal-project-to-nix.nix:92:7:
           91|       #
           92|       (compilerSelection pkgs)."${compiler-nix-name}";
             |       ^
           93|
       Did you mean one of ghc9121, ghc9122, ghc923, ghc902 or ghc9101?