Skip to content

nix-store --gc somehow partially purges pinned (open) nix-shell environments #13712

@deepfire

Description

@deepfire

Context:

  • fresh closure-size -- although it is a long-standing issue, and I have seen it in master
  • nix-env --version reports 1.10

What I have is a shell.nix with a fairly extensive haskell environment,
and an open, live nix-shell that is activated for this environment.

When I do nix-store --gc (with the shell active), I expect that it wouldn't affect the environment
produced for this shell -- that is, after the GC finishes, I would be able to leave the shell and re-enter it
without any rebuilds.

This isn't the case, however:

[nix-shell:~/src/mood]$ exit
exit

[deepfire@andromedae:~/src/mood]$ nsh
these derivations will be built:
  /nix/store/4z0jdl9baq0sv7353n5xv738bxinx08x-bootstrap-tools.tar.xz.drv
  /nix/store/pi866p41dsp26rlpq5r79h2a35gx2vrn-busybox.drv
  /nix/store/rlbfc41y1hkdhympy67lbfg8r6nc93ab-bootstrap-tools.drv
  /nix/store/49imhbzajqb0bpmlhilaycc2v57kcf1h-stdenv-linux-boot.drv
  /nix/store/v1d3mi8d2gk4gcbni6n463a3ymfgn658-mirrors-list.drv
  /nix/store/087fbrycn1hjgzv0d036fqskmr4xay3b-bash43-016.drv
  /nix/store/0bjaxvy4xmfb62shkmx0vp4pwwg32qi8-bash-4.3.tar.gz.drv
  /nix/store/1652rnsjniwfv7fh0kmcgcqbfz3b9gdf-bash43-023.drv
  /nix/store/i3k1733ckh8camh545csj6vwb0zx2z04-bootstrap-glibc.drv
  /nix/store/wlgi87w3wf4ayqf5lwzh5rsq2b2navyf-bootstrap-gcc-wrapper.drv
  /nix/store/hmm1fmqdng32d7hb9kvlwpxqyiqb8279-stdenv-linux-boot.drv
  /nix/store/imbsmnmkbc86q927lcb7nf1494y7byk0-paxctl-0.9.tar.gz.drv
  /nix/store/1a67rn05slxd9jz7db1sfmcnh5k74jh7-paxctl-0.9.drv
  /nix/store/2slaw8nwx2srndmzb2fcz08dwkicq86a-bash43-027.drv
  /nix/store/3587f1k7ns8sn04ma5zlw0dsn2h9qncn-bash43-020.drv
  /nix/store/3cc93zlw8aqgg6j2f1f7pw28w3g6pw52-binutils-2.23.1.tar.bz2.drv
  /nix/store/3jwix9i22f4vr22szz0mai3hdbhr3dpb-bash43-003.drv
  /nix/store/3r63qbq6hw5w4ccr4s0lg6805wivnjr3-bash43-028.drv
  /nix/store/498zcpi73x7ngq9cr65hlpmh0105az1w-bash43-004.drv
  /nix/store/ngspzryg7hii2cxdqqp41fm92jr46lkm-zlib-1.2.8.tar.gz.drv
  /nix/store/aprfid79mlxjsdgl8472vcyn6r09qwbq-zlib-1.2.8.drv
  /nix/store/i9nkpqdigg2c65d9pvk6rsahgfsrhics-binutils-2.23.1.drv
  /nix/store/5kj9wgv46r75jf6skflqdddw1lbw1pi4-bootstrap-gcc-wrapper.drv
  /nix/store/84rv9lpavps2b884x76v8j6iil316ql1-stdenv-linux-boot.drv
  /nix/store/l929gxsdri396mlhc30rvcrv4jann0lq-patchelf-0.8.tar.bz2.drv
  /nix/store/4mknkpzlr7q8rv2jsmf17igcqdf1zqcn-patchelf-0.8.drv
  /nix/store/mms9gvkfawff6c5282r0mhhlw5m06wg4-bootstrap-gcc-wrapper.drv
  /nix/store/55hvq1byd4ssz6j5flm4raj5xd066y5s-stdenv-linux-boot.drv
  /nix/store/d60qb4ib9vabcvkibjgslscia3ndgamy-m4-1.4.17.tar.bz2.drv
  /nix/store/4lhrj883v6994fa5cb6jkm8y749qapff-gnum4-1.4.17.drv
  /nix/store/4p1p7g3bwaahy8iz9lbkbfj7l952rqrm-bash43-013.drv
  /nix/store/sw7ddlfkzgb79b83i9sx9jw2cx3f9y40-xz-5.2.2.tar.bz2.drv
  /nix/store/8gzgpfym9pgzcfx6k7w790hmyxal9sl9-xz-5.2.2.drv
  /nix/store/gc86rvg2m80ww2j0qv5vahzq9zqvviv8-gcc-wrapper-4.9.3.drv
  /nix/store/d2k9rk4rxa4d7mzknmb586vqbq14p5ng-stdenv-linux-boot.drv
  /nix/store/j1csnn27bp81rlis17lsdngqh99pr5lr-bison-3.0.4.tar.gz.drv
  /nix/store/w354cbz86wc49jns74x9qzbj6ig7sxif-perl-5.20.3.tar.gz.drv
  /nix/store/mfdqwqz88la0bp8qx654kl9bl2z7cdz5-perl-5.20.3.drv
  /nix/store/4z5xa50dhmsv0d90m079x70vkm7dpr6j-bison-3.0.4.drv
  /nix/store/57gvlvjzpkal4abfmlvwkb1qxnax8al0-bash43-029.drv
  /nix/store/5vl2g9xyqf4lxx9ba5w22j1pl2ffy59f-bash43-039.drv
  /nix/store/5zq6sfwp070phdl2snndi70yrv2h2iny-bash43-042.drv
  /nix/store/76i74rh2izgqa0pvsj4mhhlnans3s1n7-bash43-008.drv
  /nix/store/7k4a2y7vxv9hq96p1gygv9z67xl2nla9-bash43-031.drv
  /nix/store/7wxbx5hwzdvw81qbha1a2s5cz7rybpnj-bash43-035.drv
  /nix/store/981ncjpm5992npzqw223r6agca81l07y-bash43-025.drv
  /nix/store/9qgznqqx3jj7l2pb933vq7adwlfak19k-bash43-034.drv
  /nix/store/9s4nmywjfanacsckn7mxgn5djv4bfjf3-bash43-022.drv
  /nix/store/aaamybnjbfq0149bdwdhkiy1b7lws8zf-bash43-002.drv
  /nix/store/b32zvfj4gg0zq361iqmqg874a06b880h-bash43-032.drv
  /nix/store/c9kmaw44cwnqmgx3jjkj7alr60nq9adk-bash43-006.drv
  /nix/store/fsh1n95hwq2azl8n00y8i2r6z8h31qw0-bash43-010.drv
  /nix/store/gv62ssgfxn2wvvdxzdlsq764fmq5rrk6-bash43-037.drv
  /nix/store/i7a7nmkyn3p7gmlnxb3bh3lisdvy8m8m-bash43-036.drv
  /nix/store/icb576qc0ww8dwld66b2yrc7wc0bi82m-bash43-014.drv
  /nix/store/jz7ngrpn263v3rqy6hbycai7rmri53mz-bash43-018.drv
  /nix/store/l028xxdlw189d56srrpps1kyibjc051i-bash43-030.drv
  /nix/store/m21i3ap2sqmrw3f0ndg4zpchxrri97w1-bash43-017.drv
  /nix/store/m5lpi895wph424x1z3jydzbrilcx7fzm-bash43-024.drv
  /nix/store/pwj0c26z96xwnvxczxk2iflj8qihgyng-bash43-011.drv
  /nix/store/qczyyc1hylbb49sp87x8dl2dri64d7wy-bash43-041.drv
  /nix/store/qxvnm48rza08h2jc5ackmcm0j6mp93jw-bash43-012.drv
  /nix/store/rv9knfijfyd9lfgpnqzyzmr0ap8x2m0c-bash43-021.drv
  /nix/store/sf6a5272av06wl26naaldmhl175pwv75-bash43-033.drv
  /nix/store/v8ik1cg4i85qkcgbaynrxl8hwpd4k2xl-bash43-038.drv
  /nix/store/wf774p9imx3qgvk9nskq8x2dda64cwib-bash43-005.drv
  /nix/store/y2yvz60718giqmhnnihlv9vp8ym9qibm-bash43-001.drv
  /nix/store/ydqf6857syj15q7r19rciw27wzwb9rl5-bash43-040.drv
  /nix/store/ydrhrw5snnyw4fjwv6lz6n78niwaq2b9-bash43-009.drv
  /nix/store/yfz5r6jrynrfkdxn4wby1l8n8w57vbdp-bash43-019.drv
  /nix/store/yj0gghv4sq2jiygz1bl8jibzz99hgnhy-bash43-015.drv
  /nix/store/z6rkqwq0a0h8ic68nqbz5gacdcv4xcin-bash43-026.drv
  /nix/store/zp2fv2l29vij3vgznmjmxcpcrpb28nz6-bash43-007.drv
  /nix/store/qbk8xpi43a3jsjc5plci353fyx7gdb7s-bash-4.3-p42.drv
