unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#47018: core-updates: make check fails when guix-daemon is running
@ 2021-03-09  8:48 Chris Marusich
  2021-03-09  8:51 ` Chris Marusich
  2021-03-09 16:45 ` Lars-Dominik Braun
  0 siblings, 2 replies; 6+ messages in thread
From: Chris Marusich @ 2021-03-09  8:48 UTC (permalink / raw)
  To: 47018; +Cc: Lars-Dominik Braun

[-- Attachment #1: Type: text/plain, Size: 4679 bytes --]

Hi,

Lars-Dominik, I'm CCing you on this email because you introduced the
code discussed below, so I'm hoping you might know something about it.
If you could please take a look, I'd really appreciate it!

Starting with commit 09448c0994390697e876db235a3b773311795238, "make
check" fails when a guix-daemon is running.  (It doesn't fail when
guix-daemon is not running, since the problematic code below is only
executed when an "external store" is available.)  A guix-daemon is
usually running when one manually invokes "make check" on a system where
Guix has already been installed.

One specific test failure is test/guix-package.sh, which fails as
follows:

--8<---------------cut here---------------start------------->8---
test-name: python-build-system: python-dummy-ok
location: /home/marusich/guix-core-updates/tests/builders.scm:174
source:
+ (test-assert
+   (string-append
+     "python-build-system: "
+     (package-name p))
+   (let* ((drv (package-derivation store p)))
+     (build-derivations store (list drv))))
actual-value: #f
actual-error:
+ (out-of-range
+   #f
+   "Value out of range ~S to ~S: ~S"
+   (0 59 81)
+   (81))
result: FAIL

test-name: python-build-system: python-dummy-no-setuptools
location: /home/marusich/guix-core-updates/tests/builders.scm:174
source:
+ (test-assert
+   (string-append
+     "python-build-system: "
+     (package-name p))
+   (let* ((drv (package-derivation store p)))
+     (build-derivations store (list drv))))
actual-value: #f
actual-error:
+ (out-of-range
+   #f
+   "Value out of range ~S to ~S: ~S"
+   (0 59 81)
+   (81))
result: FAIL
--8<---------------cut here---------------end--------------->8---

The test succeeds on the previous commit.

Upon closer inspection, it seems the failure occurs when calling
package-derivation.  By putting the following code into the
tests/builders.scm file...

--8<---------------cut here---------------start------------->8---
(pk 'beforerun)
(with-external-store store
  (package-derivation store python-dummy-ok))
(pk 'afterrun)
--8<---------------cut here---------------end--------------->8---

...I was able to get this error message when running "make check
TESTS=tests/builders.scm":

--8<---------------cut here---------------start------------->8---
;;; (beforerun)
Backtrace:
In guix/packages.scm:
  1519:22 19 (thunk)
  1448:25 18 (bag->derivation #<store-connection 256.99 7fff865c5190> …)
In srfi/srfi-1.scm:
   586:29 17 (map1 (("source" #<origin "https://data.iana.org/t…>) …))
   586:29 16 (map1 (("tzcode" #<origin "https://data.iana.org/t…>) …))
   586:17 15 (map1 (("tar" #<package tar@1.34 guix/build-system…>) …))
In guix/packages.scm:
  1224:16 14 (expand-input #<store-connection 256.99 7fff865c5190> # …)
  1181:16 13 (package-derivation _ #<package tar@1.34 guix/build-sy…> …)
  1519:22 12 (thunk)
  1448:25 11 (bag->derivation #<store-connection 256.99 7fff865c5190> …)
In srfi/srfi-1.scm:
   586:17 10 (map1 (("source" #<origin "mirror://gnu/tar/tar-1.…>) …))
In guix/packages.scm:
   1243:5  9 (expand-input _ _ _ _ _)
In ice-9/boot-9.scm:
  1736:10  8 (with-exception-handler _ _ #:unwind? _ # _)
In guix/packages.scm:
  1248:18  7 (_)
In guix/store.scm:
  2062:24  6 (run-with-store #<store-connection 256.99 7fff865c5190> …)
   1896:8  5 (_ _)
In guix/gexp.scm:
   258:18  4 (_ _)
In guix/packages.scm:
   1635:7  3 (_ _)
    616:2  2 (patch-and-repack #<derivation /gnu/store/z66sd90j5ya4…> …)
In unknown file:
           1 (string-drop "/gnu/store/4y8yhyxhvh725bp3bk7wzr3jn8r5h…" …)
In ice-9/boot-9.scm:
  1669:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1669:16: In procedure raise-exception:
Value out of range 0 to 59: 74
--8<---------------cut here---------------end--------------->8---

I'm not sure exactly what the problem is.  I'm inclined to believe that
it represents some sort of test logic bug, rather than a real python
packaging bug, I'm not really sure.

I see that the problematic forms are using macros.  Specifically, the
tests/builders.scm code is attempting to simultaneously mix invocations
of lambdas, the test-assert syntax (i.e., macro), and the
with-external-store syntax (i.e., macro).  I wonder if there's a
macro-related bug lurking here...  Any ideas?

For now, the failures can be worked around by stopping guix-daemon when
running "make check."  Naturally, this bug isn't a problem when guix
builds guix, since an external store is not available in the build
environment, so the problematic code doesn't get executed there.

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-07-05 15:03 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-09  8:48 bug#47018: core-updates: make check fails when guix-daemon is running Chris Marusich
2021-03-09  8:51 ` Chris Marusich
2021-03-09 16:45 ` Lars-Dominik Braun
2021-03-12  7:45   ` Chris Marusich
2021-06-20 21:20   ` Ludovic Courtès
2021-07-05 14:59   ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).