l...@gnu.org (Ludovic Courtès) writes:

> Marius Bakke <mba...@fastmail.com> skribis:
>
>> Most likely just lucky, new grafting failure today.
>>
>> I've noticed they are more likely to occur when the host system is busy.
>> Grafting a large package such as 'texlive' is almost guaranteed to fail
>> on a fully-utilized machine.
>>
>> Maybe we should switch back to 2.0 for the time being?
>
> Yes, done: <https://bugs.gnu.org/28211>.
>
> I took a look: the code in (guix build graft) is multi-threaded but
> there’s no shared state among threads (except for the current
> output/error ports,

In Guile, port operations do not include built-in thread
synchronization, so it's not safe for multiple threads to write to the
current output/error ports concurrently.  Those writes should be
protected by a mutex.

However, we had agreed that in 2.2, the port operations should be
implemented in such a way that the worst that could happen on typical
hardware in practice was for the output to be garbled.  I didn't review
the new 2.2 ports code, so I'm not sure whether this was accomplished.

      Mark



Reply via email to