GNU bug report logs -
#33014
26.1.50; 27.0.50; Fatal error after re-evaluating a thread's function
Previous Next
Reported by: Gemini Lasswell <gazally <at> runbox.com>
Date: Thu, 11 Oct 2018 05:32:01 UTC
Severity: normal
Tags: fixed
Found in version 26.1.50
Fixed in version 27.1
Done: Gemini Lasswell <gazally <at> runbox.com>
Bug is archived. No further changes may be made.
Full log
Message #50 received at 33014 <at> debbugs.gnu.org (full text, mbox):
> From: Gemini Lasswell <gazally <at> runbox.com>
> Cc: Andreas Schwab <schwab <at> linux-m68k.org>, 33014 <at> debbugs.gnu.org
> Date: Tue, 16 Oct 2018 11:46:36 -0700
>
> My knowledge of what gcc does and how the code it generates works is
> superficial, but I don't see why an optimizer would find it necessary to
> save the following values:
>
> - The value of 'fun' in Ffuncall after it is used as an argument for
> funcall_lambda.
>
> - The value of 'fun' in funcall_lambda after it is used to calculate
> the arguments to exec_byte_code.
>
> - The value of 'vector' in exec_byte_code after the calculation of
> vectorp.
After thinking about this a bit, I don't really agree with the last
one: the compiler could indeed stop tracking 'vector', but not
XVECTOR (vector)->contents, and we are interested in the latter.
One other thought is that, if worse comes to worst, we may consider
disallowing redefinition of a function that is currently being
executed (in another thread).
However, I'm still not convinced we are there. Can we establish which
element(s) of the bytecode vector are GC'ed in this scenario?
This bug report was last modified 6 years and 197 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.