RESOLVED FIXED 56077
ES5 conformance issues with RegExp.prototype
https://bugs.webkit.org/show_bug.cgi?id=56077
Summary ES5 conformance issues with RegExp.prototype
Gavin Barraclough
Reported 2011-03-09 23:07:59 PST
There are three issues causing test failures in sputnik. (1) lastIndex should be converted at the point it is used, not the point it is set (this is visible if valueOf is overridden). (2) The 'length' property of the test/exec functions should be 1. (3) If no input is specified, the input to test()/exec() is "undefined" (i.e. ToString(undefined)) - not RegExp.input.
Attachments
The patch (no perf impact) (27.95 KB, patch)
2011-03-10 01:49 PST, Gavin Barraclough
oliver: review+
Gavin Barraclough
Comment 1 2011-03-10 01:49:30 PST
Created attachment 85297 [details] The patch (no perf impact)
WebKit Review Bot
Comment 2 2011-03-10 01:51:11 PST
Attachment 85297 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/ChangeLog', u'LayoutTests/fast..." exit_code: 1 Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input_as_array.js:55: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input_as_array.js:56: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input_as_array.js:60: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input_as_array.js:61: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input_as_array.js:70: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input_as_array.js:71: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input_as_array.js:75: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input_as_array.js:76: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input_as_array.js:80: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input_as_array.js:81: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input_as_array.js:85: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input_as_array.js:86: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input.js:55: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input.js:56: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input.js:60: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input.js:61: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input.js:70: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input.js:71: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input.js:75: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input.js:76: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input.js:80: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input.js:81: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input.js:85: Line contains tab character. [whitespace/tab] [5] Source/JavaScriptCore/tests/mozilla/js1_2/regexp/RegExp_input.js:86: Line contains tab character. [whitespace/tab] [5] Total errors found: 24 in 18 files If any of these errors are false positives, please file a bug against check-webkit-style.
Gavin Barraclough
Comment 3 2011-03-10 12:43:15 PST
Fixed in r80743
Sergio Villar Senin
Comment 4 2011-03-11 04:36:41 PST
After this patch landed we're getting some JSC crashes in GTK+ 32bit Release bot. In particular these two are failing in bots - fast/profiler/dead-time.html - fast/profiler/stop-profiling-after-setTimeout.html
Gavin Barraclough
Comment 5 2011-03-11 12:48:08 PST
(In reply to comment #4) > After this patch landed we're getting some JSC crashes in GTK+ 32bit Release bot. In particular these two are failing in bots > > - fast/profiler/dead-time.html > - fast/profiler/stop-profiling-after-setTimeout.html I think it is unlikely those crashes are related to this patch. the GTK bots have been particularly prone to some sporadic bugs caused by GC changes lately, which hopefully olliej has all fixed now. If you are continuing to see problems, please file a new bug. thanks!, G.
Sergio Villar Senin
Comment 6 2011-03-14 01:18:48 PDT
(In reply to comment #5) > (In reply to comment #4) > > After this patch landed we're getting some JSC crashes in GTK+ 32bit Release bot. In particular these two are failing in bots > > > > - fast/profiler/dead-time.html > > - fast/profiler/stop-profiling-after-setTimeout.html > > I think it is unlikely those crashes are related to this patch. the GTK bots have been particularly prone to some sporadic bugs caused by GC changes lately, which hopefully olliej has all fixed now. If you are continuing to see problems, please file a new bug. > > thanks!, G. Well maybe that patch is not the problem and it discovers some other bug, but the thing is that if we revert r80743 locally then the crashes are gone. With it we can reproduce them always.
Gavin Barraclough
Comment 7 2011-03-15 14:08:59 PDT
(In reply to comment #6) > Well maybe that patch is not the problem and it discovers some other bug, but the thing is that if we revert r80743 locally then the crashes are gone. With it we can reproduce them always. GTK 32-bit release doesn't seem to be building today. Do have any stack traces of the crashes you could attach? cheers, G.
Martin Robinson
Comment 8 2011-03-24 17:21:12 PDT
Gustavo, is it possible for you to run these tests on your bot and get a backtrace for the crash?
Note You need to log in before you can comment on or make changes to this bug.