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 #105 received at 33014 <at> debbugs.gnu.org (full text, mbox):
> Cc: Gemini Lasswell <gazally <at> runbox.com>, 33014 <at> debbugs.gnu.org,
> Stefan Monnier <monnier <at> iro.umontreal.ca>,
> Andreas Schwab <schwab <at> linux-m68k.org>
> From: Paul Eggert <eggert <at> cs.ucla.edu>
> Date: Tue, 30 Oct 2018 21:49:46 -0700
>
> > Any reason not to cherry-pick this to emacs-26?
>
> No, once we fix it up. Although adding 'volatile' happened to work for Gemini's
> compiler, it won't suffice in general as the C standard does not require
> volatile variables to survive their last access (which is what the patch was
> assuming). Furthermore, Fbyte_code bypasses that patch, so the bug could still
> occur even if 'volatile' cured the bug in the more-common code path.
>
> A simple way to ensure that the constant vector survives GC is to have
> exec_byte_code put the vector into a GC-visible slot. As it happens, there's a
> spare slot that we can appropriate, so this won't cost us stack (or heap) space.
> I installed the first attached patch into master to do that, and backported the
> patch series into emacs-26 via the last two attached patches.
Thanks.
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.