Subject: bug#27476: libguile/memoize.c is not thread safe, so syntax parameter expansion is not thread-safe

From: Andy Wingo <[email-masked]>
Date: Wed, 09 May 2018 10:41:32 +0200

Hi,

On Mon 30 Apr 2018 23:39, [email-masked] (Ludovic Courtès) writes:

> So the problem, AIUI, is that psyntax evaluates syntax parameters using
> ‘primitive-eval’ (via ‘eval-local-transformer’), but memoization in
> (ice-9 eval) is not thread-safe, hence the random crashes.

Sorry I've been a bit AWOL here... if this diagnosis is correct, then
the problem is ultimately the memoization that needs to be thread-safe,
right?

Is the memoization you are referring to the "set!" in the "lazy" form in
ice-9/eval.scm ?  Or something else?  FWIW I would not think the "set!"
could be the issue, at least on x86, but who knows.

A