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#30626: 26.0.91; Crash when traversing a `stream-of-directory-files' Date: Thu, 15 Mar 2018 18:34:16 +0200 Message-ID: <83605xqovr.fsf@gnu.org> References: <87inaiss6l.fsf@web.de> <877eqyocro.fsf@web.de> <83zi3uz4nb.fsf@gnu.org> <87lgfd52by.fsf@gmail.com> <87bmg91ity.fsf@web.de> <83h8q1yuin.fsf@gnu.org> <87po4pnl0a.fsf@web.de> <837eqxyqoe.fsf@gnu.org> <87lgfdnf86.fsf@web.de> <87muzs11hk.fsf@web.de> <87606e4lel.fsf@gmail.com> <87lgf83gun.fsf@gmail.com> <87fu5f3kcr.fsf@gmail.com> <83lgf7u644.fsf@gnu.org> <87bmfuzbq1.fsf@gmail.com> <83vae2s6b6.fsf@gnu.org> <876062z3fs.fsf@gmail.com> <83sh96rmzw.fsf@gnu.org> <87lgewybtu.fsf@gmail.com> <834llkrmdc.fsf@gnu.org> <87in9zy0uq.fsf@gmail.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1521131593 9420 195.159.176.226 (15 Mar 2018 16:33:13 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 15 Mar 2018 16:33:13 +0000 (UTC) Cc: michael_heerdegen@web.de, john.b.mastro@gmail.com, nicolas@petton.fr, 30626@debbugs.gnu.org To: Noam Postavsky Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Mar 15 17:33:09 2018 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 1ewVoS-0002Kr-LA for geb-bug-gnu-emacs@m.gmane.org; Thu, 15 Mar 2018 17:33:08 +0100 Original-Received: from localhost ([::1]:52501 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ewVqU-0003DY-4Q for geb-bug-gnu-emacs@m.gmane.org; Thu, 15 Mar 2018 12:35:14 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43145) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ewVqM-0003D8-Jt for bug-gnu-emacs@gnu.org; Thu, 15 Mar 2018 12:35:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ewVqI-0005pD-LA for bug-gnu-emacs@gnu.org; Thu, 15 Mar 2018 12:35:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:55667) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ewVqI-0005p7-HY for bug-gnu-emacs@gnu.org; Thu, 15 Mar 2018 12:35:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ewVqI-000224-Al for bug-gnu-emacs@gnu.org; Thu, 15 Mar 2018 12:35: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, 15 Mar 2018 16:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30626 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 30626-submit@debbugs.gnu.org id=B30626.15211316697769 (code B ref 30626); Thu, 15 Mar 2018 16:35:02 +0000 Original-Received: (at 30626) by debbugs.gnu.org; 15 Mar 2018 16:34:29 +0000 Original-Received: from localhost ([127.0.0.1]:35331 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ewVpl-00021F-A7 for submit@debbugs.gnu.org; Thu, 15 Mar 2018 12:34:29 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:51990) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ewVpk-000213-CI for 30626@debbugs.gnu.org; Thu, 15 Mar 2018 12:34:28 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ewVpa-0005Wc-VF for 30626@debbugs.gnu.org; Thu, 15 Mar 2018 12:34:22 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:50939) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ewVpa-0005WW-Qv; Thu, 15 Mar 2018 12:34:18 -0400 Original-Received: from [176.228.60.248] (port=3575 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1ewVpa-0003sb-7m; Thu, 15 Mar 2018 12:34:18 -0400 In-reply-to: <87in9zy0uq.fsf@gmail.com> (message from Noam Postavsky on Tue, 13 Mar 2018 20:09:17 -0400) 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:144313 Archived-At: > From: Noam Postavsky > Cc: michael_heerdegen@web.de, john.b.mastro@gmail.com, nicolas@petton.fr, 30626@debbugs.gnu.org > Date: Tue, 13 Mar 2018 20:09:17 -0400 > > Eli Zaretskii writes: > > > Should you look at pp or at *pp? > > I think it should be pp, but I'm not sure. The context: > > #4854 0x000000000060f452 in mark_memory (start=0x7fffffffa520, end=0x7fffffffe868) > at ../../src/alloc.c:4985 > #4855 0x000000000060f493 in mark_stack (bottom=0x7fffffffe868 "a\036h\364\377\177", > end=0x7fffffffa520 "0\245\377\377\377\177") at ../../src/alloc.c:5193 > > mark_memory (void *start, void *end) > { > ... > for (pp = start; (void *) pp < end; pp += GC_POINTER_ALIGNMENT) > { > mark_maybe_pointer (*(void **) pp); > mark_maybe_object (*(Lisp_Object *) pp); > } > > So the value of pp ranges over stack addresses and *pp would be the > contents of the stack location. But the call to mark_maybe_pointer means that we consider pp to be a pointer (in)to a Lisp object. Anyway, wouldn't it be easier to look one frame lower? We have this: #4850 0x0000000000612b42 in mark_object (arg=XIL(0x2efcb83)) at ../../src/alloc.c:6624 #4851 0x0000000000611d4f in mark_vectorlike (ptr=0x2e64c90) at ../../src/alloc.c:6227 #4852 0x0000000000612b42 in mark_object (arg=XIL(0x2e64c95)) at ../../src/alloc.c:6624 #4853 0x000000000060f3ce in mark_maybe_pointer (p=0x2e64c90) at ../../src/alloc.c:4936 #4854 0x000000000060f452 in mark_memory (start=0x7fffffffa520, end=0x7fffffffe868) at ../../src/alloc.c:4985 #4855 0x000000000060f493 in mark_stack (bottom=0x7fffffffe868 "a\036h\364\377\177", end=0x7fffffffa520 "0\245\377\377\377\177") at ../../src/alloc.c:5193 In frame #4852, we have found an object, and we are marking it. Did you try looking at that object? With these caveats: > > Also note that for Lisp objects that are marked you need to reset > > their mark bit before trying to determine their type and value.