From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#34655: 26.1.92; Segfault in module with --module-assertions Date: Thu, 21 Mar 2019 21:50:36 +0200 Message-ID: <83lg18t3ar.fsf@gnu.org> References: <874l8r1t3a.fsf@tcd.ie> <8336oamu3y.fsf@gnu.org> <87h8c1cv6l.fsf@tcd.ie> <83lg1dwhse.fsf@gnu.org> <87va0h12js.fsf@tcd.ie> <835zsgw3ui.fsf@gnu.org> <87ef7486h0.fsf@tcd.ie> <83r2b4ul1c.fsf@gnu.org> <831s30upqd.fsf@gnu.org> <83o964t4de.fsf@gnu.org> Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="127661"; mail-complaints-to="usenet@blaine.gmane.org" Cc: contovob@tcd.ie, 34655@debbugs.gnu.org, monnier@iro.umontreal.ca To: Philipp Stephani Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Mar 21 20:51:13 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1h73ib-000X4Z-9G for geb-bug-gnu-emacs@m.gmane.org; Thu, 21 Mar 2019 20:51:13 +0100 Original-Received: from localhost ([127.0.0.1]:45984 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h73ia-0004ni-Ae for geb-bug-gnu-emacs@m.gmane.org; Thu, 21 Mar 2019 15:51:12 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:34524) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h73iU-0004nX-4t for bug-gnu-emacs@gnu.org; Thu, 21 Mar 2019 15:51:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h73iS-0000nY-CB for bug-gnu-emacs@gnu.org; Thu, 21 Mar 2019 15:51:05 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:40097) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h73iQ-0000dq-LA for bug-gnu-emacs@gnu.org; Thu, 21 Mar 2019 15:51:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1h73iQ-0007dD-CY for bug-gnu-emacs@gnu.org; Thu, 21 Mar 2019 15:51:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Mar 2019 19:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34655 X-GNU-PR-Package: emacs Original-Received: via spool by 34655-submit@debbugs.gnu.org id=B34655.155319784729311 (code B ref 34655); Thu, 21 Mar 2019 19:51:02 +0000 Original-Received: (at 34655) by debbugs.gnu.org; 21 Mar 2019 19:50:47 +0000 Original-Received: from localhost ([127.0.0.1]:53640 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h73iB-0007ch-1G for submit@debbugs.gnu.org; Thu, 21 Mar 2019 15:50:47 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:48294) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h73iA-0007cU-5Y for 34655@debbugs.gnu.org; Thu, 21 Mar 2019 15:50:46 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:48429) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h73i2-00083I-JU; Thu, 21 Mar 2019 15:50:39 -0400 Original-Received: from [176.228.60.248] (port=4073 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1h73i1-0006Cz-Kk; Thu, 21 Mar 2019 15:50:38 -0400 In-reply-to: (message from Philipp Stephani on Thu, 21 Mar 2019 20:37:24 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:156582 Archived-At: > From: Philipp Stephani > Date: Thu, 21 Mar 2019 20:37:24 +0100 > Cc: Stefan Monnier , "Basil L. Contovounesios" , 34655@debbugs.gnu.org > > Let's go back to the known good state first, and then discuss how to > go from there. I don't see why that is better than discuss first and then go to where we decide to go. It's not like Emacs 27 will be released any time soon, so there's no rush. > We can't get stack marking to work, even theoretically. > > A module is free to do > > emacs_value x = ...; > uintptr_t y = ((uintrptr_t) x) ^ 0x123456u; > (garbage-collect) > emacs_value z = (emacs_value) (y ^ 0x123456u); > ... use z ... > > During the garbage collection, x isn't on the stack anywhere Why do you think x isn't on the stack in this case? Moreover, emacs_value is actually a pointer to a Lisp object, so this object is also somewhere on the stack, right? > emacs_value x = ...; > emacs_value *y = malloc (sizeof emacs_value); > *y = x; > ... stop using x... > (garbage-collect) > ...use *y ... > > Again, during garbage collection x is no longer on the stack. Why do you think it isn't on the stack? > We can only use stack scanning in Emacs because we control the Emacs > source code Actually, we do nothing special about stack-based values in our sources, except avoiding undefined behavior. > > OK, but I think Stefan's opinion is not less important. > > I value his opinion, but again: let's make the thing work first, and > then discuss options. Fixing one bug doesn't necessarily mean things now "work"; there's always one more bug.