GNU bug report logs - #34655
26.1.92; Segfault in module with --module-assertions

Previous Next

Package: emacs;

Reported by: "Basil L. Contovounesios" <contovob <at> tcd.ie>

Date: Mon, 25 Feb 2019 21:02:01 UTC

Severity: normal

Merged with 31238

Found in version 26.1.92

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #102 received at 34655 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: "Daniel Colascione" <dancol <at> dancol.org>
Cc: contovob <at> tcd.ie, 34655 <at> debbugs.gnu.org, p.stephani2 <at> gmail.com,
 dancol <at> dancol.org, monnier <at> iro.umontreal.ca
Subject: Re: bug#34655: 26.1.92; Segfault in module with --module-assertions
Date: Fri, 22 Mar 2019 11:17:56 +0300
> Date: Thu, 21 Mar 2019 13:48:28 -0700
> From: "Daniel Colascione" <dancol <at> dancol.org>
> Cc: "Eli Zaretskii" <eliz <at> gnu.org>,
>  "Stefan Monnier" <monnier <at> iro.umontreal.ca>,
>  "Basil L. Contovounesios" <contovob <at> tcd.ie>,
>  34655 <at> debbugs.gnu.org,
>  "Daniel Colascione" <dancol <at> dancol.org>
> 
> > No we can't. Modules can contain arbitrary code and call arbitrary
> > libraries, which we can't ever control. We need to work with
> > everything that provides a C-compatible interface.
> 
> Modules can contain arbitrary code, but they don't have to do arbitrary
> things with that code. Right now, the contract between modules and Emacs
> is something like "any value that, I, Emacs, can't find on an
> Emacs-findable thread is fair game for memory reclaimation." In practice,
> that works okay most of the time, but if we have to deal with environments
> that can't guarantee that Emacs values remain on the C stack, we can
> extend the contract with something like "I, module, am handing you, Emacs,
> an array of emacs_values, and in addition to my stack, you should check
> this array before considering a value dead" --- that is, we could just
> provide a way for a module to associate a bunch of additional GC roots
> with a given context. Then something like Go could stick any temporary
> Emacs values in this array.
> 
> Or we could just have these environments create permanent references.

OK, thanks.

What are your opinions regarding usability of stack marking for
emacs_value variables used by modules?




This bug report was last modified 6 years and 62 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.