nix-community/nix-bundle

maketar fails with: [glibc locale] file changed as we read it

Opened this issue · 5 comments

It doesn’t happen consistently ( :o ), but I’m quite often getting this when running nix-bundle:

tar: /nix/store/2qgjpsn1zkf0clvrrjympwf6ar2dx83r-glibc-2.27/share/i18n/locales/mai_NP: file changed as we read it
builder for '/nix/store/b4qxkfr51mplhfkl7i5dg4fvd8gwm2zw-maketar.drv' failed with exit code 1
cannot build derivation '/nix/store/00p5syq4hy5jv4pw843z191w8bi2kdsf-arx.drv': 1 dependencies couldn't be built

Or:

tar: /nix/store/2qgjpsn1zkf0clvrrjympwf6ar2dx83r-glibc-2.27/share/i18n/locales/cns11643_stroke: file changed as we read it

How is it even possible for this store path to change? :o

Re-running it, it works.

I’m building an AppImage and nix-bundle of the same application in parallel, if it makes any difference.

Yeah, so it seems to be some race, when building them serially (nix-bundle first, then AppImage), it works each time.

So creating an artificial dependency on nix-bundle, e.g. somewhere in the AppImage source, using a string of ${lib.substring 0 1 (toString bundle)} works…

But I don’t think it’s the solution. =P

Hmmm... It could be AppImage messing with stuff in the background. Are you using a single-user or multi-user store?

@matthewbauer it’s on regular NixOS, so… /nix/store is immutable… Hmmm.