From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#41321: 27.0.91; Emacs aborts due to invalid pseudovector objects Date: Fri, 29 May 2020 09:19:34 +0300 Message-ID: <83sgfjqn49.fsf@gnu.org> References: <83zha8cgpi.fsf@gnu.org> <83r1vibmyj.fsf@gnu.org> <83imgublku.fsf@gnu.org> <831rncjuwf.fsf@gnu.org> <83h7w5xvfa.fsf@gnu.org> <83y2phwb9x.fsf@gnu.org> <83r1v9w9vi.fsf@gnu.org> <83mu5xw50d.fsf@gnu.org> <83k110wxte.fsf@gnu.org> <4bab5f55-95fe-cf34-e490-1d4319728395@cs.ucla.edu> <837dwyvi74.fsf@gnu.org> <1484f569-c260-9fb0-bfe1-67897de289d3@cs.ucla.edu> <83blm9tn4j.fsf@gnu.org> <4aeb8963-4fd1-fcd4-e6e1-be409ab54775@cs.ucla.edu> <83tuzzrk30.fsf@gnu.org> <749bc7d0-6376-ec2e-7f84-dcd3a3cea465@cs.ucla.edu> Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="120005"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 41321@debbugs.gnu.org, monnier@iro.umontreal.ca, pipcet@gmail.com To: Paul Eggert Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri May 29 08:20:09 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jeYNE-000V8O-TA for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 29 May 2020 08:20:08 +0200 Original-Received: from localhost ([::1]:58736 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jeYND-0005H6-VC for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 29 May 2020 02:20:07 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59276) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jeYN8-0005H0-F1 for bug-gnu-emacs@gnu.org; Fri, 29 May 2020 02:20:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:42054) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jeYN8-0005hV-53 for bug-gnu-emacs@gnu.org; Fri, 29 May 2020 02:20:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jeYN7-0006zA-UC for bug-gnu-emacs@gnu.org; Fri, 29 May 2020 02:20:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 29 May 2020 06:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41321 X-GNU-PR-Package: emacs Original-Received: via spool by 41321-submit@debbugs.gnu.org id=B41321.159073318926827 (code B ref 41321); Fri, 29 May 2020 06:20:01 +0000 Original-Received: (at 41321) by debbugs.gnu.org; 29 May 2020 06:19:49 +0000 Original-Received: from localhost ([127.0.0.1]:53600 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jeYMv-0006yc-2c for submit@debbugs.gnu.org; Fri, 29 May 2020 02:19:49 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:51822) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jeYMt-0006yP-Ot for 41321@debbugs.gnu.org; Fri, 29 May 2020 02:19:48 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:49392) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jeYMn-0005YF-Gw; Fri, 29 May 2020 02:19:41 -0400 Original-Received: from [176.228.60.248] (port=3742 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jeYMm-0003Gu-RT; Fri, 29 May 2020 02:19:41 -0400 In-Reply-To: <749bc7d0-6376-ec2e-7f84-dcd3a3cea465@cs.ucla.edu> (message from Paul Eggert on Thu, 28 May 2020 12:33:10 -0700) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:181170 Archived-At: > Cc: pipcet@gmail.com, 41321@debbugs.gnu.org, monnier@iro.umontreal.ca > From: Paul Eggert > Date: Thu, 28 May 2020 12:33:10 -0700 > > > After thinking about this some, I think the only sensible thing to do > > on emacs-27 is to return to 8-byte alignment test in GC for 32-bit > > MinGW builds. That is, replace max_align_t with just 8 in the > > definition of LISP_ALIGNMENT in that case. > > Exactly the same problem can occur for other x86 platforms (e.g., GNU/Linux, GCC > 7-and-later, glibc 2.25-and-earlier), because these other platforms also have > the bug that malloc can return a pointer that is 8 modulo 16 even though alignof > (max_align_t) is 16. so I suggest doing the replacement for those platforms > too, as in the attached patch. I'm okay with doing this on other platforms, but... > static bool > maybe_lisp_pointer (void *p) > { > - return (uintptr_t) p % LISP_ALIGNMENT == 0; > + return (uintptr_t) p % GCALIGNMENT == 0; > } ...replacing LISP_ALIGNMENT with GCALIGNMENT just here doesn't sound right to me: by keeping the current value of LISP_ALIGNMENT, we basically declare that Lisp objects shall be aligned on that boundary, whereas that isn't really the case. Why not change the value of LISP_ALIGNMENT instead?