building path(s) ‘/nix/store/nyw8s7kqbwapr0hlx3xxw6j3zqa1dlsx-bootstrap-tools.tar.xz’
building path(s) ‘/nix/store/ldj18wicxhjf0739kr08p0rbnsby7zr9-busybox’
building path(s) ‘/nix/store/k0vqprjmxybr7clvfljk13zsdjwklcch-bootstrap-tools’
building path(s) ‘/nix/store/xrcbvnk7g7ib3646swrdnw7hahgl7r6i-stdenv-linux-boot’
building path(s) ‘/nix/store/vd8rdkl1r6rpfkf4k57iznm2rns7mz0n-bootstrap-glibc’
building path(s) ‘/nix/store/pxrgxkk8f2h5rc5qphf70hdnc68gjf34-mirrors-list’
building path(s) ‘/nix/store/xsifj0m6v7yb5lr9877225v34xz2qz7z-bootstrap-gcc-wrapper’
building path(s) ‘/nix/store/vs9n9mc6gr5xb1qrwwhwy1c81m4hih65-bash-4.3.tar.gz’
building path(s) ‘/nix/store/z6kg5yg5sy17dna9814s904lqhzz6mgs-bash43-001’
building path(s) ‘/nix/store/4pfdq4wwani34ij0rxd43jqxrhxssc9w-bash43-002’
building path(s) ‘/nix/store/4pv6rknwyir6c13dsbklhyx9ck8jq1nw-bash43-003’
building path(s) ‘/nix/store/fs672shz0cj72kbhpg335wcc37l1hja9-bash43-004’
building path(s) ‘/nix/store/gp9fbgz1qi79x5p85r6wzz555qi281h7-bash43-005’
building path(s) ‘/nix/store/fkhb66ffkqmips4x8cvaxmkw9b4lc271-bash43-006’
building path(s) ‘/nix/store/ahcinn4p1zab4q42vwkj78i39ws2hv1x-bash43-007’
building path(s) ‘/nix/store/1z2yshniwg2sah8rxbzddg9wyssjrm83-bash43-008’
building path(s) ‘/nix/store/lmrv0r66zfqv2z1917dnmlw35mqfq3j2-bash43-009’
building path(s) ‘/nix/store/hgz3arjy0bgkldzjpyg3rm9lx5rpbrll-bash43-010’
building path(s) ‘/nix/store/njvpi4nr9ri8qkisyiv4q9x1hs0wlzgq-bash43-011’
building path(s) ‘/nix/store/xlv9j4v1hrh2f7i2b556sqms0sysnvw9-bash43-012’
building path(s) ‘/nix/store/hp8x24q82ca6jxps0l1bb9h0b2mx6jr7-bash43-013’
building path(s) ‘/nix/store/qn88ib0pfx1jh3yx0fb0zr1x77zhnl5y-bash43-014’
building path(s) ‘/nix/store/kd804yap8q0pxdwgmnznwpxg6n27wdy6-bash43-015’
building path(s) ‘/nix/store/06v6ljn6x9l3387knh05cf56qzdfq100-bash43-016’
building path(s) ‘/nix/store/4rx1inicrwsam73lswhmji204nypixmk-bash43-017’
building path(s) ‘/nix/store/32i8wc1j50inyncpymykkv9wdp4ddc2w-bash43-018’
building path(s) ‘/nix/store/jlm4rnnhlia8dfj9sayb8z8189k0gpwi-bash43-019’
building path(s) ‘/nix/store/5gvvqfq0izlcgdz3wfm829cr1y642myi-bash43-020’
building path(s) ‘/nix/store/10jg89k3wq2rvhkfqsy72lbcckx4l8f4-bash43-021’
building path(s) ‘/nix/store/qldg28w9bn3giw0bf0cfhjyrp524pncb-bash43-022’
building path(s) ‘/nix/store/l8ar51kvjmymjjyjh7ciz6frb023vkpj-bash43-023’
building path(s) ‘/nix/store/bb340661kzwzcwgx4jqy9lf6bcbhy1gv-bash43-024’
building path(s) ‘/nix/store/0f53sdvakb6bnl7c4n8dm0rhkmyl6890-bash43-025’
building path(s) ‘/nix/store/37l722g5s1lgaydr88sym7iwzk27wh0f-bash43-026’
building path(s) ‘/nix/store/f91fdmm4k7b172y20y9ps9m3gafcljvf-bash43-027’
building path(s) ‘/nix/store/rmafisy7230arj1mj5mm7i1i7a4dmngz-bash43-028’
building path(s) ‘/nix/store/rld87mkv8rcz3gdkhc1hmkvfias675sf-bash43-029’
building path(s) ‘/nix/store/kz6ilw5b28pdcixy7pkyr0yhj99i2z93-bash43-030’
building path(s) ‘/nix/store/k728f9bxb6mkn1qkxf3f1yl37iqypdk9-bash43-031’
building path(s) ‘/nix/store/dkzh0n5wr5mk3hryl1i79ncwas0s3qrk-bash43-032’
building path(s) ‘/nix/store/znd6apsyigf80vzyxg5651ip345fzxay-bash43-033’
building path(s) ‘/nix/store/a9fliicswsa4djvqbblf2pi0z1689hal-bash43-034’
building path(s) ‘/nix/store/kjyrwf6xxqq304xjgd1la8x9kq6k9d36-bash43-035’
building path(s) ‘/nix/store/ln0iqvrm6z6cpg1hybqs78gf14a4rfmf-bash43-036’
building path(s) ‘/nix/store/3g3bzdsq1d4c1dsl4cng003cvyk6id4r-bash43-037’
building path(s) ‘/nix/store/0hac0fbilqkr1klj41cfwb56sa3l0yhx-bash43-038’
building path(s) ‘/nix/store/p0spzdnw5ark08m3lgm3h9fmb1fk1qis-bash43-039’
building path(s) ‘/nix/store/7rpdjl1h7667l8x6r0im7k709yq2nk1k-bash43-040’
building path(s) ‘/nix/store/mxxh4qw518y5ihlix1rpmcvf2j186piq-bash43-041’
building path(s) ‘/nix/store/pk9vixb1iwah1z4xqalaqsf14b0c062m-bash43-042’
building path(s) ‘/nix/store/n69kz335c800n2b6izsjbw60rlnvp87c-binutils-2.23.1.tar.bz2’
building path(s) ‘/nix/store/qqcr2r67cl60ndynz0d86g48ck8xx8sr-bison-3.0.4.tar.gz’
building path(s) ‘/nix/store/y5m8m5w71mj01f7chl7xp5vnyq5bqh8n-m4-1.4.17.tar.bz2’
building path(s) ‘/nix/store/6zgj0paw1dys71fs42a5wqa0r49fpzcw-patchelf-0.8.tar.bz2’
building path(s) ‘/nix/store/0a10anrr73r5b4215mp6y1241cbrrl6c-paxctl-0.9.tar.gz’
building path(s) ‘/nix/store/wifcl6jidk0fd9nnj6k297lggjb3l1jf-perl-5.20.3.tar.gz’
building path(s) ‘/nix/store/1mrr6sb305hw3l1krcd2ywnd39ag3l7l-stdenv-linux-boot’
building path(s) ‘/nix/store/v7qfzxx0px8k7898k8zibym2hr11x2ap-xz-5.2.2.tar.bz2’
building path(s) ‘/nix/store/a048k7r603jq7sphp907zja27gpyzbx1-zlib-1.2.8.tar.gz’
building path(s) ‘/nix/store/g7j575q7jfjhal4kyv26cbr1bqfmpczi-paxctl-0.9’
building path(s) ‘/nix/store/5n9jl68i8ar5fz7sq6dzzdqg2n5i7wfv-zlib-1.2.8’, ‘/nix/store/h0lsjn6wvfkpw9jdl3n2n1dzmlmqyxxa-zlib-1.2.8-static’, ‘/nix/store/k81yl9hzaipjbn619aqd0xw8i7fxbvxw-zlib-1.2.8-dev’
building path(s) ‘/nix/store/2vgi9scr1aa3a1bh2fwzp1zi28shxa77-perl-5.20.3’, ‘/nix/store/a1qbhnsc4prsf9rryl0wg7brkjb14rsn-perl-5.20.3-man’, ‘/nix/store/aaqrgkz9y3m0m02098dw63yqq2f87l7a-perl-5.20.3-docdev’
building path(s) ‘/nix/store/586shwslmkimy99w7ix2df1gjkvijc0x-binutils-2.23.1-dev’, ‘/nix/store/kj2nlfavm3dklrkmnnxs3a1rbv4kmj0p-binutils-2.23.1-info’, ‘/nix/store/zsjja7mwpcnpy089jj3zjazyw1732i3a-binutils-2.23.1’
building path(s) ‘/nix/store/dr7np9mhj2v5xn82x8war0f0vsfknawb-bootstrap-gcc-wrapper’
building path(s) ‘/nix/store/hi2msz8v093gyszm2f63jyvl6wld83qc-bootstrap-gcc-wrapper’
building path(s) ‘/nix/store/hqi28qzpcqr4l531qzm33ffswb01y2j2-gcc-wrapper-4.9.3’
building path(s) ‘/nix/store/hw8gj3wpr2fnwj3574vvvgvb672cy3g9-stdenv-linux-boot’
building path(s) ‘/nix/store/gy8qg3ldp4hz8nkjxpzny9aih3yxbpjg-patchelf-0.8’
building path(s) ‘/nix/store/nwh455hbja7fy99zias3lsi2hp6dc0v5-stdenv-linux-boot’
building path(s) ‘/nix/store/l6447xc1ss3zpx7padv56mjpcc4h0lir-gnum4-1.4.17’
building path(s) ‘/nix/store/1xqy75nhqkax4wbxqvkyn7r21mp0i1ny-xz-5.2.2-bin’, ‘/nix/store/8x6yr653s5wkfa7xxff93dy6xif2nmyr-xz-5.2.2’, ‘/nix/store/g9xmbxlb4gbpx49jzfl16zwnr217kvnn-xz-5.2.2-man’, ‘/nix/store/qb21d8gw85hp3y8w41w0lk7dd77al248-xz-5.2.2-doc’, ‘/nix/store/x87pkl9mzxf0xzg8kfzb3nsv5sm13h3d-xz-5.2.2-dev’
building path(s) ‘/nix/store/4f2b908sql36wwwbvax4y4rcvx6mxpdw-stdenv-linux-boot’
building path(s) ‘/nix/store/4mgn3rc9vq6k3jfa7bh0bm3i85pvpp2v-bison-3.0.4’
building path(s) ‘/nix/store/83idx3q7vnhgkg62jhhm5vix4nlw2810-bash-4.3-p42-doc’

[nix-shell:~/src/mood]$

As can be seen, a lot was rebuilt -- but curiously, none of the leaf dependencies --
haskell stuff was untouched.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions