From: Peter Stephenson <p.stephenson@samsung.com>
To: Zsh hackers list <zsh-workers@zsh.org>
Subject: Re: Cores almost on demand in patcompile()
Date: Thu, 20 Oct 2016 11:56:34 +0100 [thread overview]
Message-ID: <20161020115634.19683b37@pwslap01u.europe.root.pri> (raw)
In-Reply-To: <20161020114216.020eb53e@pwslap01u.europe.root.pri>
On Thu, 20 Oct 2016 11:42:16 +0100
Peter Stephenson <p.stephenson@samsung.com> wrote:
> On Thu, 20 Oct 2016 12:30:50 +0200
> Sebastian Gniazdowski <sgniazdowski@gmail.com> wrote:
> > Valgrind points at patadd(NULL, 0, nmeta, 0). Wonder why not to its
> > interior? But to all logic, problem should be inside patadd() because
> > nothing else near dereferences a pointer. So there might be two
> > problems. Debugger didn't report inaccessible memory when I did
> > step-over on the patadd(), maybe memory is accessible but invalid from
> > other reason recognized by Valgrind.
>
> Just to be sure, could you confirm the problem goes away if you change
> line 292 of pattern.c
>
> /* Default size for pattern buffer */
> #define P_DEF_ALLOC 256
>
> to
>
> /* Default size for pattern buffer */
> #define P_DEF_ALLOC 512
>
> ? That's not a fix, it's just putting off the problem, but if it's
> initially allocating something larger than what your pattern needs I'd
> expect the crash not to happen.
I'm now starting to wonder if the realloc is a red herring and the key
point is this...
* Careful in case we've overwritten the node for the next ptr.
It's a long time since I did this but if the P_PURESTR flag is set,
I don't think there can be more than one P_EXACTLY. So the solution may
be to break out of the for loop at the end of the
if (P_OP(pscan) == P_EXACTLY) {
/* .... */
break; /* <- here... */
}
immediately after line 692 in the modified code since the "next" can't
be relevant any more.
pws
next prev parent reply other threads:[~2016-10-20 10:56 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-09 9:00 Sebastian Gniazdowski
2016-10-09 9:16 ` Sebastian Gniazdowski
2016-10-09 10:15 ` Sebastian Gniazdowski
2016-10-09 16:09 ` Sebastian Gniazdowski
2016-10-10 15:31 ` Sebastian Gniazdowski
2016-10-11 2:46 ` Bart Schaefer
2016-10-11 2:53 ` Bart Schaefer
2016-10-11 6:51 ` type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile()) Daniel Shahaf
2016-10-13 10:22 ` Peter Stephenson
2016-10-13 13:46 ` Bart Schaefer
2016-10-14 6:36 ` Daniel Shahaf
2016-10-14 16:53 ` Peter Stephenson
2016-10-14 17:28 ` Bart Schaefer
2016-10-14 20:08 ` Daniel Shahaf
2016-10-14 23:04 ` Oliver Kiddle
2016-10-15 8:30 ` Daniel Shahaf
[not found] ` <CAH+w=7bONQfKge=kWwFasKNXSu7510d8c+1aoYEeyUbozf_P7A@mail.gmail.com>
2016-10-15 18:35 ` Fwd: " Bart Schaefer
2016-10-13 9:43 ` Cores almost on demand in patcompile() Peter Stephenson
2016-10-19 11:14 ` Sebastian Gniazdowski
2016-10-19 13:14 ` Peter Stephenson
[not found] ` <CAKc7PVBhHFUWbMobAeDptgXmZ=S6RVsuNB7Qwsq555Srya_5qg@mail.gmail.com>
2016-10-20 8:56 ` Bart Schaefer
2016-10-20 9:32 ` Peter Stephenson
2016-10-20 9:56 ` Sebastian Gniazdowski
2016-10-20 10:18 ` Peter Stephenson
2016-10-20 10:30 ` Sebastian Gniazdowski
2016-10-20 10:42 ` Peter Stephenson
2016-10-20 10:56 ` Peter Stephenson [this message]
2016-10-20 11:03 ` Peter Stephenson
2016-10-20 11:09 ` Sebastian Gniazdowski
2016-10-20 11:23 ` 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=20161020115634.19683b37@pwslap01u.europe.root.pri \
--to=p.stephenson@samsung.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).