From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: narinfo/nar mismatch on nginx caches Date: Thu, 11 May 2017 10:48:47 +0200 Message-ID: <87y3u3vkwg.fsf_-_@gnu.org> References: <3ba0f9b.cdbf.15bd8975809.Coremail.tumashu@163.com> <87lgqb8elr.fsf@gnu.org> <111ec7e.3e7b.15bdd3fe06c.Coremail.tumashu@163.com> <871ss1qa89.fsf@gnu.org> <74534164-70c1-d331-78aa-a92c11dd7b6f@fastmail.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54136) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d8jmO-0001Js-Oy for guix-devel@gnu.org; Thu, 11 May 2017 04:49:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d8jmN-0006yd-Tv for guix-devel@gnu.org; Thu, 11 May 2017 04:49:00 -0400 In-Reply-To: <74534164-70c1-d331-78aa-a92c11dd7b6f@fastmail.net> (Konrad Hinsen's message of "Wed, 10 May 2017 15:31:56 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Konrad Hinsen Cc: guix-devel@gnu.org, guix-sysadmin@gnu.org Hi Konrad, Konrad Hinsen skribis: > On 07/05/2017 11:36, Ludovic Court=C3=A8s wrote: > >>> guix pull: error: build failed: some substitutes for the outputs of der= ivation `/gnu/store/d1qkv7x8ayi75qjlg7d5j5g1h7y4fl5p-make-boot0-4.2.1.drv' = failed (usually happens due to networking issues); try `--fallback' to buil= d derivation from source >> >> I fixed it yesterday, let me know how that goes. > > There seems to be a reservoir of similar bugs. Looks like it. :-/ The hope with the new =E2=80=98guix publish --cache=E2= =80=99 is that these issues will vanish over time; the 404s that were reported are for older store items for which we still had old entries in cache. > Here is the one I just ran into: > > hash mismatch in downloaded path > `/gnu/store/q6rbp7s542jkhrhz04hsp2i60gw0h4as-python-2.7.12': expected > aea4335a5e6d65a36ed74561b15f8242773c49110be30d8ab7b43590f0568e60, got > 49b3fc5b436309b4d097ed3c84946d5cab742db6159d76f5ad7a1d7896a2760f > fetching path `/gnu/store/9761yfpvyr1fcpjhry8pgb3f0k6kj8n4-sed-4.2.2'... > killing process 3685 > guix pull: error: build failed: some substitutes for the outputs of > derivation > `/gnu/store/wn2068qzbyh1v64dxxwbfjik7cjq0sji-python-2.7.12.drv' failed > (usually happens due to networking issues); try `--fallback' to build > derivation from source This hash mismatch is a different story: this package did not build deterministically, caches have kept the data (the nar) but they have updated the meta-data (narinfo), which now advertises a different hash. IOW, the cached data no longer matches the meta-data. If we were not running nginx caches in front of =E2=80=98guix publish --cac= he=E2=80=99, we would not have these problems. However, we need those caches to distribute the load. Long-term the best option of course is to have all packages be bit-reproducible, but until we get there, I=E2=80=99m not sure how to addre= ss it. Thoughts anyone? Thanks for your report, Ludo=E2=80=99.