Created attachment 562906 [details] libpcre2-10.32:20190126-184537.log I was investigating quasselcore crashes and noticed that two libpcre2 tests fail: FAIL: RunTest FAIL: RunGrepTest PASS: pcre2_jit_test Same tests also fail with stable 10.30.
Created attachment 562908 [details] test-suite.log
Created attachment 562910 [details] emerge-info.txt
(gdb) run Starting program: /var/tmp/portage/dev-libs/libpcre2-10.32/work/pcre2-10.32-abi_x86_32.x86/.libs/pcre2test -S 1 -t 10 testSinput [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". PCRE2 version 10.30 2017-08-14 /abc/jit,memory,framesize Compile time 0.0034 milliseconds JIT compile 0.0305 milliseconds Memory allocation (code space): 9 Memory allocation (JIT code): 1477 Frame size for pcre2_match(): 84 abc Program received signal SIGSEGV, Segmentation fault. 0xf7f0c378 in jit_machine_stack_exec (arguments=0x0, arguments@entry=0xffff76a8, executable_func=0xf7fcedb0) at /usr/src/debug/dev-libs/libpcre2-10.30/pcre2-10.30/src/pcre2_jit_match.c:56 56 arguments->stack = &local_stack; (gdb) bt #0 0xf7f0c378 in jit_machine_stack_exec (arguments=0x0, arguments@entry=0xffff76a8, executable_func=0xf7fcedb0) at /usr/src/debug/dev-libs/libpcre2-10.30/pcre2-10.30/src/pcre2_jit_match.c:56 #1 0xf7f2e047 in pcre2_jit_match_8 (code=0x56594f70, subject=0x565990cd "abc", length=3, start_offset=0, options=0, match_data=0x56593940, mcontext=0x565938d0) at /usr/src/debug/dev-libs/libpcre2-10.30/pcre2-10.30/src/pcre2_jit_match.c:171 #2 0xf7f44c5f in pcre2_match_8 (code=0x56594f70, subject=0x565990cd "abc", length=0, start_offset=0, options=<optimized out>, match_data=0x56593940, mcontext=0x565938d0) at /usr/src/debug/dev-libs/libpcre2-10.30/pcre2-10.30/src/pcre2_match.c:6337 #3 0x56569094 in process_data () at /var/tmp/portage/dev-libs/libpcre2-10.32/work/pcre2-10.32/src/pcre2test.c:7183 #4 0x5656bfe3 in main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/dev-libs/libpcre2-10.32/work/pcre2-10.32/src/pcre2test.c:8655
I can also confirm that tests pass with USE=-jit. However, USE=jit is apparently required by dev-vcs/git. CC-ing Infra.
Another data point: it doesn't crash with -O0. It does with -O1, -Og and higher.
Can infra please test =dev-libs/libpcre2-10.33-r1?
make[3]: Entering directory '/var/tmp/portage/dev-libs/libpcre2-10.33-r1/work/pcre2-10.33-abi_x86_32.x86' PASS: RunGrepTest PASS: RunTest PASS: pcre2_jit_test ============================================================================ Testsuite summary for PCRE2 10.33 ============================================================================ # TOTAL: 3 # PASS: 3 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ make[3]: Leaving directory '/var/tmp/portage/dev-libs/libpcre2-10.33-r1/work/pcre2-10.33-abi_x86_32.x86' make[2]: Leaving directory '/var/tmp/portage/dev-libs/libpcre2-10.33-r1/work/pcre2-10.33-abi_x86_32.x86' make[1]: Leaving directory '/var/tmp/portage/dev-libs/libpcre2-10.33-r1/work/pcre2-10.33-abi_x86_32.x86' >>> Completed testing dev-libs/libpcre2-10.33-r1
Thank you, we will stabilize this version via bug 699052.