[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bug#28211: Grafting fails for latest Go release candidate
From: |
Mark H Weaver |
Subject: |
Re: bug#28211: Grafting fails for latest Go release candidate |
Date: |
Thu, 24 Aug 2017 00:56:30 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
address@hidden (Ludovic Courtès) writes:
> Marius Bakke <address@hidden> 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