GNU bug report logs - #50696
base32.scm is miscompiled at -O1

Previous Next

Package: guix;

Reported by: Marius Bakke <marius <at> gnu.org>

Date: Mon, 20 Sep 2021 09:38:01 UTC

Severity: important

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Marius Bakke <marius <at> gnu.org>
Subject: bug#50696: closed (Re: bug#50696: [core-updates-frozen] Wrong
 output hashes computed since cb06f7c61e4b839)
Date: Tue, 21 Sep 2021 08:17:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#50696: base32.scm is miscompiled at -O1

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 50696 <at> debbugs.gnu.org.

-- 
50696: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=50696
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: Marius Bakke <marius <at> gnu.org>
Cc: 50696-done <at> debbugs.gnu.org
Subject: Re: bug#50696: [core-updates-frozen] Wrong output hashes computed
 since cb06f7c61e4b839
Date: Tue, 21 Sep 2021 10:15:44 +0200
Ludovic Courtès <ludo <at> gnu.org> skribis:

> Fixed upstream:
>
>   https://git.savannah.gnu.org/cgit/guile.git/commit/?id=74abae04aa68dc18676bd84c4a73324b0613475d

And here’s the clever workaroud, in all modesty:

  https://git.savannah.gnu.org/cgit/guix.git/commit/?h=core-updates-frozen&id=68933659cb191774872d8ff71503844b92dc7355

:-)

Ludo’.

[Message part 3 (message/rfc822, inline)]
From: Marius Bakke <marius <at> gnu.org>
To: bug-guix <at> gnu.org
Subject: [core-updates-frozen] Wrong output hashes computed since
 cb06f7c61e4b839
Date: Mon, 20 Sep 2021 11:37:48 +0200
[Message part 4 (text/plain, inline)]
Hello,

On the 'core-updates-frozen' branch, attempting to pull 'master' gives a
backtrace along the lines of ...

Computing Guix derivation for 'x86_64-linux'... |Backtrace:
In ice-9/boot-9.scm:
    152:2 19 (with-fluid* _ _ _)
    152:2 18 (with-fluid* _ _ _)
In ./guix/store.scm:
  2108:24 17 (run-with-store #<store-connection 256.99 7fbe31aac140> #<procedure 7fbe291da870 at ./guix/self.scm:13?> ?)
In ./guix/self.scm:
   1313:2 16 (_ #<store-connection 256.99 7fbe31aac140>)
In ./guix/packages.scm:
  1548:17 15 (_ #<store-connection 256.99 7fbe31aac140>)
  1177:16 14 (cache! #<weak-table 0/113> #<package guile <at> 3.0.7 7fbe22baf8c0> ("x86_64-linux" . #t) #<procedure thunk?>)
  1495:22 13 (thunk)
  1428:25 12 (bag->derivation #<store-connection 256.99 7fbe31aac140> #<<bag> name: "guile-3.0.7" system: "x86_64-l?> ?)
In srfi/srfi-1.scm:
   586:17 11 (map1 (("source" #<origin "mirror://gnu/guile/guile-3.0.7.tar.xz" #<content-hash sha256:0h0i0040l0?>) ?))
In ./guix/packages.scm:
   1239:5 10 (failure)
In ice-9/boot-9.scm:
  1752:10  9 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
In ./guix/packages.scm:
  1244:18  8 (_)
In ./guix/store.scm:
  2108:24  7 (run-with-store #<store-connection 256.99 7fbe31aac140> #<procedure 7fbe222a72d0 at ./guix/gexp.scm:26?> ?)
   1945:8  6 (_ #<store-connection 256.99 7fbe31aac140>)
/In ./guix/gexp.scm:
   275:18  5 (_ #<store-connection 256.99 7fbe31aac140>)
In ./guix/packages.scm:
   1603:5  4 (_ #<store-connection 256.99 7fbe31aac140>)
In ./guix/store.scm:
  1980:38  3 (_ #<store-connection 256.99 7fbe221cf690>)
In ./guix/derivations.scm:
   955:17  2 (derivation #<store-connection 256.99 7fbe221cf690> "guile-3.0.7.tar.xz" "builtin:download" () #:system ?)
In ./guix/store.scm:
   1058:9  1 (_ #<store-connection 256.99 7fbe221cf690> "guile-3.0.7.tar.xz.drv" #vu8(68 101 114 105 118 101 40 91 ?) ?)
In ice-9/boot-9.scm:
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
ERROR:
  1. &store-protocol-error:
      message: "derivation `/gnu/store/szv5fh043rrqq01xpycp7xci4y7myqfk-guile-3.0.7.tar.xz.drv' has incorrect output `/gnu/store/qwjhql8lqw40fqhaqw40jwqs0hc0248w-guile-3.0.7.tar.xz', should be `/gnu/store/0zliqv8lcw13f9iasy14kmwsqj3d309w-guile-3.0.7.tar.xz'"
      status: 1

I bisected it down to cb06f7c61e4b:

commit cb06f7c61e4b8393abf38f1f5891e03c33d53b9b
Author: Ludovic Courtès <ludo <at> gnu.org>
Date:   Thu Sep 9 23:22:10 2021 +0200

    base32: Provide an open-coded 'bit-field'.

    This improves the throughput of 'bytevector->base32-string' a bit.

    * guix/base32.scm (bit-field): New macro.

It can be reproduced with a two-dimensional time machine:

  $ guix time-machine --branch=core-updates-frozen -- time-machine \
      --commit=cb06f7c61e4b8393abf38f1f5891e03c33d53b9b -- build hello

...or by pulling 'core-updates-frozen' and attempting to pull 'master'.

The commit was merged to 'core-updates-frozen' in 5c3cb22c9b281066, so
pulling core-updates-frozen -> core-updates-frozen also fails in a
similar manner (albeit on a different derivation).
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 3 years and 295 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.