From: Bart Schaefer <schaefer@brasslantern.com>
To: zsh-workers@zsh.org
Subject: Re: Complicated segfault regression
Date: Thu, 2 Jul 2015 20:28:20 -0700 [thread overview]
Message-ID: <150702202820.ZM11032@torch.brasslantern.com> (raw)
In-Reply-To: <5595AEF8.3000508@inlv.org>
On Jul 2, 11:36pm, Martijn Dekker wrote:
}
} The following code block makes zsh 5.0.8 and current git zsh segfault
} reliably. It's now completely non-operational because I've tried to
} reduce it to the minimum necessary to make zsh crash.
So I tried executing this code from the shell prompt instead of as as
script, with debugging output enabled. Following the "fi" I get:
Src/text.c:970: unknown word code in gettext2()
If I'm in GDB, I then immediately get a segfault on the following ":"
command. I don't expect this stack trace is much help because the
problem has already happened during parsing the preceding block, but:
#0 0x008f228b in strlen () from /lib/tls/libc.so.6
#1 0x080c5df4 in taddstr (s=0xd5f29f7a <Address 0xd5f29f7a out of bounds>)
at ../../zsh-5.0/Src/text.c:125
#2 0x080c5ff4 in taddassign (code=1600348549, state=0xbfe831d0, typeset=0)
at ../../zsh-5.0/Src/text.c:181
#3 0x080c69a6 in gettext2 (state=0xbfe831d0) at ../../zsh-5.0/Src/text.c:484
#4 0x080c63d4 in getjobtext (prog=0xb7d945d8, c=0xb7d9460c)
at ../../zsh-5.0/Src/text.c:314
If NOT in GDB, I don't get a crash, instead I get an infinite loop printing
Src/text.c:49: attempting to decrement tindent below zero
I can remove the "if" test and have only the "for ... case" and still
get this:
Src/text.c:970: unknown word code in gettext2()
And if I add the opening parens to the case patterns, I get an infinite
loop in gettext2() [never breaks out of the while(1) loop at line 396].
(s = tstack) is always true at 398; s->pop is always false at 400;
wc_code(code) is always WC_END passing through line 967 which sets
stack = 1 and we repeat at line 397 forever.
So this has to have something to do with the updated parsing of (x|y)
expressions in cond statements.
next prev parent reply other threads:[~2015-07-03 3:28 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-02 21:36 Martijn Dekker
2015-07-03 3:28 ` Bart Schaefer [this message]
2015-07-03 11:35 ` Peter Stephenson
2015-07-03 12:29 ` Martijn Dekker
2015-07-03 13:44 ` Peter Stephenson
2015-07-03 17:52 ` Martijn Dekker
2015-07-03 22:11 ` Peter Stephenson
2015-07-04 10:03 ` Peter Stephenson
2015-07-05 11:06 ` Peter Stephenson
2015-07-05 11:15 ` Peter Stephenson
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=150702202820.ZM11032@torch.brasslantern.com \
--to=schaefer@brasslantern.com \
--cc=zsh-workers@zsh.org \
/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).