From: "Bart Schaefer" <schaefer@candle.brasslantern.com>
To: Zoltan Hidvegi <hzoli@cs.elte.hu>
Cc: zsh-workers@math.gatech.edu
Subject: Re: Reliable zsh-3.0.0 core dump
Date: Sun, 25 Aug 1996 12:10:28 -0700 [thread overview]
Message-ID: <960825121028.ZM13983@candle.brasslantern.com> (raw)
In-Reply-To: Zoltan Hidvegi <hzoli@cs.elte.hu> "Re: Reliable zsh-3.0.0 core dump" (Aug 25, 1:16pm)
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<ESC h>
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 <ESC h>.
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<ESC h> <-- 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 <ESC h> <-- 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"
next parent reply other threads:[~1996-08-25 19:14 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <199608251116.NAA00518@hzoli.ppp.cs.elte.hu>
1996-08-25 19:10 ` Bart Schaefer [this message]
1996-08-25 23:59 ` Zoltan Hidvegi
1996-08-26 0:50 ` Bart Schaefer
1996-08-26 18:36 ` Zoltan Hidvegi
1996-08-18 20:31 Bart Schaefer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=960825121028.ZM13983@candle.brasslantern.com \
--to=schaefer@candle.brasslantern.com \
--cc=hzoli@cs.elte.hu \
--cc=schaefer@nbn.com \
--cc=zsh-workers@math.gatech.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).