[pcre-dev] Win32 JIT Access Violation

Top Page
Delete this message
Author: Ralf Junker
Date:  
To: pcre-dev@exim.org
Subject: [pcre-dev] Win32 JIT Access Violation
I am receiving an access violation running pcre2test.exe (SVN 1184)
against testinput2 on Win32. It is caused by the pattern in the attached
test.txt.

Command line:

pcre2test.exe -jit -q -8 test.txt

The AV triggers in sljitNativeX86_common.c, line 459:

     if (type == SLJIT_JUMP) {
         if (short_jump)
             *code_ptr++ = JMP_i8;
         else
/* AV -> */ *code_ptr++ = JMP_i32; /* <- AV */
         jump->addr++;
     }


Only Win32 JIT is affected. The compiler is C++Builder.

Win64 has no issues, neither does non-JIT mode.

Could anyone reproduce my findings?

Many thanks,

Ralf
# This set of tests is not Perl-compatible. It checks on special features
# of PCRE2's API, error diagnostics, and the compiled code of some patterns.
# It also checks the non-Perl syntax that PCRE2 supports (Python, .NET,
# Oniguruma). There are also some tests where PCRE2 and Perl differ,
# either because PCRE2 can't be compatible, or there is a possible Perl
# bug.

# NOTE: This is a non-UTF set of tests. When UTF support is needed, use
# test 5.

#forbid_utf
#newline_default lf any anycrlf

/{„Í„Í̈́Í{'{22{2{{2{'{22{?{22{2{'{22{2{{2{{222{{2{'{22{2{22{2{'{22{2{{2{'{22{2{22{2{'{'{22{2{22{2{'{22{2{{2{'{22{2{22{2{'{222{2Ą̈́Í̈́Í{'{22{2{{2{'{22{?{11{2{'{22{2{{2{{'{22{2{{2{'{22{?{22{1{'{22{2{{2{{222{{2{'{22{2{22{2{'{/auto_callout