GNU bug report logs - #43757
cuirass: Fail to fetch "guix" input.

Previous Next

Package: guix;

Reported by: Mathieu Othacehe <othacehe <at> gnu.org>

Date: Fri, 2 Oct 2020 09:56:02 UTC

Severity: normal

Done: Mathieu Othacehe <othacehe <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 43757 in the body.
You can then email your comments to 43757 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#43757; Package guix. (Fri, 02 Oct 2020 09:56:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Mathieu Othacehe <othacehe <at> gnu.org>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Fri, 02 Oct 2020 09:56:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: bug-guix <at> gnu.org
Subject: cuirass: Fail to fetch "guix" input.
Date: Fri, 02 Oct 2020 11:55:53 +0200
Hello,

Running local tests, I have the following error:

--8<---------------cut here---------------start------------->8---
2020-10-02T11:54:09 fatal: uncaught exception 'misc-error' in 'build' fiber!
2020-10-02T11:54:09 exception arguments: (#f "Attempt to suspend fiber within continuation barrier" () #f)
In ice-9/boot-9.scm:
  1731:15 13 (with-exception-handler #<procedure 7f4eb362df60 at ic?> ?)
  1736:10 12 (with-exception-handler _ _ #:unwind? _ # _)
    152:2 11 (with-fluid* _ _ _)
    718:2 10 (call-with-prompt ("break") #<procedure 7f4eb76adb60 a?> ?)
    718:2  9 (call-with-prompt ("continue") #<procedure 7f4eb76ad14?> ?)
In ice-9/eval.scm:
    619:8  8 (_ #(#(#<directory (guile-user) 7f4eb72d7f00> #<var?> ?)))
In srfi/srfi-1.scm:
    634:9  7 (for-each #<procedure 7f4eb3750660 at cuirass/base.scm?> ?)
In ice-9/boot-9.scm:
  1731:15  6 (with-exception-handler #<procedure 7f4eb3673ba0 at ic?> ?)
  1669:16  5 (raise-exception _ #:continuable? _)
  1764:13  4 (_ #<&compound-exception components: (#<&error> #<&orig?>)
In cuirass/utils.scm:
    240:8  3 (_ _ . _)
In ice-9/boot-9.scm:
  1731:15  2 (with-exception-handler #<procedure 7f4eb7616480 at ic?> ?)
In cuirass/utils.scm:
   241:22  1 (_)
In unknown file:
           0 (make-stack #t)
ERROR: In procedure make-stack:
Attempt to suspend fiber within continuation barrier
--8<---------------cut here---------------end--------------->8---

the specification is:

--8<---------------cut here---------------start------------->8---
(define manifest
  '((#:name . "my-manifest")
    (#:load-path-inputs . ("guix"))
    (#:package-path-inputs . ())
    (#:proc-input . "guix")
    (#:proc-file . "build-aux/cuirass/gnu-system.scm")
    (#:proc . cuirass-jobs)
    (#:proc-args (subset . "all"))
    (#:inputs . (((#:name . "guix")
                  (#:url . "git://git.savannah.gnu.org/guix.git")
                  (#:load-path . ".")
                  (#:branch . "master")
                  (#:no-compile? . #t))
                 ((#:name . "guix2")
                  (#:url . "git://git.savannah.gnu.org/guix.git")
                  (#:load-path . ".")
                  (#:branch . "master")
                  (#:no-compile? . #t))))
    (#:build-outputs . ())))
(list manifest)
--8<---------------cut here---------------end--------------->8---

It looks like adding a second input, creates an exception during inputs
fetching.

Thanks,

Mathieu

-- 
https://othacehe.org




Reply sent to Mathieu Othacehe <othacehe <at> gnu.org>:
You have taken responsibility. (Sat, 03 Oct 2020 09:17:01 GMT) Full text and rfc822 format available.

Notification sent to Mathieu Othacehe <othacehe <at> gnu.org>:
bug acknowledged by developer. (Sat, 03 Oct 2020 09:17:02 GMT) Full text and rfc822 format available.

Message #10 received at 43757-done <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: 43757-done <at> debbugs.gnu.org
Cc: ludo <at> gnu.org, jonathan.brielmaier <at> web.de
Subject: Re: bug#43757: cuirass: Fail to fetch "guix" input.
Date: Sat, 03 Oct 2020 11:16:01 +0200
Hello,

> ERROR: In procedure make-stack:
> Attempt to suspend fiber within continuation barrier

Turns out "par-map" call does not seem suspendable, even though I'm not
sure why. Maybe Ludo can help here :) ?

This is fixed with: 761443bca6178b4ac299a8bd368d1cac4abda5f8.

Thanks,

Mathieu




Information forwarded to bug-guix <at> gnu.org:
bug#43757; Package guix. (Sat, 03 Oct 2020 12:02:01 GMT) Full text and rfc822 format available.

Message #13 received at 43757-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Mathieu Othacehe <othacehe <at> gnu.org>
Cc: 43757-done <at> debbugs.gnu.org, jonathan.brielmaier <at> web.de
Subject: Re: bug#43757: cuirass: Fail to fetch "guix" input.
Date: Sat, 03 Oct 2020 14:00:42 +0200
Hi,

Mathieu Othacehe <othacehe <at> gnu.org> skribis:

>> ERROR: In procedure make-stack:
>> Attempt to suspend fiber within continuation barrier
>
> Turns out "par-map" call does not seem suspendable, even though I'm not
> sure why. Maybe Ludo can help here :) ?

‘par-map’ is implemented in terms of futures, and futures use their own
thread pool.  What’s likely to block is ‘touch’: it essentially waits on
a condition variable, which Fibers cannot interrupt.

I’d say that mixing fibers and ‘par-map’ is a bad idea.  :-)

If we need such a thing, I think we should implement it on top of
Fibers.  Implementing futures on top of fibers + channels should be
easier than what (ice-9 futures) does.

> This is fixed with: 761443bca6178b4ac299a8bd368d1cac4abda5f8.

Why not just replace ‘par-map’ with ‘map’?  That sounds easier and I
suspect it doesn’t change much performance-wise.

(There’s a 2nd use of ‘par-map’ in that file.)

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#43757; Package guix. (Sat, 03 Oct 2020 13:15:01 GMT) Full text and rfc822 format available.

Message #16 received at 43757-done <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 43757-done <at> debbugs.gnu.org, jonathan.brielmaier <at> web.de
Subject: Re: bug#43757: cuirass: Fail to fetch "guix" input.
Date: Sat, 03 Oct 2020 15:14:09 +0200
Hey Ludo,

> ‘par-map’ is implemented in terms of futures, and futures use their own
> thread pool.  What’s likely to block is ‘touch’: it essentially waits on
> a condition variable, which Fibers cannot interrupt.

I see, thanks for explaining.

> Why not just replace ‘par-map’ with ‘map’?  That sounds easier and I
> suspect it doesn’t change much performance-wise.

The objective was to still be able to run parallel input fetching, but
you're right, a simple "map" is nicer.

> (There’s a 2nd use of ‘par-map’ in that file.)

Oh! Fixed too.

Thanks for the quick answer,

Mathieu




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 01 Nov 2020 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 230 days ago.

Previous Next


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