From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: "René Scharfe" <l.s.r@web.de>
Cc: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"Junio C Hamano" <gitster@pobox.com>,
"Git List" <git@vger.kernel.org>,
"Hamza Mahfooz" <someguy@effective-light.com>,
"Carlo Marcelo Arenas Belón" <carenas@gmail.com>,
"Andreas Schwab" <schwab@linux-m68k.org>
Subject: Re: [v2.35.0 regression] some PCRE hangs under UTF-8 locale (was: [PATCH 1/2] grep/pcre2: use PCRE2_UTF even with ASCII patterns)
Date: Sun, 6 Feb 2022 11:08:16 +0100 [thread overview]
Message-ID: <20220206100816.GA1936@szeder.dev> (raw)
In-Reply-To: <1425e548-c1bb-3cff-d75d-c3760abb6129@web.de>
On Sat, Feb 05, 2022 at 06:00:02PM +0100, René Scharfe wrote:
> >> --- >8 ---
> >> Subject: [PATCH] grep: disable JIT on PCRE2 before 10.36 to avoid endless loop
> >>
> >> Commit e0c6029 (Fix inifinite loop when a single byte newline is
> >> searched in JIT., 2020-05-29) of PCRE2 adds the following point to its
> >> ChangeLog for version 10.36:
> >>
> >> 2. Fix inifinite loop when a single byte newline is searched in JIT when
> >> invalid utf8 mode is enabled.
> >>
> >> Avoid that bug on older versions (which are still reportedly found in
> >> the wild) by disabling the JIT when handling UTF-8.
> >>
> >> Reported-by: SZEDER Gábor <szeder.dev@gmail.com>
> >> Signed-off-by: René Scharfe <l.s.r@web.de>
> >> ---
> >> Not sure how to test it. Killing git grep after a second or so seems a
> >> bit clumsy. timeout(1) from GNU coreutils at least allows doing that
> >> from the shell, but it's not a standard tool. Perhaps we need a new
> >> test helper for that purpose?
>
> https://mywiki.wooledge.org/BashFAQ/068 offers a Perl-based Shell
> function or aborting a program if it takes too long:
>
> doalarm() { perl -e 'alarm shift; exec @ARGV' -- "$@"; }
>
> It doesn't waste time when the program finishes faster and seems to work
> fine with git grep.
>
> I can't actually test the effectiveness of the patch because PCRE2's
> JIT doesn't work on my development machine at all (Apple M1), as I just
> discovered. :-/ While we know that disabling JIT helps, we didn't
> actually determine, yet, if e0c6029 (Fix inifinite loop when a single
> byte newline is searched in JIT., 2020-05-29) really fixes the "^\s"
> bug.
>
> So I have to abandon this patch, unfortunately. Any volunteer to pick
> it up?
FWIW, I built Git with your patch and USE_LIBPCRE2=YesPlease and run
the test suite, and it succeeded. Though I can't judge how much is
this actually worth.
next prev parent reply other threads:[~2022-02-06 10:08 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-18 19:50 [PATCH 1/2] grep/pcre2: use PCRE2_UTF even with ASCII patterns René Scharfe
2021-12-18 19:53 ` [PATCH 2/2] grep/pcre2: factor out literal variable René Scharfe
2021-12-19 19:37 ` Ævar Arnfjörð Bjarmason
2021-12-20 20:52 ` Junio C Hamano
2021-12-20 22:03 ` Ævar Arnfjörð Bjarmason
2021-12-20 20:53 ` Junio C Hamano
2021-12-20 20:47 ` Junio C Hamano
2022-01-29 17:25 ` [v2.35.0 regression] some PCRE hangs under UTF-8 locale (was: [PATCH 1/2] grep/pcre2: use PCRE2_UTF even with ASCII patterns) SZEDER Gábor
2022-01-30 7:55 ` René Scharfe
2022-01-30 9:04 ` SZEDER Gábor
2022-01-30 13:32 ` René Scharfe
2022-01-31 21:01 ` Ævar Arnfjörð Bjarmason
2022-02-05 17:00 ` René Scharfe
2022-02-06 10:08 ` SZEDER Gábor [this message]
2022-02-12 20:46 ` Ævar Arnfjörð Bjarmason
2022-02-17 21:14 ` René Scharfe
2022-02-17 22:56 ` [v2.35.0 regression] some PCRE hangs under UTF-8 locale Junio C Hamano
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=20220206100816.GA1936@szeder.dev \
--to=szeder.dev@gmail.com \
--cc=avarab@gmail.com \
--cc=carenas@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=l.s.r@web.de \
--cc=schwab@linux-m68k.org \
--cc=someguy@effective-light.com \
/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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.