<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>139123</bug_id>
          
          <creation_ts>2014-12-01 05:38:54 -0800</creation_ts>
          <short_desc>REGRESSION: mozilla-tests.yaml/ecma/Date/15.9.5.8.js fails intermittently</short_desc>
          <delta_ts>2019-12-02 10:10:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=138303</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=142531</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cgarcia</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>guijemont</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>msaboff</cc>
    
    <cc>ossy</cc>
    
    <cc>pmatos</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1051419</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-12-01 05:38:54 -0800</bug_when>
    <thetext>It fails everywhere in this time interval:
- Apple Yosemite WK1: https://build.webkit.org/builders/Apple%20Yosemite%20Release%20WK1%20%28Tests%29/builds/985
- Apple Yosemite WK2: https://build.webkit.org/builders/Apple%20Yosemite%20Release%20WK2%20%28Tests%29/builds/982
- Apple Mavericks WK1: https://build.webkit.org/builders/Apple%20Mavericks%20Release%20WK1%20%28Tests%29/builds/10295
- Apple Mavericks WK2: https://build.webkit.org/builders/Apple%20Mavericks%20Release%20WK2%20%28Tests%29/builds/9718
- EFL: https://build.webkit.org/builders/EFL%20Linux%2064-bit%20Release%20WK2/builds/17969
- GTK: https://build.webkit.org/builders/GTK%20Linux%2064-bit%20Release%20%28Tests%29/builds/4517</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051420</commentid>
    <comment_count>1</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-12-01 05:39:55 -0800</bug_when>
    <thetext>mozilla-tests.yaml/ecma/Date/15.9.5.8.js.mozilla: (new Date(1446364102494)).getMonth() = 10 FAILED! expected: 9
mozilla-tests.yaml/ecma/Date/15.9.5.8.js.mozilla: (new Date(1446364102495)).getMonth() = 10 FAILED! expected: 9
mozilla-tests.yaml/ecma/Date/15.9.5.8.js.mozilla: (new Date(1446364102493)).getMonth() = 10 FAILED! expected: 9</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051421</commentid>
    <comment_count>2</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-12-01 05:41:01 -0800</bug_when>
    <thetext>maybe it is related to bug138303 somehow, but it is unlikely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051487</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-01 10:57:23 -0800</bug_when>
    <thetext>The tests are still failing today</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051507</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-12-01 11:29:10 -0800</bug_when>
    <thetext>strange, it must be a flakiness:

Nov 30 23:46 - fail - https://build.webkit.org/builders/Apple%20Mavericks%20Release%20WK1%20%28Tests%29/builds/10295
Dec 01 05:26 - pass - https://build.webkit.org/builders/Apple%20Mavericks%20Release%20WK1%20%28Tests%29/builds/10296
Dec 01 06:59 - fail - https://build.webkit.org/builders/Apple%20Mavericks%20Release%20WK1%20%28Tests%29/builds/10297
Dec 01 10:40 - pass - https://build.webkit.org/builders/Apple%20Mavericks%20Release%20WK1%20%28Tests%29/builds/10298</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073264</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-03-01 23:39:02 -0800</bug_when>
    <thetext>and again:
- https://build.webkit.org/builders/Apple%20Mavericks%20Release%20WK2%20%28Tests%29/builds/11978
- https://build.webkit.org/builders/Apple%20Mavericks%20Release%20WK1%20%28Tests%29/builds/12570
- https://build.webkit.org/builders/EFL%20Linux%2064-bit%20Release%20WK2/builds/20120
- https://build.webkit.org/builders/Apple%20Yosemite%20Release%20WK1%20%28Tests%29/builds/3241
- https://build.webkit.org/builders/Apple%20Yosemite%20Release%20WK2%20%28Tests%29/builds/3228</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073265</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-03-01 23:41:28 -0800</bug_when>
    <thetext>It seems this test fails only on the first day of months between 22:00-24:00.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073343</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-03-02 09:27:36 -0800</bug_when>
    <thetext>The tests just failed again on all bots around 8am on March 2nd.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073344</commentid>
    <comment_count>8</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-03-02 09:28:50 -0800</bug_when>
    <thetext>Perhaps related to daylight savings?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073361</commentid>
    <comment_count>9</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-03-02 10:14:08 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Perhaps related to daylight savings?

Yes :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073384</commentid>
    <comment_count>10</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-03-02 11:12:38 -0800</bug_when>
    <thetext>Looking into this now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073412</commentid>
    <comment_count>11</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-03-02 12:25:36 -0800</bug_when>
    <thetext>This test uses the current time, then performs date math on it in JS code, and compares to the same date math being performed by the platform. However, this date math is sensitive to daylight savings code. I propose that we perform the tests on hardcoded dates and not on &quot;now&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073415</commentid>
    <comment_count>12</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-03-02 12:33:22 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; This test uses the current time, then performs date math on it in JS code,
&gt; and compares to the same date math being performed by the platform. However,
&gt; this date math is sensitive to daylight savings code. I propose that we
&gt; perform the tests on hardcoded dates and not on &quot;now&quot;

We could do that, but before we do, you should check what other coverage we have on the behavior of Date.now().

Also, have you checked if these tests overlap the more modern tests in sputnik and ietestcenter, or even Test262?  Fixing these ancient Mozilla tests if there is a modern test with similar coverage is probably not worthwhile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073435</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-03-02 13:54:19 -0800</bug_when>
    <thetext>*** Bug 142180 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075585</commentid>
    <comment_count>14</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-03-09 04:40:55 -0700</bug_when>
    <thetext>similar bug: bug138303</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075630</commentid>
    <comment_count>15</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-03-09 09:56:17 -0700</bug_when>
    <thetext>The daylight-savings sensitivity is actually a useful thing to test. After all, real world code needs to deal with this stuff! However, I do think it would be better to have specific Daylight Savings Time tests so it would be very clear when these start failing that it is related to the time of year.

What makes this more difficult is that the DST logic can change from year-to-year (based on law).

But I agree that all of our stock date tests should use specific dates and times. To exercise &apos;now&apos; we should probably place this in its own test with DST logic or special code to account for DST.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075712</commentid>
    <comment_count>16</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-03-09 12:24:35 -0700</bug_when>
    <thetext>The consensus that Mark Lam and I came up with is that we should test all cases with specific test cases, but that we should not test &quot;now.&quot; That way, we maintain our coverage without having possible future flakes if governments change DST behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075715</commentid>
    <comment_count>17</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-03-09 12:28:41 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; The consensus that Mark Lam and I came up with is that we should test all
&gt; cases with specific test cases, but that we should not test &quot;now.&quot; That way,
&gt; we maintain our coverage without having possible future flakes if
&gt; governments change DST behavior.

To clarify, I think Brent’s suggestion is a good one i.e. to put the DST test cases in a DST specific test.  That makes it easier to understand at a glance what could have gone wrong.  Brent’s suggestion is not in conflict with the approach Myles and I discussed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075721</commentid>
    <comment_count>18</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-03-09 12:39:18 -0700</bug_when>
    <thetext>I&apos;m opposed to removing these tests, as they are some of the more complex pieces of code that use Date and we should at least run them for crash test coverage.  It shouldn&apos;t be hard to arrange for them to be run just for seeing that they don&apos;t crash.

I haven&apos;t seen any comments regarding overlap with sputnik.  Sputnik is a comprehensive and modern JS test suite that we run in LayoutTests.  What we do about these tests depends on whether or not sputnik has Date.now tests.  Have you looked at this, and what did you find?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594664</commentid>
    <comment_count>19</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-12-02 10:10:01 -0800</bug_when>
    <thetext>This test flaked in https://ews-build.webkit.org/#/builders/26/builds/652 It failed in jscore-test, but passed on retry (in immediately next jscore-test-rerun step).

mozilla-tests.yaml/ecma/Date/15.9.5.8.js.mozilla-dfg-eager-no-cjit-validate-phases: (new Date(1604216191497)).getMonth() = 10 FAILED! expected: 9

mozilla-tests.yaml/ecma/Date/15.9.5.8.js.mozilla-no-ftl: (new Date(1604216191382)).getMonth() = 10 FAILED! expected: 9</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>