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#40661: Crash in regex search during redisplay Date: Fri, 17 Apr 2020 16:55:44 +0300 Message-ID: <834kticj33.fsf@gnu.org> References: <83ftd3e92z.fsf@gnu.org> <83d087e6gj.fsf@gnu.org> <421071D0-6D75-4442-AC4B-D091B573B49C@dancol.org> <838siucq7b.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="24338"; mail-complaints-to="usenet@ciao.gmane.io" Cc: monnier@iro.umontreal.ca, 40661@debbugs.gnu.org To: rcopley@gmail.com Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Apr 17 15:57:18 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 1jPRUb-0006Bt-Kn for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 17 Apr 2020 15:57:17 +0200 Original-Received: from localhost ([::1]:47630 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPRUa-0000u5-Ms for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 17 Apr 2020 09:57:16 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40019) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPRUQ-0000of-OH for bug-gnu-emacs@gnu.org; Fri, 17 Apr 2020 09:57:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jPRUM-0003Tp-1Z for bug-gnu-emacs@gnu.org; Fri, 17 Apr 2020 09:57:06 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:58073) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jPRUL-0003Td-V6 for bug-gnu-emacs@gnu.org; Fri, 17 Apr 2020 09:57:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jPRUL-00075E-S9 for bug-gnu-emacs@gnu.org; Fri, 17 Apr 2020 09:57: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, 17 Apr 2020 13:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 40661 X-GNU-PR-Package: emacs Original-Received: via spool by 40661-submit@debbugs.gnu.org id=B40661.158713176627179 (code B ref 40661); Fri, 17 Apr 2020 13:57:01 +0000 Original-Received: (at 40661) by debbugs.gnu.org; 17 Apr 2020 13:56:06 +0000 Original-Received: from localhost ([127.0.0.1]:41386 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jPRTR-00074J-S2 for submit@debbugs.gnu.org; Fri, 17 Apr 2020 09:56:06 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:53006) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jPRTP-00073s-E6 for 40661@debbugs.gnu.org; Fri, 17 Apr 2020 09:56:04 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:36853) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1jPRTJ-0002u9-Lx; Fri, 17 Apr 2020 09:55:57 -0400 Original-Received: from [176.228.60.248] (port=1419 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jPRTI-0002kT-IA; Fri, 17 Apr 2020 09:55:57 -0400 In-Reply-To: <838siucq7b.fsf@gnu.org> (message from Eli Zaretskii on Fri, 17 Apr 2020 14:22:00 +0300) 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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:178513 Archived-At: > Date: Fri, 17 Apr 2020 14:22:00 +0300 > From: Eli Zaretskii > Cc: 40661@debbugs.gnu.org > > Obviously, we cannot allow GC to run while regex routines do their > work, because they are passed C pointers to buffer text. The question > is, where to disable GC? We could do it inside > update_syntax_table_forward, but UPDATE_SYNTAX_TABLE_FORWARD is called > from many places that evidently have no problems with GC. So my > suggestion would be to disable GC inside re_match_2_internal instead. Alternatively, we could set the buffer's inhibit_shrinking flag while in re_match_2_internal. Although that flag was introduced for a different purpose: for when we have stuff inside the gap that we don't want to lose. The name of the flag notwithstanding, I'm not sure we want to conflate these two purposes. But maybe it's better than preventing the GC entirely.