From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size" Date: Mon, 24 Oct 2016 16:39:55 +0300 Message-ID: <83lgxd50ic.fsf@gnu.org> References: <83insov1zr.fsf@gnu.org> <87zilztzd5.fsf@users.sourceforge.net> <83oa2ftnvp.fsf@gnu.org> <87wph2ts1a.fsf@users.sourceforge.net> <83oa2erx0k.fsf@gnu.org> <87lgxht8hp.fsf@users.sourceforge.net> <871sz8kq2v.fsf@gmail.com> <87shroroh8.fsf@users.sourceforge.net> <838ttfpnxt.fsf@gnu.org> <83vawjo21l.fsf@gnu.org> <83bmybnopx.fsf@gnu.org> <8360ojnk0n.fsf@gnu.org> <83twc3m198.fsf@gnu.org> <83pomrlz27.fsf@gnu.org> <83k2cynabi.fsf@gnu.org> <87eg35swni.fsf@users.sourceforge.net> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1477316476 17065 195.159.176.226 (24 Oct 2016 13:41:16 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 24 Oct 2016 13:41:16 +0000 (UTC) Cc: sam.halliday@gmail.com, 24358@debbugs.gnu.org To: npostavs@users.sourceforge.net Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Oct 24 15:41:12 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1byfV1-0003oQ-Ff for geb-bug-gnu-emacs@m.gmane.org; Mon, 24 Oct 2016 15:41:11 +0200 Original-Received: from localhost ([::1]:46844 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1byfV3-0002WR-Qj for geb-bug-gnu-emacs@m.gmane.org; Mon, 24 Oct 2016 09:41:13 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44437) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1byfUw-0002VH-8u for bug-gnu-emacs@gnu.org; Mon, 24 Oct 2016 09:41:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1byfUs-0003jM-Im for bug-gnu-emacs@gnu.org; Mon, 24 Oct 2016 09:41:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:37741) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1byfUs-0003jG-Fn for bug-gnu-emacs@gnu.org; Mon, 24 Oct 2016 09:41:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1byfUs-0006xx-Bw for bug-gnu-emacs@gnu.org; Mon, 24 Oct 2016 09:41: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: Mon, 24 Oct 2016 13:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 24358 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch fixed Original-Received: via spool by 24358-submit@debbugs.gnu.org id=B24358.147731641526714 (code B ref 24358); Mon, 24 Oct 2016 13:41:02 +0000 Original-Received: (at 24358) by debbugs.gnu.org; 24 Oct 2016 13:40:15 +0000 Original-Received: from localhost ([127.0.0.1]:53135 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1byfU6-0006wn-6w for submit@debbugs.gnu.org; Mon, 24 Oct 2016 09:40:15 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:53300) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1byfU3-0006wW-2G for 24358@debbugs.gnu.org; Mon, 24 Oct 2016 09:40:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1byfTt-0003KW-VL for 24358@debbugs.gnu.org; Mon, 24 Oct 2016 09:40:05 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:48849) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1byfTp-0003Jc-Ks; Mon, 24 Oct 2016 09:39:57 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:2153 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1byfTo-0003uI-SX; Mon, 24 Oct 2016 09:39:57 -0400 In-reply-to: <87eg35swni.fsf@users.sourceforge.net> (npostavs@users.sourceforge.net) 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: 208.118.235.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:124952 Archived-At: > From: npostavs@users.sourceforge.net > Cc: 24358@debbugs.gnu.org, sam.halliday@gmail.com > Date: Mon, 24 Oct 2016 09:29:21 -0400 > > > regstart[*p] = d; > > [...] > > regs->start[reg] = POINTER_TO_OFFSET (regstart[reg]); > > > > POINTER_TO_OFFSET assumes that the pointer in regstart[reg] is > > consistent with the current base address of the string into which it > > points. Did you study this aspect of regex.c when you decided which > > values need to be affected by relocation? > > I did not look at that before, but looking now, I don't see why it would > be a problem. I put the base address updating code around the only > place where malloc may be called, so string1 and string2 (which > POINTER_TO_OFFSET uses) should always be consistent with the base > address (unless there is some other malloc call that I missed?). What bothers me is this: could it be that relocation happens between the first and the second line above? If it can, then what POINTER_TO_OFFSET does will be inconsistent with the base address at the time regstart[*p] was assigned the value of d. The code runs in a loop, or so it seems, so it's hard to reason about time sequences. But I'm not saying I clearly see a problem, just that I fear there might be one. If your reading of the code is that it cannot happen, I'm happy. Thanks.