Cannot rebuild due to conntrack helper error, after updating channels and attempt to upgrade

Hello everyone!

tldr of my issue is this:
conntrack helper autoloading has been removed from kernel 6.0 and newer

the bigger problem is, error msgs are absolutely unhelpful on where should I look for the cause of this, I read it multiple times and didn’t find a single ref to my configs, which is very unfortunate for a tool made specifically for this purpose (I had similar issues, but they pinpointed cause of it in my code, and suggestions to fix, for example in case of a package build fail or security issue)

here is output with --show-trace:

building Nix...
building the system configuration...
error:
       … while evaluating call site

       at «none»:0: (source not available)

       … while calling anonymous lambda

       at /home/aarmn/.nix-defexpr/channels/nixpkgs/lib/attrsets.nix:776:24:

          775|     let f = attrPath:
          776|       zipAttrsWith (n: values:
             |                        ^
          777|         let here = attrPath ++ [n]; in

       … while evaluating call site

       at «none»:0: (source not available)

       … while calling 'g'

       at /home/aarmn/.nix-defexpr/channels/nixpkgs/lib/attrsets.nix:595:19:

          594|           g =
          595|             name: value:
             |                   ^
          596|             if isAttrs value && cond value

       … while evaluating call site

       at /home/aarmn/.nix-defexpr/channels/nixpkgs/lib/attrsets.nix:598:20:

          597|               then recurse (path ++ [name]) value
          598|               else f (path ++ [name]) value;
             |                    ^
          599|         in mapAttrs g;

       … while calling anonymous lambda

       at /home/aarmn/.nix-defexpr/channels/nixpkgs/lib/modules.nix:274:72:

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

       … while evaluating the attribute 'value'

       at /home/aarmn/.nix-defexpr/channels/nixpkgs/lib/modules.nix:756:9:

          755|     in warnDeprecation opt //
          756|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          757|         inherit (res.defsFinal') highestPrio;

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

       … while evaluating the attribute 'mergedValue'

       at /home/aarmn/.nix-defexpr/channels/nixpkgs/lib/modules.nix:791:5:

          790|     # Type-check the remaining definitions, and merge them. Or throw if no definitions.
          791|     mergedValue =
             |     ^
          792|       if isDefined then

       … while evaluating the attribute 'values'

       at /home/aarmn/.nix-defexpr/channels/nixpkgs/lib/modules.nix:785:9:

          784|       in {
          785|         values = defs''';
             |         ^
          786|         inherit (defs'') highestPrio;

       … while evaluating the attribute 'values'

       at /home/aarmn/.nix-defexpr/channels/nixpkgs/lib/modules.nix:884:7:

          883|     in {
          884|       values = concatMap (def: if getPrio def == highestPrio then [(strip def)] else []) defs;
             |       ^
          885|       inherit highestPrio;

       … while evaluating call site

       at /home/aarmn/.nix-defexpr/channels/nixpkgs/lib/modules.nix:771:17:

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

       … while calling anonymous lambda

       at /home/aarmn/.nix-defexpr/channels/nixpkgs/lib/modules.nix:771:28:

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

       … while evaluating definitions from `/home/aarmn/.nix-defexpr/channels/nixpkgs/nixos/modules/system/activation/top-level.nix':

       … while evaluating call site

       at /home/aarmn/.nix-defexpr/channels/nixpkgs/lib/modules.nix:772:137:

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

       … while calling 'dischargeProperties'

       at /home/aarmn/.nix-defexpr/channels/nixpkgs/lib/modules.nix:843:25:

          842|   */
          843|   dischargeProperties = def:
             |                         ^
          844|     if def._type or "" == "merge" then

       … while evaluating the attribute 'value'

       at /home/aarmn/.nix-defexpr/channels/nixpkgs/lib/modules.nix:596:44:

          595|       defnsByName' = byName "config" (module: value:
          596|           [{ inherit (module) file; inherit value; }]
             |                                            ^
          597|         ) configs;

       … while evaluating call site

       at /home/aarmn/.nix-defexpr/channels/nixpkgs/nixos/modules/system/activation/top-level.nix:129:12:

          128|   # Replace runtime dependencies
          129|   system = foldr ({ oldDependency, newDependency }: drv:
             |            ^
          130|       pkgs.replaceDependency { inherit oldDependency newDependency drv; }

       … while calling 'foldr'

       at /home/aarmn/.nix-defexpr/channels/nixpkgs/lib/lists.nix:53:20:

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

       … while evaluating call site

       at /home/aarmn/.nix-defexpr/channels/nixpkgs/lib/lists.nix:60:8:

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

       … while calling 'fold''

       at /home/aarmn/.nix-defexpr/channels/nixpkgs/lib/lists.nix:56:15:

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

       error:
       Failed assertions:
       - conntrack helper autoloading has been removed from kernel 6.0 and newer

I searched for this and came upon this issue but it didn’t seem much related, tbh, I didn’t read deep into it either.

So if someone had a similar issue, I would appreciate a workaround, or at least a hint on the probable causes of it in my config

mu current config:

OS: NixOS 23.05pre450083.e1e1b192c1a (Stoat) x86_64 
Host: LENOVO 
Kernel: 6.1.8 
Packages: 7996 (nix-system), 844 (nix-user), 34 (nix-default) 
Shell: fish 3.6.0 
Resolution: 1920x1080 DE: Plasma WM: KWin 
CPU: Intel i7-10750H (12) @ 5.000GHz 
GPU: NVIDIA GeForce GTX 1650 Ti Mobile 
Memory: 14788MiB / 15915MiB 

You need to disable autoLoadConntrackHelpers or downgrade your kernel to 5.15

1 Like