Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sorri triggers infinite shell recursion #4

Open
DavHau opened this issue Oct 12, 2020 · 3 comments
Open

sorri triggers infinite shell recursion #4

DavHau opened this issue Oct 12, 2020 · 3 comments

Comments

@DavHau
Copy link
Contributor

DavHau commented Oct 12, 2020

I'm using direnv with fish and whenever sorri detects a change and decides to re-evaluate, I'm getting:

~/p/g/mach-nix ❯❯❯ 
direnv: loading ~/synced/projects/github/mach-nix/.envrc
sorri: looking for matching cached shell in /home/grmpf/.cache/sorri/mach-nix/v2
sorri: no candidate accepted, creating manifest
sorri: building shell, this may take a while
direnv: ([/nix/store/086y8hv6ayv0y90690xbff0lxgrpi6k8-direnv-2.21.2-bin/bin/direnv export fish]) is taking a while to execute. Use CTRL-C to give up.
bash: warning: shell level (1000) too high, resetting to 1
bash: warning: shell level (1000) too high, resetting to 1
bash: warning: shell level (1000) too high, resetting to 1
... (goes on forever)
@DavHau
Copy link
Contributor Author

DavHau commented Oct 13, 2020

Could this be related to the fact that I'm using nix-direnv?

@nmattia
Copy link
Owner

nmattia commented Oct 13, 2020

It could be. Can you export SORRI_DEBUG=yes in your shell?

@DavHau
Copy link
Contributor Author

DavHau commented Oct 13, 2020

The log is very long. here the last lines:

querying info about '/nix/store/mc62q7hhsasb7n25574j989xyrq1fris-python3.7-aiohttp-3.6.2' on 'https://cache.nixos.org'... downloading 'https://cache.nixos.org/mc62q7hhsasb7n25574j989xyrq1fris.narinfo'... querying info about '/nix/store/v23h06v49jrqbhswg2xvpdzdwdqmjhrk-python3.7-async-timeout-3.0.1' on 'https://cache.nixos.org'... downloading 'https://cache.nixos.org/v23h06v49jrqbhswg2xvpdzdwdqmjhrk.narinfo'... querying info about '/nix/store/scz988asazi9cfl0cwszzv7gh3fj2ri5-python3.7-typing_extensions-3.7.4.3' on 'https://cache.nixos.org'... downloading 'https://cache.nixos.org/scz988asazi9cfl0cwszzv7gh3fj2ri5.narinfo'... these 2 derivations will be built: /nix/store/msabp12ij13nahy97jalzd4b1yx2rcn0-python3-3.7.9-env.drv /nix/store/7ghi73wbczd91fmpdz7jlrcl57wfbhw6-nix-shell.drv these 5 paths will be fetched (0.70 MiB download, 4.97 MiB unpacked): /nix/store/fbkaspjlzsyzdwp73mxvlcrgsqckv36n-python3.7-yarl-1.5.1 /nix/store/mc62q7hhsasb7n25574j989xyrq1fris-python3.7-aiohttp-3.6.2 /nix/store/qkfls9nppvi3vdlfx6dhdvmi5yic366r-python3.7-multidict-4.7.6 /nix/store/scz988asazi9cfl0cwszzv7gh3fj2ri5-python3.7-typing_extensions-3.7.4.3 /nix/store/v23h06v49jrqbhswg2xvpdzdwdqmjhrk-python3.7-async-timeout-3.0.1 copying path '/nix/store/qkfls9nppvi3vdlfx6dhdvmi5yic366r-python3.7-multidict-4.7.6' from 'https://cache.nixos.org'... copying path '/nix/store/scz988asazi9cfl0cwszzv7gh3fj2ri5-python3.7-typing_extensions-3.7.4.3' from 'https://cache.nixos.org'... copying path '/nix/store/v23h06v49jrqbhswg2xvpdzdwdqmjhrk-python3.7-async-timeout-3.0.1' from 'https://cache.nixos.org'... downloading 'https://cache.nixos.org/nar/02668v5vmdzh43ppcadccdhr4i2c6dn263icdfxplpwysz5p2hn3.nar.xz'... downloading 'https://cache.nixos.org/nar/0ii0vmwb1macy65hqsayvy0nrrkp5y2vgs5r4il2xi79xlmxag64.nar.xz'... downloading 'https://cache.nixos.org/nar/0ph8cf0243khzzifdbzdpiiz1j5kwsdcv9smc7bvv8xfw51ah707.nar.xz'... direnv: ([/nix/store/086y8hv6ayv0y90690xbff0lxgrpi6k8-direnv-2.21.2-bin/bin/direnv export fish]) is taking a while to execute. Use CTRL-C to give up. substitution of path '/nix/store/v23h06v49jrqbhswg2xvpdzdwdqmjhrk-python3.7-async-timeout-3.0.1' succeeded substitution of path '/nix/store/scz988asazi9cfl0cwszzv7gh3fj2ri5-python3.7-typing_extensions-3.7.4.3' succeeded substitution of path '/nix/store/qkfls9nppvi3vdlfx6dhdvmi5yic366r-python3.7-multidict-4.7.6' succeeded copying path '/nix/store/fbkaspjlzsyzdwp73mxvlcrgsqckv36n-python3.7-yarl-1.5.1' from 'https://cache.nixos.org'... downloading 'https://cache.nixos.org/nar/0s0h26h1xdwl4h1yqq4xgxqrf0sffdhwspv98wjgf5726pnrfwky.nar.xz'... substitution of path '/nix/store/fbkaspjlzsyzdwp73mxvlcrgsqckv36n-python3.7-yarl-1.5.1' succeeded copying path '/nix/store/mc62q7hhsasb7n25574j989xyrq1fris-python3.7-aiohttp-3.6.2' from 'https://cache.nixos.org'... downloading 'https://cache.nixos.org/nar/0dj9jvn97lhqbaqjw5haqdxhavhv2v3ldblp9iwg63ln4fzwvgl5.nar.xz'... substitution of path '/nix/store/mc62q7hhsasb7n25574j989xyrq1fris-python3.7-aiohttp-3.6.2' succeeded setting up chroot environment in '/nix/store/msabp12ij13nahy97jalzd4b1yx2rcn0-python3-3.7.9-env.drv.chroot' executing builder '/nix/store/2jysm3dfsgby5sw5jgj43qjrb5v79ms9-bash-4.4-p23/bin/bash' building '/nix/store/msabp12ij13nahy97jalzd4b1yx2rcn0-python3-3.7.9-env.drv'... created 424 symlinks in user environment setting up chroot environment in '/nix/store/7ghi73wbczd91fmpdz7jlrcl57wfbhw6-nix-shell.drv.chroot' executing builder '/nix/store/2jysm3dfsgby5sw5jgj43qjrb5v79ms9-bash-4.4-p23/bin/bash' building '/nix/store/7ghi73wbczd91fmpdz7jlrcl57wfbhw6-nix-shell.drv'... /nix/store/8g0nnj0ddkamn4vz9aw01yk4nv3a10x2-nix-shell debug: build finished /tmp/tmp.LM1SmIbUxf/result debug: found evaluated /home/grmpf/synced/projects/github/mach-nix/shell.nix debug: found evaluated /home/grmpf/synced/projects/github/mach-nix/mach_nix/nix/nixpkgs-src.nix debug: found trace /home/grmpf/synced/projects/github/mach-nix/mach_nix/nix/NIXPKGS.json debug: found evaluated /home/grmpf/synced/projects/github/mach-nix/mach_nix/nix/python-deps.nix bash: warning: shell level (1000) too high, resetting to 1 bash: warning: shell level (1000) too high, resetting to 1 bash: warning: shell level (1000) too high, resetting to 1

This only happens when a reevaluation is triggered by changing something in the nix code. Slight changes like adding a space in a file, triggers a reevaluation by direnv, but doesn't trigger the error.

Also, the error seems to happen after the build is completed. Interrupting it during this state will still bring me into the desired environment, after hitting enter one more time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants