Bug 249330 - REGRESSION(257823@main): named-groups/lookbehind.js Test262-test is failing
Summary: REGRESSION(257823@main): named-groups/lookbehind.js Test262-test is failing
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Michael Saboff
URL:
Keywords: InRadar
Depends on: 249855
Blocks:
  Show dependency treegraph
 
Reported: 2022-12-14 12:35 PST by Robert Jenner
Modified: 2023-01-04 12:13 PST (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Jenner 2022-12-14 12:35:19 PST
The following 10 Test262 tests are constant failures on Monterey:

test/built-ins/RegExp/named-groups/lookbehind.js 
test/built-ins/RegExp/named-groups/lookbehind.js 
test/language/literals/regexp/invalid-optional-lookbehind.js 
test/language/literals/regexp/invalid-optional-lookbehind.js 
test/language/literals/regexp/invalid-optional-negative-lookbehind.js 
test/language/literals/regexp/invalid-optional-negative-lookbehind.js 
test/language/literals/regexp/invalid-range-lookbehind.js 
test/language/literals/regexp/invalid-range-lookbehind.js 
test/language/literals/regexp/invalid-range-negative-lookbehind.js 
test/language/literals/regexp/invalid-range-negative-lookbehind.js 


Observed here:
https://build.webkit.org/#/builders/364/builds/10429


FAILURE TEXT:

FAIL test/built-ins/RegExp/named-groups/lookbehind.js (default)
Full Output:
Exception: Test262Error: Expected [f, undefined] and [f, c] to have the same contents. 
FAIL test/built-ins/RegExp/named-groups/lookbehind.js (strict mode)
Full Output:
Exception: Test262Error: Expected [f, undefined] and [f, c] to have the same contents. 
FAIL test/language/literals/regexp/invalid-optional-lookbehind.js (default)
Full Output:
Expected uncaught exception with name 'SyntaxError' but exception value is not instance of this exception class
Exception: Test262: This statement should not be evaluated.
FAIL test/language/literals/regexp/invalid-optional-lookbehind.js (strict mode)
Full Output:
Expected uncaught exception with name 'SyntaxError' but exception value is not instance of this exception class
Exception: Test262: This statement should not be evaluated.
FAIL test/language/literals/regexp/invalid-optional-negative-lookbehind.js (default)
Full Output:
Expected uncaught exception with name 'SyntaxError' but exception value is not instance of this exception class
Exception: Test262: This statement should not be evaluated.
FAIL test/language/literals/regexp/invalid-optional-negative-lookbehind.js (strict mode)
Full Output:
Expected uncaught exception with name 'SyntaxError' but exception value is not instance of this exception class
Exception: Test262: This statement should not be evaluated.
FAIL test/language/literals/regexp/invalid-range-lookbehind.js (default)
Full Output:
Expected uncaught exception with name 'SyntaxError' but exception value is not instance of this exception class
Exception: Test262: This statement should not be evaluated.
FAIL test/language/literals/regexp/invalid-range-lookbehind.js (strict mode)
Full Output:
Expected uncaught exception with name 'SyntaxError' but exception value is not instance of this exception class
Exception: Test262: This statement should not be evaluated.
FAIL test/language/literals/regexp/invalid-range-negative-lookbehind.js (default)
Full Output:
Expected uncaught exception with name 'SyntaxError' but exception value is not instance of this exception class
Exception: Test262: This statement should not be evaluated.
FAIL test/language/literals/regexp/invalid-range-negative-lookbehind.js (strict mode)
Full Output:
Expected uncaught exception with name 'SyntaxError' but exception value is not instance of this exception class
Exception: Test262: This statement should not be evaluated.
Comment 1 Radar WebKit Bug Importer 2022-12-14 12:36:27 PST
<rdar://problem/103367993>
Comment 2 Robert Jenner 2022-12-14 12:54:46 PST
Actually it turns out there are only 5 tests, they just run twice. Once in default the other in strict. The 5 tests are:

test/built-ins/RegExp/named-groups/lookbehind.js 
test/language/literals/regexp/invalid-optional-lookbehind.js 
test/language/literals/regexp/invalid-optional-negative-lookbehind.js 
test/language/literals/regexp/invalid-range-lookbehind.js 
test/language/literals/regexp/invalid-range-negative-lookbehind.js
Comment 3 Robert Jenner 2022-12-14 13:01:27 PST
Pull request: https://github.com/WebKit/WebKit/pull/7632
Comment 4 EWS 2022-12-14 13:10:08 PST
Test gardening commit 257874@main (2b71676e9148): <https://commits.webkit.org/257874@main>

Reviewed commits have been landed. Closing PR #7632 and removing active labels.
Comment 5 Michael Saboff 2022-12-20 14:56:43 PST
he failure in this test has nothing to do with named capture groups.  The issue is that we don't clear out a capture nested within a failed lookbehind.  This actually is a long standing issue as we don't clear out nested captures within a failed lookahead.  There is a long standing FIXME comment in the JIT code.

I have a fix that I'll post soon.
Comment 6 Michael Saboff 2022-12-20 15:57:41 PST
Pull request: https://github.com/WebKit/WebKit/pull/7940
Comment 7 EWS 2022-12-21 09:19:18 PST
Committed 258195@main (6204c47b8556): <https://commits.webkit.org/258195@main>

Reviewed commits have been landed. Closing PR #7940 and removing active labels.
Comment 8 Fujii Hironori 2022-12-22 23:26:43 PST
Bug 249812 – REGRESSION(258195@main) [Win] ASSERTION FAILED: subpattern in JSC::Yarr::YarrGenerator<JSC::Yarr::YarrJITDefaultRegisters>::clearSubpatternStart
Comment 9 WebKit Commit Bot 2022-12-23 15:36:29 PST
Re-opened since this is blocked by bug 249855
Comment 10 Michael Saboff 2023-01-03 16:24:35 PST
Pull request: https://github.com/WebKit/WebKit/pull/8170
Comment 11 EWS 2023-01-04 12:12:57 PST
Committed 258441@main (cbde560aa655): <https://commits.webkit.org/258441@main>

Reviewed commits have been landed. Closing PR #8170 and removing active labels.