From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Luc Teirlinck Newsgroups: gmane.emacs.devel Subject: Re: Tramp with global-auto-revert-mode. Date: Sun, 16 May 2004 13:11:03 -0500 (CDT) Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <200405161811.i4GIB3O03519@raven.dms.auburn.edu> References: <200405122254.i4CMsUj29445@raven.dms.auburn.edu> <200405122326.i4CNQk929511@raven.dms.auburn.edu> <200405132324.i4DNOBs14811@raven.dms.auburn.edu> <200405140008.i4E08lb14858@raven.dms.auburn.edu> <871xln4xmc.fsf-monnier+emacs@gnu.org> <200405140132.i4E1WaH15085@raven.dms.auburn.edu> <87vfiz3fez.fsf-monnier+emacs@gnu.org> <200405140308.i4E38b415540@raven.dms.auburn.edu> <87pt973b7y.fsf-monnier+emacs@gnu.org> <200405150139.i4F1dbs26083@raven.dms.auburn.edu> <200405152044.i4FKiig02345@raven.dms.auburn.edu> NNTP-Posting-Host: deer.gmane.org X-Trace: sea.gmane.org 1084731889 32334 80.91.224.253 (16 May 2004 18:24:49 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sun, 16 May 2004 18:24:49 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Sun May 16 20:24:39 2004 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1BPQJR-00052m-00 for ; Sun, 16 May 2004 20:24:37 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1BPQJQ-0001oX-00 for ; Sun, 16 May 2004 20:24:37 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.34) id 1BPQI6-0004ak-T2 for emacs-devel@quimby.gnus.org; Sun, 16 May 2004 14:23:15 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.34) id 1BPQHR-0004Zw-IV for emacs-devel@gnu.org; Sun, 16 May 2004 14:22:33 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.34) id 1BPQAn-0002qa-6J for emacs-devel@gnu.org; Sun, 16 May 2004 14:16:16 -0400 Original-Received: from [131.204.53.104] (helo=manatee.dms.auburn.edu) by monty-python.gnu.org with esmtp (Exim 4.34) id 1BPQ6h-00014g-4P for emacs-devel@gnu.org; Sun, 16 May 2004 14:11:27 -0400 Original-Received: from raven.dms.auburn.edu (raven.dms.auburn.edu [131.204.53.29]) by manatee.dms.auburn.edu (8.12.10/8.12.10) with ESMTP id i4GIBGTS010456 for ; Sun, 16 May 2004 13:11:16 -0500 (CDT) Original-Received: (from teirllm@localhost) by raven.dms.auburn.edu (8.11.6+Sun/8.11.6) id i4GIB3O03519; Sun, 16 May 2004 13:11:03 -0500 (CDT) X-Authentication-Warning: raven.dms.auburn.edu: teirllm set sender to teirllm@dms.auburn.edu using -f gTo: eliz@gnu.org In-reply-to: (message from Eli Zaretskii on 16 May 2004 07:58:09 +0200) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.4 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:23545 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:23545 Eli Zaretskii wrote: Did you look in etc/DEBUG? It has a section about debugging crashes in GC. You need to use the last_marked[] array to guide you through the recursive invocations of mark_object and its ilk, and find out which part of what Lisp data structure is being marked when the disaster strikes. I forgot to read that. However, I have trouble making sense of the contents of last_marked and I do not really understand the gc code. Using the very latest crash I produced, I get the _impression_ that gc is examining some structure related to the *tramp/ssh raven.dms.auburn.edu* buffer, but that is just a guess. (gdb) run -q --eval '(progn (blink-cursor-mode 0) (global-auto-revert-mode 1))' Starting program: /home/teirllm/emacscvsdir/emacs/src/emacs-21.3.50.1 -q --eval '(progn (blink-cursor-mode 0) (global-auto-revert-mode 1))' Breakpoint 1, abort () at emacs.c:434 434 kill (getpid (), SIGABRT); (gdb) bt #0 abort () at emacs.c:434 #1 0x0812a575 in mark_object (arg=145714794) at alloc.c:5034 #2 0x0812a5d6 in mark_object (arg=148693005) at alloc.c:5051 #3 0x0812948a in mark_memory (start=0xbffe91d0, end=0xbffff57c) at alloc.c:3781 #4 0x081294f5 in mark_stack () at alloc.c:4055 #5 0x08129aba in Fgarbage_collect () at alloc.c:4429 I omit the rest of the bt-output, since it is unrelated to gc. (gdb) p last_marked_index $197 = 18 (gdb) p last_marked[17] $198 = 145714794 (gdb) pr # (gdb) p last_marked[16] $199 = 148693005 (gdb) pr (# . -37) (gdb) p last_marked[15] $200 = 143097017 (gdb) pr (gdb) xtype Lisp_Symbol (gdb) xsymbol $201 = (struct Lisp_Symbol *) 0x8877cb8 Argument to arithmetic operation not a number or boolean. (gdb) p *$201 $202 = { gcmarkbit = 1, indirect_variable = 0, constant = 0, interned = 2, xname = 143098427, value = 138193545, function = 138193545, plist = 138193521, next = 0x86621b0 } (gdb) p $202->xname $203 = 143098427 (gdb) pr "" (gdb) xstring $204 = (struct Lisp_String *) 0x8878238 "cygwin-mount-map-drive-hook-function" (gdb) p last_marked[14] $205 = 148054205 (gdb) pr () (gdb) p last_marked[13] $206 = 143096993 (gdb) pr (gdb) xtype Lisp_Symbol (gdb) xsymbol $207 = (struct Lisp_Symbol *) 0x8877ca0 Argument to arithmetic operation not a number or boolean. (gdb) p *$207 $208 = { gcmarkbit = 1, indirect_variable = 0, constant = 0, interned = 2, xname = 143098411, value = 138193545, function = 138193545, plist = 138193521, next = 0x8636688 } (gdb) p $208->xname $209 = 143098411 (gdb) pr "" (gdb) xstring $210 = (struct Lisp_String *) 0x8878228 "cygwin-mount-name-hook-function" (gdb) p last_marked[12] $211 = 148054197 (gdb) pr ( ) (gdb) p last_marked[11] $212 = 138971849 (gdb) pr tramp-completion-file-name-handler (gdb) p last_marked[10] $213 = 148054029 (gdb) pr (tramp-completion-file-name-handler ) (gdb) p last_marked[9] $214 = 145715130 (gdb) pr # (gdb) p last_marked[8] $215 = 920 (gdb) pr 115 (gdb) p last_marked[7] $216 = 148538453 (gdb) pr (115) (gdb) p last_marked[6] $217 = 936 (gdb) pr 117 (gdb) p last_marked[5] $218 = 148538277 (gdb) pr (117) (gdb) p last_marked[4] $219 = 880 (gdb) pr 110 (gdb) p last_marked[3] $220 = 148538285 (gdb) pr (110 117) (gdb) p last_marked[2] $221 = 920 (gdb) pr 115 (gdb) p last_marked[1] $222 = 148538293 (gdb) pr (115 110 117) (gdb) p last_marked[0] $223 = 840 (gdb) pr 105