<?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>187255</bug_id>
          
          <creation_ts>2018-07-02 10:19:56 -0700</creation_ts>
          <short_desc>[32-bit JSC tests] ASSERTION FAILED: !getDirect(offset) || !JSValue::encode(getDirect(offset))</short_desc>
          <delta_ts>2018-07-03 12:26:28 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=186989</see_also>
          <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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dawei Fenton (:realdawei)">realdawei</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>lforschler</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1438531</commentid>
    <comment_count>0</comment_count>
    <who name="Dawei Fenton (:realdawei)">realdawei</who>
    <bug_when>2018-07-02 10:19:56 -0700</bug_when>
    <thetext>The 32-bit JSC bot has been seeing 3900+ regressions since around June 23rd (r233121 - r233122)  Previously had been 25000+ regressions starting around June 18th (r232953 - r232954) 

Sample run:
https://build.webkit.org/builders/Apple%20High%20Sierra%2032-bit%20JSC%20%28BuildAndTest%29/builds/2220/steps/webkit-32bit-jsc-test/logs/stdio

slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: ASSERTION FAILED: !getDirect(offset) || !JSValue::encode(getDirect(offset))
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: /Volumes/Data/slave/highsierra-32bitJSC-debug/build/Source/JavaScriptCore/runtime/JSObjectInlines.h(335) : bool JSC::JSObject::putDirectInternal(JSC::VM &amp;, JSC::PropertyName, JSC::JSValue, unsigned int, JSC::PutPropertySlot &amp;)
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 1   0x28e51b WTFCrash
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 2   0x3cc740 bool JSC::JSObject::putDirectInternal&lt;(JSC::JSObject::PutMode)1&gt;(JSC::VM&amp;, JSC::PropertyName, JSC::JSValue, unsigned int, JSC::PutPropertySlot&amp;)
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 3   0x9d51be JSC::JSObject::putDirect(JSC::VM&amp;, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;)
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 4   0xeb8d74 JSC::CommonSlowPaths::putDirectWithReify(JSC::VM&amp;, JSC::ExecState*, JSC::JSObject*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;, JSC::Structure**)
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 5   0xeb9cca operationPutByIdDirectStrictOptimize
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 6   0x3149f2a3
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 7   0x3149f7f6
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 8   0x38d708 llint_entry
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 9   0x38d6b1 llint_entry
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 10  0x38d708 llint_entry
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 11  0x3875d0 vmEntryToJavaScript
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 12  0xe34089 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 13  0xe33526 JSC::Interpreter::executeProgram(JSC::SourceCode const&amp;, JSC::ExecState*, JSC::JSObject*)
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 14  0x1147132 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 15  0x12909f runWithOptions(GlobalObject*, CommandLine&amp;, bool&amp;)
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 16  0xf9d0a jscmain(int, char**)::$_3::operator()(JSC::VM&amp;, GlobalObject*, bool&amp;) const
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 17  0xdf0ea int runJSC&lt;jscmain(int, char**)::$_3&gt;(CommandLine, bool, jscmain(int, char**)::$_3 const&amp;)
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 18  0xdd880 jscmain(int, char**)
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 19  0xdd7a7 main
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: 20  0xa73f4611 start
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: test_script_14: line 2: 36453 Segmentation fault: 11  ( &quot;$@&quot; ../../../.vm/JavaScriptCore.framework/Resources/jsc --useFTLJIT\=false --useFunctionDotArguments\=true --validateExceptionChecks\=true --useDollarVM\=true --maxPerThreadStackUsage\=1572864 --validateBytecode\=true --validateGraph\=true --useConcurrentJIT\=false --thresholdForJITAfterWarmUp\=100 --scribbleFreeCells\=true rest-parameter-allocation-elimination.js )
slowMicrobenchmarks.yaml/slowMicrobenchmarks/rest-parameter-allocation-elimination.js.no-cjit: ERROR: Unexpected exit code: 139</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1438910</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-03 11:50:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/41785257&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1438914</commentid>
    <comment_count>2</comment_count>
      <attachid>344201</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-07-03 12:03:38 -0700</bug_when>
    <thetext>Created attachment 344201
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1438919</commentid>
    <comment_count>3</comment_count>
      <attachid>344201</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-07-03 12:15:57 -0700</bug_when>
    <thetext>Comment on attachment 344201
proposed patch.

View in context: https://bugs.webkit.org/attachment.cgi?id=344201&amp;action=review

&gt; Source/JavaScriptCore/ChangeLog:9
&gt; +        The 32-bit JIT::emit_op_create_this() needs to initialize uninitialized properties

Do we really care about this assert on 32-bit since we don’t run concurrent JIT/GC?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1438922</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-07-03 12:19:15 -0700</bug_when>
    <thetext>Thanks for the review.

(In reply to Saam Barati from comment #3)
&gt; Comment on attachment 344201 [details]
&gt; proposed patch.
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=344201&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/ChangeLog:9
&gt; &gt; +        The 32-bit JIT::emit_op_create_this() needs to initialize uninitialized properties
&gt; 
&gt; Do we really care about this assert on 32-bit since we don’t run concurrent
&gt; JIT/GC?

Good point.  I guess we don&apos;t care then, but it doesn&apos;t hurt to just have the code in parity with the 64-bit i.e. I won&apos;t make the change conditional on asserts being enabled.  I&apos;ll land the patch shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1438923</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-07-03 12:21:35 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #4)
&gt; (In reply to Saam Barati from comment #3)
&gt; &gt; Do we really care about this assert on 32-bit since we don’t run concurrent
&gt; &gt; JIT/GC?
&gt; 
&gt; Good point.  I guess we don&apos;t care then, but it doesn&apos;t hurt to just have
&gt; the code in parity with the 64-bit i.e. I won&apos;t make the change conditional
&gt; on asserts being enabled.  I&apos;ll land the patch shortly.

I&apos;ll also add a ChangeLog comment that this is only needed for an assertion, and not strictly needed because we son&apos;t useConcurrentGC on 32-bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1438926</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-07-03 12:26:28 -0700</bug_when>
    <thetext>Landed in r233473: &lt;http://trac.webkit.org/r233473&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>344201</attachid>
            <date>2018-07-03 12:03:38 -0700</date>
            <delta_ts>2018-07-03 12:15:57 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-187255.patch</filename>
            <type>text/plain</type>
            <size>1934</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjMzNDY5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBA
CisyMDE4LTA3LTAzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBb
MzItYml0IEpTQyB0ZXN0c10gQVNTRVJUSU9OIEZBSUxFRDogIWdldERpcmVjdChvZmZzZXQpIHx8
ICFKU1ZhbHVlOjplbmNvZGUoZ2V0RGlyZWN0KG9mZnNldCkpLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3MjU1CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS80MTc4NTI1Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGUgMzItYml0IEpJVDo6ZW1pdF9vcF9jcmVhdGVfdGhpcygpIG5lZWRzIHRvIGlu
aXRpYWxpemUgdW5pbml0aWFsaXplZCBwcm9wZXJ0aWVzCisgICAgICAgIHRvbzogYmFzaWNhbGx5
LCBkbyB3aGF0IHRoZSA2NC1iaXQgY29kZSBpcyBkb2luZy4KKworICAgICAgICBUaGlzIGlzc3Vl
IGlzIGFscmVhZHkgY292ZXJlZCBieSB0aGUgc2xvd01pY3JvYmVuY2htYXJrcy9yZXN0LXBhcmFt
ZXRlci1hbGxvY2F0aW9uLWVsaW1pbmF0aW9uLmpzCisgICAgICAgIHRlc3QuCisKKyAgICAgICAg
KiBqaXQvSklUT3Bjb2RlczMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX2Ny
ZWF0ZV90aGlzKToKKwogMjAxOC0wNy0wMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdt
YWlsLmNvbT4KIAogICAgICAgICBbSlNDXSBNb3ZlIHNsb3dEb3duQW5kV2FzdGVNZW1vcnkgZnVu
Y3Rpb24gdG8gSlNBcnJheUJ1ZmZlclZpZXcKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3Bjb2RlczMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAJKHJldmlzaW9uIDIzMzQ2NikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
OTYyLDYgKzk2MiwxMCBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9jcmVhdGVfdGhpcyhJbnN0cnVjdGlv
CiAgICAgSnVtcExpc3Qgc2xvd0Nhc2VzOwogICAgIGF1dG8gYnV0dGVyZmx5ID0gVHJ1c3RlZElt
bVB0cihudWxscHRyKTsKICAgICBlbWl0QWxsb2NhdGVKU09iamVjdChyZXN1bHRSZWcsIEpJVEFs
bG9jYXRvcjo6dmFyaWFibGUoKSwgYWxsb2NhdG9yUmVnLCBzdHJ1Y3R1cmVSZWcsIGJ1dHRlcmZs
eSwgc2NyYXRjaFJlZywgc2xvd0Nhc2VzKTsKKyAgICBlbWl0TG9hZFBheWxvYWQoY2FsbGVlLCBz
Y3JhdGNoUmVnKTsKKyAgICBsb2FkUHRyKEFkZHJlc3Moc2NyYXRjaFJlZywgSlNGdW5jdGlvbjo6
b2Zmc2V0T2ZSYXJlRGF0YSgpKSwgc2NyYXRjaFJlZyk7CisgICAgbG9hZDMyKEFkZHJlc3Moc2Ny
YXRjaFJlZywgRnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZSgpICsgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9mZnNldE9mSW5saW5lQ2FwYWNpdHkoKSks
IHNjcmF0Y2hSZWcpOworICAgIGVtaXRJbml0aWFsaXplSW5saW5lU3RvcmFnZShyZXN1bHRSZWcs
IHNjcmF0Y2hSZWcpOwogICAgIGFkZFNsb3dDYXNlKHNsb3dDYXNlcyk7CiAgICAgZW1pdFN0b3Jl
Q2VsbChjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kLCByZXN1bHRSZWcpOwogfQo=
</data>
<flag name="review"
          id="362251"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>