Tribler package: long trace in 23.11 on nixos-rebuild switch

You were right: sudo nix-channel --list was still on nixos-23.05
I changed it (remove then add, then update).
But now I get:

[paul@nixos:~]$ sudo nixos-rebuild switch --show-trace
[sudo] password for paul: 
building Nix...
building the system configuration...
error:
       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/attrsets.nix:918:24:

          917|     let f = attrPath:
          918|       zipAttrsWith (n: values:
             |                        ^
          919|         let here = attrPath ++ [n]; in

       … while calling 'g'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/attrsets.nix:701:19:

          700|           g =
          701|             name: value:
             |                   ^
          702|             if isAttrs value && cond value

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/attrsets.nix:704:20:

          703|               then recurse (path ++ [name]) value
          704|               else f (path ++ [name]) value;
             |                    ^
          705|         in mapAttrs g;

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:242:72:

          241|           # For definitions that have an associated option
          242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          243|

       … while evaluating the option `system.build.toplevel':

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:822:28:

          821|         # Process mkMerge and mkIf properties.
          822|         defs' = concatMap (m:
             |                            ^
          823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

       … while evaluating definitions from `/nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/nixos/modules/system/activation/top-level.nix':

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:823:137:

          822|         defs' = concatMap (m:
          823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                                                                         ^
          824|         ) defs;

       … while calling 'dischargeProperties'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:894:25:

          893|   */
          894|   dischargeProperties = def:
             |                         ^
          895|     if def._type or "" == "merge" then

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/nixos/modules/system/activation/top-level.nix:71:12:

           70|   # Replace runtime dependencies
           71|   system = foldr ({ oldDependency, newDependency }: drv:
             |            ^
           72|       pkgs.replaceDependency { inherit oldDependency newDependency drv; }

       … while calling 'foldr'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/lists.nix:53:20:

           52|   */
           53|   foldr = op: nul: list:
             |                    ^
           54|     let

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/lists.nix:60:8:

           59|         else op (elemAt list n) (fold' (n + 1));
           60|     in fold' 0;
             |        ^
           61|

       … while calling 'fold''

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/lists.nix:56:15:

           55|       len = length list;
           56|       fold' = n:
             |               ^
           57|         if n == len

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/nixos/modules/system/activation/top-level.nix:68:10:

           67|     then throw "\nFailed assertions:\n${concatStringsSep "\n" (map (x: "- ${x}") failedAssertions)}"
           68|     else showWarnings config.warnings baseSystem;
             |          ^
           69|

       … while calling 'showWarnings'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/trivial.nix:414:28:

          413|
          414|   showWarnings = warnings: res: lib.foldr (w: x: warn w x) res warnings;
             |                            ^
          415|

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/trivial.nix:414:33:

          413|
          414|   showWarnings = warnings: res: lib.foldr (w: x: warn w x) res warnings;
             |                                 ^
          415|

       … while calling 'foldr'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/lists.nix:53:20:

           52|   */
           53|   foldr = op: nul: list:
             |                    ^
           54|     let

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/lists.nix:60:8:

           59|         else op (elemAt list n) (fold' (n + 1));
           60|     in fold' 0;
             |        ^
           61|

       … while calling 'fold''

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/lists.nix:56:15:

           55|       len = length list;
           56|       fold' = n:
             |               ^
           57|         if n == len

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/nixos/modules/system/activation/top-level.nix:48:16:

           47|   # makes it bootable. See `activatable-system.nix`.
           48|   baseSystem = pkgs.stdenvNoCC.mkDerivation ({
             |                ^
           49|     name = "nixos-system-${config.system.name}-${config.system.nixos.label}";

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/pkgs/stdenv/generic/make-derivation.nix:598:3:

          597| in
          598|   fnOrAttrs:
             |   ^
          599|     if builtins.isFunction fnOrAttrs

       … while calling 'g'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/attrsets.nix:701:19:

          700|           g =
          701|             name: value:
             |                   ^
          702|             if isAttrs value && cond value

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/attrsets.nix:704:20:

          703|               then recurse (path ++ [name]) value
          704|               else f (path ++ [name]) value;
             |                    ^
          705|         in mapAttrs g;

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:242:72:

          241|           # For definitions that have an associated option
          242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          243|

       … while evaluating the option `system.systemBuilderArgs':

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:844:59:

          843|       if isDefined then
          844|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
             |                                                           ^
          845|         else let allInvalid = filter (def: ! type.check def.value) defsFinal;

       … while calling 'merge'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/types.nix:556:20:

          555|       check = isAttrs;
          556|       merge = loc: defs:
             |                    ^
          557|         mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/types.nix:557:35:

          556|       merge = loc: defs:
          557|         mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:
             |                                   ^
          558|             (mergeDefinitions (loc ++ [name]) elemType defs).optionalValue

       … while calling 'filterAttrs'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/attrsets.nix:381:5:

          380|     # The attribute set to filter
          381|     set:
             |     ^
          382|     listToAttrs (concatMap (name: let v = set.${name}; in if pred name v then [(nameValuePair name v)] else []) (attrNames set));

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/attrsets.nix:382:29:

          381|     set:
          382|     listToAttrs (concatMap (name: let v = set.${name}; in if pred name v then [(nameValuePair name v)] else []) (attrNames set));
             |                             ^
          383|

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/attrsets.nix:382:62:

          381|     set:
          382|     listToAttrs (concatMap (name: let v = set.${name}; in if pred name v then [(nameValuePair name v)] else []) (attrNames set));
             |                                                              ^
          383|

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/types.nix:557:51:

          556|       merge = loc: defs:
          557|         mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:
             |                                                   ^
          558|             (mergeDefinitions (loc ++ [name]) elemType defs).optionalValue

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/types.nix:557:86:

          556|       merge = loc: defs:
          557|         mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:
             |                                                                                      ^
          558|             (mergeDefinitions (loc ++ [name]) elemType defs).optionalValue

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:822:28:

          821|         # Process mkMerge and mkIf properties.
          822|         defs' = concatMap (m:
             |                            ^
          823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

       … while evaluating definitions from `/nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/nixos/modules/system/activation/activatable-system.nix':

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:823:137:

          822|         defs' = concatMap (m:
          823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                                                                         ^
          824|         ) defs;

       … while calling 'dischargeProperties'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:894:25:

          893|   */
          894|   dischargeProperties = def:
             |                         ^
          895|     if def._type or "" == "merge" then

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/nixos/modules/system/activation/activation-script.nix:133:18:

          132|       apply = set: set // {
          133|         script = systemActivationScript set false;
             |                  ^
          134|       };

       … while calling 'systemActivationScript'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/nixos/modules/system/activation/activation-script.nix:20:33:

           19|
           20|   systemActivationScript = set: onlyDry: let
             |                                 ^
           21|     set' = mapAttrs (_: v: if isString v then (noDepEntry v) // { supportsDryActivation = false; } else v) set;

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/nixos/modules/system/activation/activation-script.nix:49:9:

           48|
           49|       ${textClosureMap id (withDrySnippets) (attrNames withDrySnippets)}
             |         ^
           50|

       … while calling 'textClosureMap'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/strings-with-deps.nix:75:35:

           74|
           75|   textClosureMap = f: predefined: names:
             |                                   ^
           76|     concatStringsSep "\n" (map f (textClosureList predefined names));

       … while calling 'id'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/trivial.nix:14:5:

           13|     # The value to return
           14|     x: x;
             |     ^
           15|

       … while calling 'g'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/attrsets.nix:701:19:

          700|           g =
          701|             name: value:
             |                   ^
          702|             if isAttrs value && cond value

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/attrsets.nix:704:20:

          703|               then recurse (path ++ [name]) value
          704|               else f (path ++ [name]) value;
             |                    ^
          705|         in mapAttrs g;

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:242:72:

          241|           # For definitions that have an associated option
          242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          243|

       … while evaluating the option `system.activationScripts.etc.text':

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:822:28:

          821|         # Process mkMerge and mkIf properties.
          822|         defs' = concatMap (m:
             |                            ^
          823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

       … while evaluating definitions from `/nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/nixos/modules/system/etc/etc-activation.nix':

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:823:137:

          822|         defs' = concatMap (m:
          823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                                                                         ^
          824|         ) defs;

       … while calling 'dischargeProperties'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:894:25:

          893|   */
          894|   dischargeProperties = def:
             |                         ^
          895|     if def._type or "" == "merge" then

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/attrsets.nix:918:24:

          917|     let f = attrPath:
          918|       zipAttrsWith (n: values:
             |                        ^
          919|         let here = attrPath ++ [n]; in

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/types.nix:581:29:

          580|       merge = loc: defs:
          581|         zipAttrsWith (name: defs:
             |                             ^
          582|           let merged = mergeDefinitions (loc ++ [name]) elemType defs;

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:822:28:

          821|         # Process mkMerge and mkIf properties.
          822|         defs' = concatMap (m:
             |                            ^
          823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

       … while evaluating definitions from `/nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/nixos/modules/system/etc/etc.nix':

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:823:137:

          822|         defs' = concatMap (m:
          823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                                                                         ^
          824|         ) defs;

       … while calling 'dischargeProperties'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:894:25:

          893|   */
          894|   dischargeProperties = def:
             |                         ^
          895|     if def._type or "" == "merge" then

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/attrsets.nix:160:39:

          159|         then value
          160|         else { ${elemAt attrPath n} = atDepth (n + 1); };
             |                                       ^
          161|     in atDepth 0;

       … while calling 'atDepth'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/attrsets.nix:157:17:

          156|       len = length attrPath;
          157|       atDepth = n:
             |                 ^
          158|         if n == len

       … while evaluating derivation 'etc'
         whose name attribute is located at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/pkgs/stdenv/generic/make-derivation.nix:348:7

       … while evaluating attribute 'buildCommand' of derivation 'etc'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/pkgs/build-support/trivial-builders/default.nix:87:14:

           86|       enableParallelBuilding = true;
           87|       inherit buildCommand name;
             |              ^
           88|       passAsFile = [ "buildCommand" ]

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/nixos/modules/system/etc/etc.nix:54:7:

           53|     mkdir -p "$out/etc"
           54|     ${concatMapStringsSep "\n" (etcEntry: escapeShellArgs [
             |       ^
           55|       "makeEtcEntry"

       … while calling 'concatMapStringsSep'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/strings.nix:117:5:

          116|     # List of input strings
          117|     list: concatStringsSep sep (map f list);
             |     ^
          118|

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/nixos/modules/system/etc/etc.nix:54:33:

           53|     mkdir -p "$out/etc"
           54|     ${concatMapStringsSep "\n" (etcEntry: escapeShellArgs [
             |                                 ^
           55|       "makeEtcEntry"

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/nixos/modules/system/etc/etc.nix:54:43:

           53|     mkdir -p "$out/etc"
           54|     ${concatMapStringsSep "\n" (etcEntry: escapeShellArgs [
             |                                           ^
           55|       "makeEtcEntry"

       … while calling 'concatMapStringsSep'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/strings.nix:117:5:

          116|     # List of input strings
          117|     list: concatStringsSep sep (map f list);
             |     ^
          118|

       … while calling 'escapeShellArg'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/strings.nix:443:20:

          442|   */
          443|   escapeShellArg = arg: "'${replaceStrings ["'"] ["'\\''"] (toString arg)}'";
             |                    ^
          444|

       … while calling 'g'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/attrsets.nix:701:19:

          700|           g =
          701|             name: value:
             |                   ^
          702|             if isAttrs value && cond value

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/attrsets.nix:704:20:

          703|               then recurse (path ++ [name]) value
          704|               else f (path ++ [name]) value;
             |                    ^
          705|         in mapAttrs g;

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:242:72:

          241|           # For definitions that have an associated option
          242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          243|

       … while evaluating the option `environment.etc.dbus-1.source':

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:844:17:

          843|       if isDefined then
          844|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
             |                 ^
          845|         else let allInvalid = filter (def: ! type.check def.value) defsFinal;

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:844:22:

          843|       if isDefined then
          844|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
             |                      ^
          845|         else let allInvalid = filter (def: ! type.check def.value) defsFinal;

       … while calling 'check'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/types.nix:509:15:

          508|       descriptionClass = "noun";
          509|       check = x: isStringLike x && builtins.substring 0 1 (toString x) == "/";
             |               ^
          510|       merge = mergeEqualOption;

       … while evaluating derivation 'dbus-1'
         whose name attribute is located at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/pkgs/stdenv/generic/make-derivation.nix:348:7

       … while evaluating attribute 'serviceDirectories' of derivation 'dbus-1'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/pkgs/development/libraries/dbus/make-dbus-conf.nix:18:12:

           17|   {
           18|     inherit serviceDirectories suidHelper apparmor;
             |            ^
           19|     preferLocalBuild = true;

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/types.nix:527:14:

          526|       merge = loc: defs:
          527|         map (x: x.value) (filter (x: x ? value) (concatLists (imap1 (n: def:
             |              ^
          528|           imap1 (m: def':

       … while calling anonymous lambda

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:844:17:

          843|       if isDefined then
          844|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
             |                 ^
          845|         else let allInvalid = filter (def: ! type.check def.value) defsFinal;

       … from call site

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/modules.nix:844:22:

          843|       if isDefined then
          844|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
             |                      ^
          845|         else let allInvalid = filter (def: ! type.check def.value) defsFinal;

       … while calling 'check'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/lib/types.nix:509:15:

          508|       descriptionClass = "noun";
          509|       check = x: isStringLike x && builtins.substring 0 1 (toString x) == "/";
             |               ^
          510|       merge = mergeEqualOption;

       … while evaluating derivation 'system-path'
         whose name attribute is located at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/pkgs/stdenv/generic/make-derivation.nix:348:7

       … while evaluating attribute 'passAsFile' of derivation 'system-path'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/pkgs/build-support/trivial-builders/default.nix:88:7:

           87|       inherit buildCommand name;
           88|       passAsFile = [ "buildCommand" ]
             |       ^
           89|         ++ (derivationArgs.passAsFile or []);

       … while evaluating derivation 'tribler-7.11.0'
         whose name attribute is located at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/pkgs/stdenv/generic/make-derivation.nix:348:7

       … while evaluating attribute 'pythonPath' of derivation 'tribler-7.11.0'

         at /nix/store/z78v3yzi5d1rwqgy42zyw4dwvpbs0j22-nixos-23.11/nixos/pkgs/applications/networking/p2p/tribler/default.nix:31:3:

           30|
           31|   pythonPath = [
             |   ^
           32|     libtorrent

       error: asynctest-0.13.0 not supported for interpreter python3.11

[paul@nixos:~]$

I can only guess I need to remove the tribler package.

Fixed on unstable: tribler: 7.11.0 -> 7.13.0 · NixOS/nixpkgs@fbd57b4 · GitHub

Considering the package is currently broken, that version bump should probably be backported (or the python version for this package downgraded). Try sending in a backport PR: https://github.com/NixOS/nixpkgs/blob/e4dbabf8541ab20f927c3497f6a44e1ea0aab2e3/CONTRIBUTING.md#how-to-backport-pull-requests

In the mean time, you could fix it downstream like this:

environment.systemPackages = [
  (pkgs.tribler.override { python3 = pkgs.python310; })
];

I commented out tribler package in /etc/nixos/configuration.nix, then nixos-rebuild switch worked (upgraded from 23.05 to 23.11), then removed the comment on tribler, and it seems to cause the same trace. So I guess this is a problem triggered by tribler. [tribler is a special torrent package]. I don’t know if this is a problem with tribler package… or just triggered by tribler.

The problem is caused by the python ecosystem. Since ~2019/2020 or so, python has adopted a new build standard that allows libraries to specify what python versions they support.

This has resulted in python package builders that are much more strict about allowing random libraries to run on more recent versions of python.

Since python (despite having minor releases) also constantly breaks backwards compatibility, and there are so many python libraries, this often means that random builds suddenly stop working if you update python.

The new NixOS release updated to python 3.11 by default, seems that until now nobody realized this breaks that random library, and tribler depends on it. You didn’t make any mistakes here, you just happen to be the first one to try tribbler on NixOS 23.11.

So the package is broken, and someone needs to fix it. You can do this yourself either upstream (on GitHub) or downstream (in your configuration.nix), or both.

The fix is either to downgrade the default python version for tribler (like I show above), or to update tribler to the latest version (since it no longer depends on the broken library).

There seems to exist a Python 3.10 version, and a Python 3.11 version of asynctest.
https://search.nixos.org/packages?channel=23.11&from=0&size=50&sort=relevance&type=packages&query=asynctest

So maybe tribler only needs to use the other version that it is using? (note, I am guessing it now use the 3.10 version)

I know almost nothing about nix packaging… just trying to follow/understand what you said.

Those are automatically generated packages in nixpkgs. There is no guarantee they work, even if it says python311.

python311Packages.asynctest is the exact same as python310Packages.asynctest, the difference is which python interpreter the nix package is bundled with.

Note I had a typo in my snippet, by the way, the python should be python3.

Actually, using:

(pkgs.tribler.override { python3 = pkgs.python310; })

It builds and install tribler, but on running it:

[paul@nixos:~]$ tribler
INFO:__main__:Sentry has been initialised in normal mode
INFO:__main__:Root state dir: /home/paul/.Tribler
INFO:__main__:Running in "normal" mode
INFO:tribler_gui:Load logger config: /home/paul/.Tribler
[PID:6268] 2024-02-15 13:06:32,147 - INFO - tribler_core.check_os(231) - Check and enable code tracing. Process name: "gui". Log dir: "/home/paul/.Tribler"
[PID:6268] 2024-02-15 13:06:32,147 - INFO - tribler_core.check_os(213) - Enable fault handler: "/home/paul/.Tribler"
[PID:6268] 2024-02-15 13:06:32,148 - INFO - tribler_core.check_os(48) - Check environment
[PID:6268] 2024-02-15 13:06:32,149 - INFO - tribler_core.check_os(79) - Should kill other Tribler instances
[PID:6268] 2024-02-15 13:06:32,150 - INFO - tribler_core.check_os(87) - Old PID: -1. Current PID: 6268
[PID:6268] 2024-02-15 13:06:32,150 - INFO - tribler_core.check_os(53) - Check free space
[PID:6268] 2024-02-15 13:06:33,564 - ERROR <run_tribler:131> __main__.<module>(): No module named 'libtorrent'
Traceback (most recent call last):
  File "/nix/store/qqv6g2w6k8njd8yd8hkki39510qvsivj-tribler-7.11.0/src/run_tribler.py", line 102, in <module>
    from tribler_gui.tribler_window import TriblerWindow
  File "/nix/store/qqv6g2w6k8njd8yd8hkki39510qvsivj-tribler-7.11.0/src/tribler-gui/tribler_gui/tribler_window.py", line 50, in <module>
    from tribler_gui.debug_window import DebugWindow
  File "/nix/store/qqv6g2w6k8njd8yd8hkki39510qvsivj-tribler-7.11.0/src/tribler-gui/tribler_gui/debug_window.py", line 16, in <module>
    import libtorrent
ModuleNotFoundError: No module named 'libtorrent'
********************************************************************************
Import Error
********************************************************************************
Import error: No module named 'libtorrent'
********************************************************************************
Error while showing a message box: [Errno 2] No such file or directory: 'xmessage'

[paul@nixos:~]$

Hmm, well that’s annoying. Might be that this ends up with the wrong python because it no longer is just the default python3. Maybe you need:

environment.systemPackages = [
  (pkgs.tribler.override {
    python3 = pkgs.python310;
    libtorrent-rasterbar-1_2_x = pkgs.libtorrent-rasterbar-1_2_x.override {
      python = pkgs.python310;
    };
  })
];

That’s a wild guess though. In theory it should be getting a 2.x version of python, and you should be getting a warning about insecure packages. Might be simpler to just get someone to backport the tribler update at this point.

If that override works, do tell me, I’ll send a PR to fix the package upstream to do this correctly as well.

Almost!
$ tribler 1> tribler.txt 2> tribler_err.txt
tribler_err.txt have:

[PID:3737] 2024-02-15 22:29:28,130 - ERROR <error_handler:28> ErrorHandler.gui_error(): Traceback (most recent call l>
  File "/nix/store/wximhf7nsvbmddnp781hljaa4z13s3rm-tribler-7.11.0/src/run_tribler.py", line 124, in <module>
    window = TriblerWindow(settings)
  File "/nix/store/wximhf7nsvbmddnp781hljaa4z13s3rm-tribler-7.11.0/src/tribler-gui/tribler_gui/tribler_window.py", li>
    self.trust_graph_page.initialize_trust_graph()
  File "/nix/store/wximhf7nsvbmddnp781hljaa4z13s3rm-tribler-7.11.0/src/tribler-gui/tribler_gui/widgets/trustgraphpage>
    graph_layout = pg.GraphicsLayoutWidget()
  File "/nix/store/sx7nqn6mc1hm3iqxq8cpdl9svx7inaqi-python3.10-pyqtgraph-0.13.3/lib/python3.10/site-packages/pyqtgrap>
    GraphicsView.__init__(self, parent)
  File "/nix/store/sx7nqn6mc1hm3iqxq8cpdl9svx7inaqi-python3.10-pyqtgraph-0.13.3/lib/python3.10/site-packages/pyqtgrap>
    self.setBackground(background)
  File "/nix/store/sx7nqn6mc1hm3iqxq8cpdl9svx7inaqi-python3.10-pyqtgraph-0.13.3/lib/python3.10/site-packages/pyqtgrap>
    brush = fn.mkBrush(background)
  File "/nix/store/sx7nqn6mc1hm3iqxq8cpdl9svx7inaqi-python3.10-pyqtgraph-0.13.3/lib/python3.10/site-packages/pyqtgrap>
    return QtGui.QBrush(mkColor(color))
  File "/nix/store/sx7nqn6mc1hm3iqxq8cpdl9svx7inaqi-python3.10-pyqtgraph-0.13.3/lib/python3.10/site-packages/pyqtgrap>
    raise ValueError(f"Unable to convert {c} to QColor")
ValueError: Unable to convert 222222 to QColor

Sentry is attempting to send 1 pending events

tribler.txt finish with:

[PID:3737] 2024-02-15 22:29:28,255 - DEBUG - PyQt5.uic.properties(400) - setting property minimumSize
[PID:3737] 2024-02-15 22:29:28,256 - DEBUG - PyQt5.uic.properties(400) - setting property maximumSize
[PID:3737] 2024-02-15 22:29:28,256 - DEBUG - PyQt5.uic.properties(400) - setting property cursor
[PID:3737] 2024-02-15 22:29:28,256 - DEBUG - PyQt5.uic.properties(400) - setting property styleSheet
[PID:3737] 2024-02-15 22:29:28,256 - DEBUG - PyQt5.uic.properties(400) - setting property text
[PID:3737] 2024-02-15 22:29:28,256 - DEBUG - PyQt5.uic.uiparser(108) - push EllipseButton cancel_button
[PID:3737] 2024-02-15 22:29:28,256 - DEBUG - PyQt5.uic.uiparser(122) - pop widget EllipseButton cancel_button
[PID:3737] 2024-02-15 22:29:28,256 - DEBUG - PyQt5.uic.uiparser(130) - new topwidget <PyQt5.QtWidgets.QWidget object >
[PID:3737] 2024-02-15 22:29:28,256 - DEBUG - PyQt5.uic.uiparser(116) - pop layout QHBoxLayout horizontalLayout
[PID:3737] 2024-02-15 22:29:28,256 - DEBUG - PyQt5.uic.uiparser(122) - pop widget QWidget dialog_button_container
[PID:3737] 2024-02-15 22:29:28,256 - DEBUG - PyQt5.uic.uiparser(130) - new topwidget <tribler_gui.dialogs.feedbackdia>
[PID:3737] 2024-02-15 22:29:28,256 - DEBUG - PyQt5.uic.uiparser(116) - pop layout QVBoxLayout verticalLayout
[PID:3737] 2024-02-15 22:29:28,256 - DEBUG - PyQt5.uic.uiparser(122) - pop widget FeedbackDialog Form
[PID:3737] 2024-02-15 22:29:28,256 - DEBUG - PyQt5.uic.uiparser(130) - new topwidget None
[PID:3737] 2024-02-15 22:29:28,273 - DEBUG - SentryReporter(145) - Add the breadcrumb: {'message': 'FeedbackDialog.Sh>
[PID:3737] 2024-02-15 22:29:28,275 - DEBUG - urllib3.connectionpool(1053) - Starting new HTTPS connection (1): sentry>
[PID:3737] 2024-02-15 22:29:28,860 - DEBUG - urllib3.connectionpool(547) - https://sentry.tribler.org:443 "POST /api/>

Upstream issue: ValueError: "Unable to convert 222222 to QColor" in pyqtgraph/functions.py when starting Tribler · Issue #7271 · Tribler/tribler · GitHub

Going to be hard to fix without updating tribler.