From a9d4f2b303584c9de26140a511302ac2fdc7c9ad Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 24 Aug 2016 14:53:33 +0200 Subject: [PATCH] Fix queryPathFromHashPart() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The inner lambda was returning a SQLite-internal char * rather than a std::string, leading to Hydra errors liks Caught exception in Hydra::Controller::Root->narinfo "path ‘ø˜£â€™ is not in the Nix store at /nix/store/6mvvyb8fgwj23miyal5mdr8ik4ixk15w-hydra-0.1.1234.abcdef/libexec/hydra/lib/Hydra/Controller/Root.pm line 352." --- src/libstore/local-store.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libstore/local-store.cc b/src/libstore/local-store.cc index d3f0c4787..10056f2f1 100644 --- a/src/libstore/local-store.cc +++ b/src/libstore/local-store.cc @@ -760,7 +760,7 @@ Path LocalStore::queryPathFromHashPart(const string & hashPart) Path prefix = storeDir + "/" + hashPart; - return retrySQLite([&]() { + return retrySQLite([&]() -> std::string { auto state(_state.lock()); auto useQueryPathFromHashPart(state->stmtQueryPathFromHashPart.use()(prefix));