<?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>129318</bug_id>
          
          <creation_ts>2014-02-25 11:22:48 -0800</creation_ts>
          <short_desc>Fix JSC stress test failures on 32-bit x86 on Mac</short_desc>
          <delta_ts>2014-03-10 02:38:44 -0700</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>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>129947</dependson>
    
    <dependson>129969</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>984406</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-02-25 11:22:48 -0800</bug_when>
    <thetext>The jsc stress test results running on 32-bit x86 Mac:

stress/recurse-infinitely-on-getter.js.dfg-eager: test_script_5127: line 2: 24956 Bus error: 10           &quot;$@&quot; ../../.vm/JavaScriptCore.framework/Resources/jsc --thresholdForJITAfterWarmUp\=10 --thresholdForJITSoon\=10 --thresholdForOptimizeAfterWarmUp\=20 --thresholdForOptimizeAfterLongWarmUp\=20 --thresholdForOptimizeSoon\=20 --thresholdForFTLOptimizeAfterWarmUp\=20 --thresholdForFTLOptimizeSoon\=20 recurse-infinitely-on-getter.js
stress/recurse-infinitely-on-getter.js.dfg-eager: ERROR: Unexpected exit code: 138
stress/recurse-infinitely-on-getter.js.dfg-eager-no-cjit-validate: test_script_5128: line 2: 24966 Bus error: 10           &quot;$@&quot; ../../.vm/JavaScriptCore.framework/Resources/jsc --enableConcurrentJIT\=false --validateGraph\=true --thresholdForJITAfterWarmUp\=10 --thresholdForJITSoon\=10 --thresholdForOptimizeAfterWarmUp\=20 --thresholdForOptimizeAfterLongWarmUp\=20 --thresholdForOptimizeSoon\=20 --thresholdForFTLOptimizeAfterWarmUp\=20 --thresholdForFTLOptimizeSoon\=20 recurse-infinitely-on-getter.js
stress/recurse-infinitely-on-getter.js.dfg-eager-no-cjit-validate: ERROR: Unexpected exit code: 138
8388/8388 (failed 2)                 

** The following JSC stress test failures have been introduced:
	stress/recurse-infinitely-on-getter.js.dfg-eager
	stress/recurse-infinitely-on-getter.js.dfg-eager-no-cjit-validate

Results for JSC stress tests:
    2 failures found.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984407</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-02-25 11:25:01 -0800</bug_when>
    <thetext>&lt;rdar://problem/16162647&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985576</commentid>
    <comment_count>2</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-02-28 08:43:50 -0800</bug_when>
    <thetext>Is this bug still valid? I haven&apos;t seen these failures on ToT (r164860) on
Mavericks with 32 bit build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985605</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-02-28 09:44:04 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Is this bug still valid? I haven&apos;t seen these failures on ToT (r164860) on
&gt; Mavericks with 32 bit build.

I just did a build and run with r164862, and still saw these.  I also saw 15 other new failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985609</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-02-28 09:48:54 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Is this bug still valid? I haven&apos;t seen these failures on ToT (r164860) on
&gt; &gt; Mavericks with 32 bit build.
&gt; 
&gt; I just did a build and run with r164862, and still saw these.  I also saw 15 other new failures.

Can you post the 15 new ones here?

At some point we should whip the 32-bit code into shape. :-/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985611</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-02-28 09:50:33 -0800</bug_when>
    <thetext>Here&apos;s the complete list:

** The following JSC stress test failures have been introduced:
	stress/recurse-infinitely-on-getter.js.default
	stress/recurse-infinitely-on-getter.js.always-trigger-copy-phase
	stress/recurse-infinitely-on-getter.js.no-cjit-validate-phases
	stress/recurse-infinitely-on-getter.js.dfg-eager
	stress/recurse-infinitely-on-getter.js.dfg-eager-no-cjit-validate
	regress/script-tests/call-spread-call.js.default
	regress/script-tests/call-spread-call.js.no-llint
	regress/script-tests/call-spread-call.js.always-trigger-copy-phase
	regress/script-tests/call-spread-call.js.no-cjit-validate-phases
	regress/script-tests/call-spread-call.js.dfg-eager
	regress/script-tests/call-spread-call.js.dfg-eager-no-cjit-validate
	regress/script-tests/string-cons-tower.js.dfg-eager
	regress/script-tests/string-cons-tower.js.dfg-eager-no-cjit-validate
	jsc-layout-tests.yaml/js/script-tests/dfg-convert-this-dom-window.js.layout-no-llint
	jsc-layout-tests.yaml/js/script-tests/dfg-convert-this-dom-window.js.layout-dfg-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/function-call-aliased.js.layout-no-llint
	jsc-layout-tests.yaml/js/script-tests/function-call-aliased.js.layout-dfg-eager-no-cjit

Results for JSC stress tests:
    17 failures found.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985672</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-02-28 12:19:02 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Here&apos;s the complete list:
&gt; 
&gt; ** The following JSC stress test failures have been introduced:
&gt;     stress/recurse-infinitely-on-getter.js.default
&gt;     stress/recurse-infinitely-on-getter.js.always-trigger-copy-phase
&gt;     stress/recurse-infinitely-on-getter.js.no-cjit-validate-phases
&gt;     stress/recurse-infinitely-on-getter.js.dfg-eager
&gt;     stress/recurse-infinitely-on-getter.js.dfg-eager-no-cjit-validate
I haven&apos;t seen these yet.


&gt;     jsc-layout-tests.yaml/js/script-tests/dfg-convert-this-dom-window.js.layout-no-llint
&gt;     jsc-layout-tests.yaml/js/script-tests/dfg-convert-this-dom-window.js.layout-dfg-eager-no-cjit
&gt;     jsc-layout-tests.yaml/js/script-tests/function-call-aliased.js.layout-no-llint
&gt;     jsc-layout-tests.yaml/js/script-tests/function-call-aliased.js.layout-dfg-eager-no-cjit
&gt;     regress/script-tests/call-spread-call.js.default
&gt;     regress/script-tests/call-spread-call.js.no-llint
&gt;     regress/script-tests/call-spread-call.js.always-trigger-copy-phase
&gt;     regress/script-tests/call-spread-call.js.no-cjit-validate-phases
&gt;     regress/script-tests/call-spread-call.js.dfg-eager
&gt;     regress/script-tests/call-spread-call.js.dfg-eager-no-cjit-validate
New bug about these failures: https://bugs.webkit.org/show_bug.cgi?id=129488


&gt;     regress/script-tests/string-cons-tower.js.dfg-eager
&gt;     regress/script-tests/string-cons-tower.js.dfg-eager-no-cjit-validate
New bug about these failures: https://bugs.webkit.org/show_bug.cgi?id=129490</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988052</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-03-06 23:26:30 -0800</bug_when>
    <thetext>The list of failures have changed again.  With r165232, I&apos;m getting the following when running on 32-bit x86:

** The following JSC stress test failures have been introduced:
	stress/equals-masquerader.js.default
	stress/equals-masquerader.js.no-llint
	stress/equals-masquerader.js.always-trigger-copy-phase
	stress/equals-masquerader.js.no-cjit-validate-phases
	stress/equals-masquerader.js.dfg-eager
	stress/equals-masquerader.js.dfg-eager-no-cjit-validate
	stress/recurse-infinitely-on-getter.js.default
	stress/recurse-infinitely-on-getter.js.always-trigger-copy-phase
	stress/recurse-infinitely-on-getter.js.no-cjit-validate-phases
	stress/recurse-infinitely-on-getter.js.dfg-eager
	stress/recurse-infinitely-on-getter.js.dfg-eager-no-cjit-validate

Results for JSC stress tests:
    11 failures found.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988119</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-03-07 04:36:49 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; The list of failures have changed again.  With r165232, I&apos;m getting the following when running on 32-bit x86:
&gt; 
&gt; ** The following JSC stress test failures have been introduced:
&gt;     stress/equals-masquerader.js.default
&gt;     stress/equals-masquerader.js.no-llint
&gt;     stress/equals-masquerader.js.always-trigger-copy-phase
&gt;     stress/equals-masquerader.js.no-cjit-validate-phases
&gt;     stress/equals-masquerader.js.dfg-eager
&gt;     stress/equals-masquerader.js.dfg-eager-no-cjit-validate

I can confirm these failures on r165256, it seems to be a new regression.

&gt;     stress/recurse-infinitely-on-getter.js.default
&gt;     stress/recurse-infinitely-on-getter.js.always-trigger-copy-phase
&gt;     stress/recurse-infinitely-on-getter.js.no-cjit-validate-phases
&gt;     stress/recurse-infinitely-on-getter.js.dfg-eager
&gt;     stress/recurse-infinitely-on-getter.js.dfg-eager-no-cjit-validate

I still haven&apos;t see these failures on my Mavericks.

but got 2 other failures:
	jsc-layout-tests.yaml/js/script-tests/reentrant-caching.js.layout-no-llint
	jsc-layout-tests.yaml/js/script-tests/reentrant-caching.js.layout-dfg-eager-no-cjit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988132</commentid>
    <comment_count>9</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-03-07 05:20:43 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; The list of failures have changed again.  With r165232, I&apos;m getting the following when running on 32-bit x86:
&gt; 
&gt; ** The following JSC stress test failures have been introduced:
&gt;     stress/equals-masquerader.js.default
&gt;     stress/equals-masquerader.js.no-llint
&gt;     stress/equals-masquerader.js.always-trigger-copy-phase
&gt;     stress/equals-masquerader.js.no-cjit-validate-phases
&gt;     stress/equals-masquerader.js.dfg-eager
&gt;     stress/equals-masquerader.js.dfg-eager-no-cjit-validate

It is a new test introduced in http://trac.webkit.org/changeset/165119 
and fails from the beginning on 32 bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988517</commentid>
    <comment_count>10</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-03-08 00:12:43 -0800</bug_when>
    <thetext>The 6 stress/equals-masquerader.js tests now passes with the fix for https://bugs.webkit.org/show_bug.cgi?id=129947.  The 5 stress/recurse-infinitely-on-getter.js testa are still failing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988696</commentid>
    <comment_count>11</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-03-08 21:08:47 -0800</bug_when>
    <thetext>With the fix for https://bugs.webkit.org/show_bug.cgi?id=129969, the stress/recurse-infinitely-on-getter.js tests no longer crashes.  The jsc stress tests are passing completely for me on 32-bit.

I haven&apos;t been able to reproduce Ossy&apos;s reentrant-caching.js failures.  However, that test also exercises stack overflow errors.  Hence, it is possible that Ossy saw that on his machine and not the stress/recurse-infinitely-on-getter.js because of difference in the compilers we use generating code with difference amount or stack usage, and also different OS&apos;es with different stack sizes.  I think it&apos;s reasonable to conclude at this point that the issue has been fixed with https://bugs.webkit.org/show_bug.cgi?id=129969.

Ossy, I&apos;ll going this bug as resolved since I don&apos;t see anymore jsc stress test failures on x86 32-bit.  If you the failures manifest still, feel free to file a new bug and assign it to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988697</commentid>
    <comment_count>12</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-03-08 21:09:35 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Ossy, I&apos;ll going this bug as resolved since I don&apos;t see anymore jsc stress test failures on x86 32-bit.  If you the failures manifest still, feel free to file a new bug and assign it to me.

typo: &quot;going to mark this bug as resolved&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988834</commentid>
    <comment_count>13</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-03-10 02:38:44 -0700</bug_when>
    <thetext>All tests pass for me too now. Thanks for fixing them.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>