On Fri 22 Sep 2017 16:10, l...@gnu.org (Ludovic Courtès) writes: > Hi Ricardo, > > Ricardo Wurmus <rek...@elephly.net> skribis: > >> The following derivation will be built: >> /gnu/store/yvyfkns3w3vm7ynwbr7mvxcmin4gd2a0-guix-latest.drv >> copying and compiling to >> '/gnu/store/7m52dkr98nhwgpsx20mmpwyw2yzj58d3-guix-latest' with Guile 2.2.2... >> loading... 25.4% of 629 filesrandom seed for tests: 1506066913 >> loading... 99.8% of 629 files >> compiling... 69.2% of 629 filesice-9/threads.scm:289:22: In procedure >> loop: >> ice-9/threads.scm:289:22: Syntax error: >> guix/scripts.scm:130:2: >>=: >>= (bind) used outside of 'with-monad' in form >> (>>= (apply set-build-options* #:use-substitutes >> ptions)) (lambda (unused-value) (mbegin %store-monad (mlet %store-monad >> ((derivation (origin->derivation (package-source pack >> tutes? use-substitutes? #:dry-run? dry-run?) (return >> (show-derivation-outputs derivation))))))) > > This was reported at <https://bugs.gnu.org/27476>, and I suspect a > thread-safety issue. However, syntax parameters are purely functional > AFAICS, so I fail to see why multithreading could be a problem. > > Andy, any idea what could be causing this?
I have heard of but not seen a number of similar bugs: errors that "can't happen" but which appear under multiple threads. I don't know what underlying pattern is. Has anyone found a test case that reliably reproduces? Andy