Ludovic Courtès writes: > The error message that’s haunting us: > > opening file `/gnu/store/….drv': No such file or directory > > comes from guix-daemon. It happens while the client is doing an > ‘add-text-to-store’ RPC to add that .drv to the store. > ‘LocalStore::addTextToStore’ supposedly creates the .drv file in > /gnu/store and then reads it back (‘registerValidPath’ -> ‘addValidPath’ > -> ‘readDerivation’ -> ‘readFile’): this is where it gets ENOENT. > > It would suggest that the database is consistent, but that somehow > writes don’t go through the overlay FS. Most interesting. I saw a comment > void LocalStore::registerValidPaths(const ValidPathInfos & infos) > { > /* SQLite will fsync by default, but the new valid paths may not be fsync-ed. > * So some may want to fsync them before registering the validity, at the > * expense of some speed of the path registering operation. */ > if (settings.syncBeforeRegistering) sync(); In vain, I therefore tried