Subject: time-machine error when leaping from version-1.2.0 to version-1.4.0
From: Carl Dong <[email-masked]>
To: [email-masked]
Date: Mon, 20 Dec 2021 17:28:27 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi all,

A fellow Bitcoin developer has submitted a patch bumping our time-machine to a commit on the version-1.4.0 branch for testing. While testing that change, a few developers encountered a bug in the time-machine script.

I’ve been able to distill it down to a reproducible form:

$ guix time-machine --branch=version-1.2.0 -- time-machine --commit=6dffced09ecda024e0884e352778c221ad066fd6 -- describe

The specific error that you get:
--8<---------------cut here---------------start------------->8---
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Backtrace:
In guix/store.scm:
  2042:24 19 (run-with-store #<store-connection 256.99 7f0708266cd0> ?)
In guix/inferior.scm:
    734:8 18 (_ _)
In guix/channels.scm:
    876:2 17 (_ _)
    836:2 16 (_ _)
In ./guix/monads.scm:
    482:9 15 (_ _)
In guix/store.scm:
   1876:8 14 (_ _)
In guix/channels.scm:
   604:36 13 (_ #<store-connection 256.99 7f0708266cd0>)
   657:11 12 (_)
In ice-9/eval.scm:
   196:35 11 (_ #(#(#<directory (build-self) 7f070834c500>) "/gnu?" ?))
   173:47 10 (_ #(#(#(#<directory (build-self) 7f070834c500>) # ?) ?))
   213:37  9 (_ #(#(#(#<directory (build-self) 7f070834c500>) # ?) ?))
    159:9  8 (_ #(#(#(#<directory (build-self) 7f070834c500>) # ?) ?))
    159:9  7 (_ #(#(#(#<directory (build-self) 7f070834c500>) # ?) ?))
    159:9  6 (_ #(#(#(#<directory (build-self) 7f070834c500>) # ?) ?))
In guix/modules.scm:
   157:28  5 (module-closure _ #:select? _ #:dependencies _)
In guix/memoization.scm:
    100:0  4 (_ #<hash-table 7f0710ddfc00 26/31> "/gnu/store/i88h59?" ?)
In ice-9/ports.scm:
   445:17  3 (call-with-input-file _ _ #:binary _ #:encoding _ # _)
In guix/modules.scm:
     69:4  2 (_ _)
In ice-9/boot-9.scm:
  1669:16  1 (raise-exception _ #:continuable? _)
  1669:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1669:16: In procedure raise-exception:
Throw to key `match-error' with args `("match" "no matching pattern" (#:re-export-and-replace (delete) #:replace ((define-public* . define-public)) #:export (content-hash content-hash? content-hash-algorithm content-hash-value origin origin? this-origin origin-uri origin-method origin-hash origin-sha256 origin-file-name origin-actual-file-name origin-patches origin-patch-flags origin-patch-inputs origin-patch-guile origin-snippet origin-modules base32 base64 package package? this-package package-name package-upstream-name package-version package-full-name package-source package-build-system package-arguments package-inputs package-native-inputs package-propagated-inputs package-outputs package-native-search-paths package-search-paths package-replacement package-synopsis package-description package-license package-home-page package-supported-systems package-properties package-location package-definition-location hidden-package hidden-package? package-superseded deprecated-package package-field-location this-package-input this-package-native-input lookup-package-input lookup-package-native-input lookup-package-propagated-input lookup-package-direct-input prepend replace modify-inputs package-direct-sources package-transitive-sources package-direct-inputs package-transitive-inputs package-transitive-target-inputs package-transitive-native-inputs package-transitive-propagated-inputs package-transitive-native-search-paths package-transitive-supported-systems package-mapping package-input-rewriting package-input-rewriting/spec package-source-derivation package-derivation package-cross-derivation package-output package-grafts package-patched-vulnerabilities package-with-patches package-with-extra-patches package-with-c-toolchain package/inherit transitive-input-references %supported-systems %hurd-systems %cuirass-supported-systems supported-package? &package-error package-error? package-error-package &package-input-error package-input-error? package-error-invalid-input &package-cross-build-system-error package-cross-build-system-error? package->bag bag->derivation bag-direct-inputs bag-transitive-inputs bag-transitive-host-inputs bag-transitive-build-inputs bag-transitive-target-inputs package-development-inputs package-closure default-guile default-guile-derivation set-guile-for-build package-file package->derivation package->cross-derivation origin->derivation)))'.
--8<---------------cut here---------------end--------------->8---

Let me know if there’s any other information I can provide or if this is a dupe!

Cheers,
Carl Dong