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