Closed Bug 552218 Opened 14 years ago Closed 7 years ago

jsreftest failure looking suspiciously like a Daylight Time failure: ecma/Date/15.9.5.14.js | (new Date(1268532526491)).getHours() wrong value item 6

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: philor, Unassigned)

References

Details

(Keywords: intermittent-failure, Whiteboard: [orange:time-bomb])

Attachments

(2 obsolete files)

I'll be amazed if this is anything other than approaching Daylight Time, since the first few failures and intermixed passes weren't correlated by push, or by opt or debug, but only by whether or not they finished soon enough after noon that this test might have run before noon or not.

First one was

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1268512435.1268515333.2729.gz
WINNT 5.2 mozilla-central debug test jsreftest on 2010/03/13 12:33:55
s: win32-slave36

REFTEST TEST-PASS | file:///e:/builds/moz2_slave/mozilla-central-win32-debug-unittest-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.14.js | (new Date(1268531271365)).getHours()  item 5
REFTEST TEST-UNEXPECTED-FAIL | file:///e:/builds/moz2_slave/mozilla-central-win32-debug-unittest-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.14.js | (new Date(1268534871365)).getHours() wrong value  item 6
REFTEST TEST-PASS | file:///e:/builds/moz2_slave/mozilla-central-win32-debug-unittest-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.14.js | (new Date(-62167215600000)).getHours()  item 7
See also bug 530974, which mentions this test as being fickle about timezones.
We probably should have arranged to push something once an hour (or more) up through the changeover. As of 23:38, 15.9.5.14.js is down to just a couple (having gotten up to six in some of the 17:00 builds like http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1268527906.1268530602.9280.gz), but 15.9.5.34-1.js has joined the party:

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1268550877.1268551591.12195.gz
Linux mozilla-central opt test jsreftest on 2010/03/13 23:14:37
s: moz2-linux-slave26

REFTEST TEST-UNEXPECTED-FAIL | file:///builds/slave/mozilla-central-linux-opt-unittest-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.14.js | (new Date(1268554825666)).getHours() wrong value  item 1
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/slave/mozilla-central-linux-opt-unittest-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.14.js | (new Date(1268558425666)).getHours() wrong value  item 2
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/slave/mozilla-central-linux-opt-unittest-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getTime() wrong value  item 22
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/slave/mozilla-central-linux-opt-unittest-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.valueOf() wrong value  item 23
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/slave/mozilla-central-linux-opt-unittest-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCFullYear() wrong value  item 24
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/slave/mozilla-central-linux-opt-unittest-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCMonth() wrong value  item 25
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/slave/mozilla-central-linux-opt-unittest-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCDate() wrong value  item 26
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/slave/mozilla-central-linux-opt-unittest-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCDay() wrong value  item 27
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/slave/mozilla-central-linux-opt-unittest-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCHours() wrong value  item 28
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/slave/mozilla-central-linux-opt-unittest-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getHours() wrong value  item 36
Whiteboard: [orange:time-bomb]
This seems to have settled in to a single failure on Linux now, but I'm guessing it's still a form of the same issue:

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1268562958.1268563783.12174.gz
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1268569192.1268570428.29912.gz
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1268569414.1268571228.31796.gz

