From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from euclid.skiles.gatech.edu (list@euclid.skiles.gatech.edu [130.207.146.50]) by coral.primenet.com.au (8.7.5/8.7.3) with ESMTP id FAA06065 for ; Mon, 26 Aug 1996 05:14:39 +1000 (EST) Received: (from list@localhost) by euclid.skiles.gatech.edu (8.7.3/8.7.3) id PAA14592; Sun, 25 Aug 1996 15:09:33 -0400 (EDT) Resent-Date: Sun, 25 Aug 1996 15:09:33 -0400 (EDT) From: "Bart Schaefer" Message-Id: <960825121028.ZM13983@candle.brasslantern.com> Date: Sun, 25 Aug 1996 12:10:28 -0700 In-Reply-To: Zoltan Hidvegi "Re: Reliable zsh-3.0.0 core dump" (Aug 25, 1:16pm) References: <199608251116.NAA00518@hzoli.ppp.cs.elte.hu> Reply-To: schaefer@nbn.com X-Mailer: Z-Mail (4.0b.729 29jul96) To: Zoltan Hidvegi Subject: Re: Reliable zsh-3.0.0 core dump Cc: zsh-workers@math.gatech.edu MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Resent-Message-ID: <"aI9Ak3.0.wZ3.iJA8o"@euclid> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/2070 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu On Aug 25, 1:16pm, Zoltan Hidvegi wrote: } Subject: Re: Reliable zsh-3.0.0 core dump } } > Install the following function and alias; then execute run-help (via ZLE } > with ESC h) more than once. It works the first time, and dumps core in } > parsecomp() the second time (with a trashed stack). } > } > zman() { } > if [[ -f /usr/local/lib/zsh/functions/run-help ]] } > then } > autoload run-help } > FPATH=/usr/local/lib/zsh/functions \run-help $1 } > elif [[ -f /usr/local/lib/zsh/help/$1 ]] } > then less /usr/local/lib/zsh/help/$1 } > else man $1 } > fi } > } } > alias run-help zman } ^ here you just missed an `=', didn't you? } } I cannot get a core-dump this way. I can't get a core dump either if I use --enable-zsh-mem ... only with the system malloc. I hadn't tried zsh-mem before. I also get the core dump if and only if I have done: zigzag% run-help That is, if I ask for help on run-help itself. Furthermore, I get the crash if and only if there is NO SPACE between the `p' and the cursor when I hit . Additional information: The first time I do this, I get the help *twice* (that is, it says "Press any key for more help or q to quit" and then when I press q it shows me the same help again). The second time I do it is when I get the core dump, and that second time it doesn't matter what the word in command position is. I get the help twice that way even with --enable-zsh-mem; only the crash is prevented. --enable-zsh-mem-debug and --enable-zsh-mem-warning don't produce any warnings at all. If I run inside GDB, I get this much of a stack trace: (gdb) where #0 0x40030f12 in _free_internal () #1 0x400a0238 in __DTOR_END__ () #2 0x400d23f4 in _fraghead () #3 0x806e280 in expl () Cannot access memory at address 0x65685498. This happens even in zsh -f with no HELPDIR defined. If I run outside GDB and then examine the core file, I get parsecomp() in frame #0 and the rest of the stack is trashed (but that wasn't with zsh -f, now that I think about it). } I use a modified run-help: } } -elif [[ -n "${HELPDIR:-}" && -r $HELPDIR/$1 ]] } +elif [[ -n "${HELPDIR:-}" && -r $HELPDIR/$1 && $1 != compctl ]] Heh. That was one of the reasons I rewrote run-help in the first place. BTW, here's a probably-related oddity (vanilla 3.0.0 zsh -f withOUT the function above): zagzig% set -vx zagzig% run-help <-- cursor imediately after the `p' zagzig% run-help run-help run-help run-help + man run-help No manual entry for run-help zagzig% run-help <-- space between `p' and cursor zagzig% run-help man run-help man + man man In the second case, the built-in alias of run-help to man expanded before help was invoked; in the first case it did not. I think it should be consistent (and I think the first case is how it should work, i.e. don't expand the alias, but that's less important). Or is this intentional and simply not documented? -- Bart Schaefer Brass Lantern Enterprises http://www.well.com/user/barts http://www.nbn.com/people/lantern New male in /home/schaefer: >N 2 Justin William Schaefer Sat May 11 03:43 53/4040 "Happy Birthday"