--- /tmp/layout-test-results/fast/regex/test1-expected.txt 2007-12-13 14:33:05.000000000 -0800 +++ /tmp/layout-test-results/fast/regex/test1-actual.txt 2007-12-13 14:33:05.000000000 -0800 @@ -2868,7 +2868,7 @@ aaaa: FAIL. Actual results: "null" /^(?:a(?:(?:))*)*/ - aaaa: FAIL. Actual results: "null" + aaaa: FAIL. Actual results: "a" /^(a()+)+/ aaaa: FAIL. Actual results: "null" <rdar://problem/5646486>
The reason this test gives the result "null" is that it hits the recursion limit.
Even increasing the recursion limit to a ridiculous level simply results in a slower-running test but the result is still null. I can't reproduce the "a" result.
By the way, this particular test failure is itself probably a bug -- the result really should be "a" and we didn't intentionally change the behavior of PCRE -- but that doesn't explain an intermittent result of "a". Someone needs to read through the test results and find the many that are actual failures rather than just differences between the JavaScript version and the original PCRE.
According to Radar, this is the same issue as Bug 16648. *** This bug has been marked as a duplicate of 16648 ***