Linux mozilla-central opt test jsreftest on 2010/03/14 05:19:52
s: moz2-linux-slave05
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-linux-opt-unittest-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma_3/Date/15.9.5.5.js | Math.abs(Date.parse(now.toLocaleString()) - now.valueOf()) < 1000 wrong value  item 3
(In reply to comment #2)
> We probably should have arranged to push something once an hour (or more) up
> through the changeover.

I'm running a set of shell tests from 2010-03-13 00:00:00 through 2010-03-15 23:59:00 and will report back on which tests fail for what date ranges.
ecma/Date/15.9.5.14.js
begin failing 2010-03-13 12:00 stop failing 2010-03-14 00:00

ecma/Date/15.9.5.34-1.js
begin failing 2010-03-13 18:00 stop failing 2010-03-14 01:00

ecma_3/Date/15.9.5.5.js
begin failing 2010-03-14 02:00
http://hg.mozilla.org/mozilla-central/file/17a3e86d5ec5/js/src/tests/ecma/jsref.js#l452
>   464     // Daylight Savings Time starts on the first Sunday in April at 2:00AM in
>   465     // PST.  Other time zones will need to override this function.
I do not think that this is true any longer; DST starts in March in pacific time since 2007.  Can this be the cause?
(In reply to comment #6)

jsref.js is unused. please see ecma/shell.js for the relevant code.
(In reply to comment #7)
> jsref.js is unused. please see ecma/shell.js for the relevant code.
Thanks.

Is the argument to DaylightSavingTA a UTC time value or a local time value?
http://hg.mozilla.org/mozilla-central/file/17a3e86d5ec5/js/src/tests/ecma/shell.js#l340
>    340 function DaylightSavingTA( t ) {
>    341   t = t - LocalTZA();
This looks as if DaylightSavingTA expects t to be a local time value, but
http://hg.mozilla.org/mozilla-central/file/17a3e86d5ec5/js/src/tests/ecma/shell.js#l334
>    334 function UTC( t ) {
>    335   return ( t - LocalTZA() - DaylightSavingTA(t - LocalTZA()) );
>    336 }
>    337 function LocalTime( t ) {
>    338   return ( t + LocalTZA() + DaylightSavingTA(t) );
>    339 }
These functions pass UTC time values to DaylightSavingTA.
See http://bclary.com/2004/11/07/#a-15.9

I have a hard time figuring out which is which.
(In reply to comment #9)
> See http://bclary.com/2004/11/07/#a-15.9
> 
> I have a hard time figuring out which is which.

Well, the point of comment #8 is that the current code in shell.js contradicts within itself.  The DaylightSavingTA function expects a local time value, whereas other functions pass a UTC time value to DaylightSavingTA.  I do not know whether this is the cause of this bug, but this is certainly a bug.  Should I file a separate bug for this?
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1268664102.1268665062.24564.gz
Linux mozilla-central opt test jsreftest on 2010/03/15 07:41:42
The excerpted code in comment 8 definitely indicates that something is wrong with the test. As comment 10 allows, that may or may not be the only bug.

This bug should be about rewriting the few erroneous bits of this test so that it clearly tests the right thing --what ECMA 262-3 actually specifies, and only that. I don't think we need a separate bug for the particular issue highlighted in comment 8.
Does it actually make some sense (say, if you actually look at the test or the harness :) that 15.9.5.5.js is continuing to fail on Linux on mozilla-central, while the other platforms are not failing?
(In reply to comment #8)
> Is the argument to DaylightSavingTA a UTC time value or a local time value?
(In reply to comment #9)
> See http://bclary.com/2004/11/07/#a-15.9
Judging from the way how DaylightSavingTA is used in
http://bclary.com/2004/11/07/#a-15.9.1.9b, the argument to DaylightSavingTA is supposed to be a UTC time value.

Therefore, line 341 of shell.js has to be removed, assuming that the DaylightSavingTA function in shell.js is intended to be the same thing as DaylightSavingTA in the ECMAScript spec.
> http://hg.mozilla.org/mozilla-central/file/17a3e86d5ec5/js/src/tests/ecma/shell.js#l340
> >    340 function DaylightSavingTA( t ) {
> >    341   t = t - LocalTZA();
In addition to the change I proposed in comment #14, we have to remove
“- LocalTZA()” at the end of GetDSTStart, GetDSTEnd, GetOldDSTStart and GetOldDSTEnd (the last two functions do not seem to be used anywhere, though).
http://hg.mozilla.org/mozilla-central/file/050887c64183/js/src/tests/ecma/shell.js#l433

With this fix, both the input and the output of these functions become UTC time values, which is consistent with how they are used in shell.js and some of the tests.  Currently, the input is a UTC time value but the output is a time value with the local timezone adjustment applied backward (uh-oh).

All the issues about the functions DaylightSavingTA, GetDSTStart, GetDSTEnd, GetOldDSTStart and GetOldDSTEnd also apply to js/src/tests/ecma_3/Data/
shell.js.
A few questions: 
 (a) Does this bug have an owner? (if so, please assign to yourself)
 (b) Is there a fix coming in the next 6-12 hours? (if not, test should probably be disabled until it's fixed, as it's causing causing perma-orange on the affected boxes.)
http://hg.mozilla.org/tracemonkey/rev/9438a169c69c
http://hg.mozilla.org/mozilla-central/rev/c7c7f1d19290

marked as random on linux. 

I'll take it i guess. note the changes in comment 14, comment 15 don't fix the issue.
Assignee: general → bclary
Status: NEW → ASSIGNED
Blocks: 556714
Blocks: 438871
OK, I think the bug here is this:
http://mxr.mozilla.org/mozilla-central/source/js/src/tests/ecma/jsref.js?mark=455-456#452
> 452 function DaylightSavingTA( t ) {
> 453     t = t - LocalTZA();
> 454 
> 455 var dst_start = GetFirstSundayInApril(t) + 2*msPerHour;
> 456 var dst_end = GetLastSundayInOctober(t)+ 2*msPerHour;
...
> 464     // Daylight Savings Time starts on the first Sunday in April at 2:00AM in
> 465     // PST.  Other time zones will need to override this function.

That's incorrect since 2007.  Reference:
  http://geography.about.com/cs/daylightsavings/a/dst.htm
Daylight Savings in PST (and the USA in general) is now from 2nd Sunday in March to 1st Sunday in November.

The failing test uses the function LocalTime(), which in turn calls DaylightSavingTA(), which has the above mistaken assumption.

My guess is that fixing this code might fix the test failure.
Disabled the failing test (15.9.5.14.js) on all platforms (it was already disabled on Linux as part of Comment 17).
  http://hg.mozilla.org/mozilla-central/rev/4374f538f2fd

This can probably be reverted tomorrow or the next day -- unlike the other test in this bug (15.9.5.34-1.js), this test seems to be perma-orange for a day and then goes back to green.
Attached patch possible partial fix (obsolete) — Splinter Review
I tried correcting the DST end date, to address the issue I brought up in Comment 25, but it doesn't seem to fix the failures here.

Posting patch anyway, since it's something we should probably finish off & take for correctness' sake at some point, even though it may not fix this bug.
Attached patch possible partial fix v2 (obsolete) — Splinter Review
oops, last fix started with the *end* of november (and then found the first sunday) rather than the *beginning*.

The point here is to make GetFirstSundayInNovember() match GetFirstSundayInApril() exactly, but using a loop to replace the first chunk of GetFirstSundayInApril().  (Technically they should share code, but GetFirstSundayInApril needs to die anyway, as noted in the patch.)

(This still doesn't fix this bug, though.)
Comment on attachment 488703 [details] [diff] [review]
possible partial fix v2

sorry, ignore that last comment's fix... I got confused by the off-by-one nature of month indexing and (more) I'd missed the fact that the old GetLastSundayInOctober intentionally adds 30 days before starting to subtract.

I'd say "sorry for the bugspam", except that tbplbot has already bugspammed much more than I have here, so there. :)
Attachment #488703 - Attachment is obsolete: true
Just got a related-looking failure in a different test, 15.9.5.7.js -- the first failure I've seen in that test.

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1289087757.1289088202.23518.gz
Rev3 MacOSX Leopard 10.5.8 mozilla-central opt test jsreftest on 2010/11/06 16:55:57
s: talos-r3-leopard-043
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma_3/Date/15.9.5.7.js | d = new Date(1289116800757); d == new Date(d.toDateString() + " " + d.toLocaleTimeString()) wrong value  item 13
Another test is failing in similar ways:

s: talos-r3-leopard-027
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getTime() wrong value item 22
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.valueOf() wrong value item 23
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCHours() wrong value item 28
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getHours() wrong value item 36
MacOSX Snow Leopard 10.6.2 mozilla-central opt test jsreftest on 2010/11/07 00:17:07

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1289114227.1289114647.17924.gz&fulltext=1

REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(0); TDATE.setMonth(1,1,1,1,1,1); TDATE.toString=Object.prototype.toString;TDATE = new Date(0); TDATE.setMonth(1,1,1,1,1,1); TDATE.toString()  item 21
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getTime() wrong value  item 22
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.valueOf() wrong value  item 23
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCFullYear() wrong value  item 24
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCMonth() wrong value  item 25
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCDate() wrong value  item 26
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCDay() wrong value  item 27
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCHours() wrong value  item 28
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCMinutes()  item 29
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCSeconds()  item 30
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCMilliseconds()  item 31
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getFullYear()  item 32
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getMonth()  item 33
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getDate()  item 34
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getDay()  item 35
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getHours() wrong value  item 36
Rev3 MacOSX Leopard 10.5.8 mozilla-central opt test jsreftest on 2010/11/07 00:17:20

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1289114240.1289114728.18526.gz

REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(0); TDATE.setMonth(1,1,1,1,1,1); TDATE.toString=Object.prototype.toString;TDATE = new Date(0); TDATE.setMonth(1,1,1,1,1,1); TDATE.toString()  item 21
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getTime() wrong value  item 22
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.valueOf() wrong value  item 23
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCFullYear() wrong value  item 24
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCMonth() wrong value  item 25
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCDate() wrong value  item 26
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCDay() wrong value  item 27
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCHours() wrong value  item 28
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCMinutes()  item 29
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCSeconds()  item 30
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCMilliseconds()  item 31
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getFullYear()  item 32
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getMonth()  item 33
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getDate()  item 34
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getDay()  item 35
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getHours() wrong value  item 36
Rev3 MacOSX Snow Leopard 10.6.2 mozilla-central debug test jsreftest on 2010/11/07 00:02:30

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1289113350.1289114711.18415.gz

REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard-debug_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(0); TDATE.setMonth(1,1,1,1,1,1); TDATE.toString=Object.prototype.toString;TDATE = new Date(0); TDATE.setMonth(1,1,1,1,1,1); TDATE.toString()  item 21
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard-debug_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getTime() wrong value  item 22
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard-debug_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.valueOf() wrong value  item 23
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard-debug_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCFullYear() wrong value  item 24
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard-debug_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCMonth() wrong value  item 25
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard-debug_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCDate() wrong value  item 26
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard-debug_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCDay() wrong value  item 27
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard-debug_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCHours() wrong value  item 28
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard-debug_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCMinutes()  item 29
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard-debug_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCSeconds()  item 30
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard-debug_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCMilliseconds()  item 31
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard-debug_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getFullYear()  item 32
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard-debug_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getMonth()  item 33
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard-debug_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getDate()  item 34
REFTEST TEST-PASS | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard-debug_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getDay()  item 35
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_snowleopard-debug_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getHours() wrong value  item 36
Rev3 WINNT 6.1 mozilla-central opt test jsreftest on 2010/11/07 00:25:40

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1289114740.1289115397.20634.gz

REFTEST TEST-PASS | file:///c:/talos-slave/mozilla-central_win7_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(0); TDATE.setMonth(1,1,1,1,1,1); TDATE.toString=Object.prototype.toString;TDATE = new Date(0); TDATE.setMonth(1,1,1,1,1,1); TDATE.toString()  item 21
REFTEST TEST-UNEXPECTED-FAIL | file:///c:/talos-slave/mozilla-central_win7_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getTime() wrong value  item 22
REFTEST TEST-UNEXPECTED-FAIL | file:///c:/talos-slave/mozilla-central_win7_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.valueOf() wrong value  item 23
REFTEST TEST-UNEXPECTED-FAIL | file:///c:/talos-slave/mozilla-central_win7_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCFullYear() wrong value  item 24
REFTEST TEST-UNEXPECTED-FAIL | file:///c:/talos-slave/mozilla-central_win7_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCMonth() wrong value  item 25
REFTEST TEST-UNEXPECTED-FAIL | file:///c:/talos-slave/mozilla-central_win7_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCDate() wrong value  item 26
REFTEST TEST-UNEXPECTED-FAIL | file:///c:/talos-slave/mozilla-central_win7_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCDay() wrong value  item 27
REFTEST TEST-UNEXPECTED-FAIL | file:///c:/talos-slave/mozilla-central_win7_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCHours() wrong value  item 28
REFTEST TEST-PASS | file:///c:/talos-slave/mozilla-central_win7_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCMinutes()  item 29
REFTEST TEST-PASS | file:///c:/talos-slave/mozilla-central_win7_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCSeconds()  item 30
REFTEST TEST-PASS | file:///c:/talos-slave/mozilla-central_win7_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getUTCMilliseconds()  item 31
REFTEST TEST-PASS | file:///c:/talos-slave/mozilla-central_win7_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getFullYear()  item 32
REFTEST TEST-PASS | file:///c:/talos-slave/mozilla-central_win7_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getMonth()  item 33
REFTEST TEST-PASS | file:///c:/talos-slave/mozilla-central_win7_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getDate()  item 34
REFTEST TEST-PASS | file:///c:/talos-slave/mozilla-central_win7_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getDay()  item 35
REFTEST TEST-UNEXPECTED-FAIL | file:///c:/talos-slave/mozilla-central_win7_test-jsreftest/build/jsreftest/tests/jsreftest.html?test=ecma/Date/15.9.5.34-1.js | TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE.getHours() wrong value  item 36
Comment on attachment 488702 [details] [diff] [review]
possible partial fix

Ah, I just noticed Comment 7 says that jsref.js is unused -- missed that before.  I guess the patch here isn't useful, then.

Looks like shell.js, which _is_ used according to Comment 7, has the correct DST start/end dates -- but maybe a local-time vs UTC issue, as noted in comment 8 / comment 10.
http://mxr.mozilla.org/mozilla-central/source/js/src/tests/ecma/shell.js
Attachment #488702 - Attachment is obsolete: true
Assignee: bob → nobody
Status: ASSIGNED → NEW
Looks like we haven't had any report of test failures in the last 7 years. Woohoo!

Let's call this WORKSFORME and reopen if this crops up again.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: