<?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>151440</bug_id>
          
          <creation_ts>2015-11-19 03:03:52 -0800</creation_ts>
          <short_desc>REGRESSION(r192599): It made 34 JSC tests crash on ARM Linux</short_desc>
          <delta_ts>2015-11-20 02:38:57 -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>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>151445</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>108645</blocked>
    
    <blocked>151415</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>ossy</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1143244</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-11-19 03:03:52 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/192599 made 34 JSC stress tests
crash at least on ARM Linux platforms. (ARMv7 - ARM and Thumb2
instruction sets too; AArch64)

Maybe these tests fail on iOS too, but unfortunately 
there is no public iOS buildbot, so I don&apos;t know.

- https://build.webkit.org/builders/EFL%20Linux%20ARMv7%20Traditional%20Release/builds/16061
- https://build.webkit.org/builders/EFL%20Linux%20ARMv7%20Thumb2%20Release/builds/16212
- https://build.webkit.org/builders/EFL%20Linux%20AArch64%20Release/builds/4416
  (note: there were 25-30 failures on AArch64 before this change)

** The following JSC stress test failures have been introduced:
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-one-block-osr-exit.js.layout
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-one-block-osr-exit.js.layout-dfg-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-one-block-osr-exit.js.layout-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-one-block-osr-exit.js.layout-no-llint
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-one-block-overwrite-arguments.js.layout
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-one-block-overwrite-arguments.js.layout-dfg-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-one-block-overwrite-arguments.js.layout-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-one-block-overwrite-arguments.js.layout-no-llint
	jsc-layout-tests.yaml/js/script-tests/dfg-double-use-of-post-simplification-double-prediction.js.layout
	jsc-layout-tests.yaml/js/script-tests/dfg-double-use-of-post-simplification-double-prediction.js.layout-dfg-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-double-use-of-post-simplification-double-prediction.js.layout-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-double-use-of-post-simplification-double-prediction.js.layout-no-llint
	regress/script-tests/v8-raytrace-with-empty-try-catch.js.dfg-maximal-flush-validate-no-cjit
	stress/double-rep-with-null.js.always-trigger-copy-phase
	stress/double-rep-with-null.js.default
	stress/double-rep-with-undefined.js.dfg-maximal-flush-validate-no-cjit
	stress/double-rep-with-undefined.js.no-cjit-validate-phases
	stress/double-rep-with-undefined.js.no-llint
	stress/op_add.js.always-trigger-copy-phase
	stress/op_add.js.default
	stress/op_add.js.dfg-eager
	stress/op_add.js.dfg-eager-no-cjit-validate
	stress/op_add.js.dfg-maximal-flush-validate-no-cjit
	stress/op_add.js.no-cjit-validate-phases
	stress/op_add.js.no-llint
	stress/op_sub.js.always-trigger-copy-phase
	stress/op_sub.js.default
	stress/op_sub.js.dfg-eager
	stress/op_sub.js.dfg-eager-no-cjit-validate
	stress/op_sub.js.dfg-maximal-flush-validate-no-cjit
	stress/op_sub.js.no-cjit-validate-phases
	stress/op_sub.js.no-llint
	stress/v8-raytrace-strict.js.dfg-maximal-flush-validate-no-cjit
	v8-v6/v8-raytrace.js.dfg-maximal-flush-validate-no-cjit

I&apos;ll try to create debug backtraces in the following week to help fixing this regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143245</commentid>
    <comment_count>1</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-11-19 03:04:34 -0800</bug_when>
    <thetext>ah, the forgot the GTK ARM link:
- https://build.webkit.org/builders/GTK%20Linux%20ARM%20Release/builds/9377</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143274</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-11-19 05:29:25 -0800</bug_when>
    <thetext>Looks serious enough for a rollout? What do you think, Mark?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143276</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-11-19 05:35:05 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Looks serious enough for a rollout? What do you think, Mark?

Generally we don&apos;t rollout any JSC patch which cause 
build failure or test regression on non Apple ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143279</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-11-19 05:44:11 -0800</bug_when>
    <thetext>Can someone run run-javascriptcore-tests manually on ARM, and post an actual crash trace?  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143284</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-11-19 08:22:37 -0800</bug_when>
    <thetext>I just finished a release build run on ARMv7 without any issues.  I will also do runs with debug builds and ARM64, but I suspect that this issue needs to be debugged on the EFL port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143285</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-11-19 08:24:26 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; I just finished a release build run on ARMv7 without any issues.  I will
&gt; also do runs with debug builds and ARM64, but I suspect that this issue
&gt; needs to be debugged on the EFL port.

I take that back.  My build did not include the change.  Will re-test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143286</commentid>
    <comment_count>7</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-11-19 08:28:54 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Can someone run run-javascriptcore-tests manually on ARM, and post an actual
&gt; crash trace?  Thanks.

I tried to generate backtrack on ARMv7, but unfortunately gdb crashes
on debug build of JSC. :(

But it seems the bug is in the DFG JIT somewhere, because 
stress/op_sub.js passes with disable DFG, but crashes by default.

I had a release backtrace. I don&apos;t think if it helps, but who knows.

#0  0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
#1  0xb6d83d56 in llint_entry ()
   from /home/webkitbuildbot/slaves/efl-thumb2-official/buildslave/efl-linux-armv7-thumb2-release/build/WebKitBuild/Release/lib/libjavascriptcore_efl.so.1
#2  0xb6d83d56 in llint_entry ()
   from /home/webkitbuildbot/slaves/efl-thumb2-official/buildslave/efl-linux-armv7-thumb2-release/build/WebKitBuild/Release/lib/libjavascriptcore_efl.so.1
#3  0xb6d83da0 in llint_entry ()
   from /home/webkitbuildbot/slaves/efl-thumb2-official/buildslave/efl-linux-armv7-thumb2-release/build/WebKitBuild/Release/lib/libjavascriptcore_efl.so.1
#4  0xb6d7ebe0 in vmEntryToJavaScript ()
   from /home/webkitbuildbot/slaves/efl-thumb2-official/buildslave/efl-linux-armv7-thumb2-release/build/WebKitBuild/Release/lib/libjavascriptcore_efl.so.1
#5  0xb6b4956a in JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) ()
   from /home/webkitbuildbot/slaves/efl-thumb2-official/buildslave/efl-linux-armv7-thumb2-release/build/WebKitBuild/Release/lib/libjavascriptcore_efl.so.1
#6  0xdfacb3fc in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

I&apos;ll try to create a debug backtrace on AArch64, but I will 
have time for it only tomorrow morning (in CET timezone).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143333</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-11-19 10:29:12 -0800</bug_when>
    <thetext>I found one issue in https://bugs.webkit.org/show_bug.cgi?id=151445 which is now fixed.  With that fix, I was able to run the JSC tests with a release build of ToT r192631 to completion without any of the failures reported in this bug.  Let me know if you&apos;re still seeing any failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143354</commentid>
    <comment_count>9</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-11-19 11:28:07 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; I found one issue in https://bugs.webkit.org/show_bug.cgi?id=151445 which is
&gt; now fixed.  With that fix, I was able to run the JSC tests with a release
&gt; build of ToT r192631 to completion without any of the failures reported in
&gt; this bug.  Let me know if you&apos;re still seeing any failures.

This does fix the problem for me locally, ARMv7 with Thumb2.

I&apos;ll leave it to Ossy to confirm, and to close the bug.

Thanks for the prompt fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143607</commentid>
    <comment_count>10</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-11-20 02:38:57 -0800</bug_when>
    <thetext>bug151445 fixed all tests, thanks.

*** This bug has been marked as a duplicate of bug 151445 ***</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>