GNU bug report logs -
#43757
cuirass: Fail to fetch "guix" input.
Previous Next
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.
Full log
Message #13 received at 43757-done <at> debbugs.gnu.org (full text, mbox):
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’.
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.