<?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>66010</bug_id>
          
          <creation_ts>2011-08-10 13:38:52 -0700</creation_ts>
          <short_desc>REGRESSION(r92670-r92744): WebKit crashes when opening Gmail</short_desc>
          <delta_ts>2011-08-16 10:38:45 -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>WebKit Misc.</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></keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>aroben</cc>
    
    <cc>dwonda</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>449367</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-08-10 13:38:52 -0700</bug_when>
    <thetext>Reproduction steps:
1. Go to www.google.com/mail/
Crash!

This appears to be JSC issue because it doesn&apos;t reproduce on Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449390</commentid>
    <comment_count>1</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-08-10 14:06:47 -0700</bug_when>
    <thetext>Can we get a crashtrace and platform?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449391</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-08-10 14:10:00 -0700</bug_when>
    <thetext>Stack trace:

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x00000001007daec5 JSC::DFG::JITCompiler::jumpFromSpeculativeToNonSpeculative(JSC::DFG::SpeculationCheck const&amp;, JSC::DFG::EntryLocation const&amp;, JSC::DFG::SpeculationRecovery*, JSC::DFG::NodeToRegisterMap&amp;, JSC::DFG::NodeToRegisterMap&amp;) + 5909
1   com.apple.JavaScriptCore      	0x00000001007dc25a JSC::DFG::JITCompiler::linkSpeculationChecks(JSC::DFG::SpeculativeJIT&amp;, JSC::DFG::NonSpeculativeJIT&amp;) + 282
2   com.apple.JavaScriptCore      	0x00000001007dcc87 JSC::DFG::JITCompiler::compileBody() + 2359
3   com.apple.JavaScriptCore      	0x00000001007ddf04 JSC::DFG::JITCompiler::compileFunction(JSC::JITCode&amp;, JSC::MacroAssemblerCodePtr&amp;) + 788
4   com.apple.JavaScriptCore      	0x0000000100817241 JSC::FunctionExecutable::compileForCallInternal(JSC::ExecState*, JSC::ScopeChainNode*, JSC::ExecState*) + 2193
5   com.apple.JavaScriptCore      	0x00000001008324db JSC::Interpreter::prepareForRepeatCall(JSC::FunctionExecutable*, JSC::ExecState*, JSC::JSFunction*, int, JSC::ScopeChainNode*) + 523
6   com.apple.JavaScriptCore      	0x000000010078a1af JSC::arrayProtoFuncForEach(JSC::ExecState*) + 2831
7   ???                           	0x00003b3019e011e8 0 + 65077778584040
8   com.apple.JavaScriptCore      	0x0000000100831245 JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::ScopeChainNode*, JSC::JSObject*) + 1573
9   ???                           	0x0000000106f357a0 0 + 4411578272</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449392</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-08-10 14:10:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/9931900&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449393</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-08-10 14:10:50 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Can we get a crashtrace and platform?

Snow Leopard on MacPro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449450</commentid>
    <comment_count>5</comment_count>
      <attachid>103545</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-10 15:46:46 -0700</bug_when>
    <thetext>Created attachment 103545
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449460</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-08-10 16:02:08 -0700</bug_when>
    <thetext>*** Bug 66011 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449510</commentid>
    <comment_count>7</comment_count>
      <attachid>103545</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-10 17:17:19 -0700</bug_when>
    <thetext>Comment on attachment 103545
the patch

Clearing flags on attachment: 103545

Committed r92804: &lt;http://trac.webkit.org/changeset/92804&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449511</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-10 17:17:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450917</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-13 21:22:36 -0700</bug_when>
    <thetext>*** Bug 66115 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451052</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-15 06:32:47 -0700</bug_when>
    <thetext>Is it not possible to write an automated regression test for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451157</commentid>
    <comment_count>11</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-08-15 11:10:32 -0700</bug_when>
    <thetext>Seems like it should be possible. If possible, all checkins should come with a regression test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451729</commentid>
    <comment_count>12</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-16 10:38:45 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Is it not possible to write an automated regression test for this?

Sorry for not noting this in the ChangeLog, but there is no obvious automated regression test.  The bug arises out of misuse of a hidden &quot;this&quot; argument to constructor calls.  This is a synthetic notion introduced in our bytecode and our JITs - it is not exposed in the JavaScript language.

As well, the bug only happens when three different register allocators in the system (the bytecompiler&apos;s virtual register allocator, the DFG parser&apos;s virtual register allocator, and the DFG back-end&apos;s physical register allocator) all make exactly the &quot;wrong&quot; decision based on the input.  A test that would cause a failure just before this fix landed would be unlikely to continue to cause failures if even slight changes in register allocation were made subsequently.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103545</attachid>
            <date>2011-08-10 15:46:46 -0700</date>
            <delta_ts>2011-08-10 17:17:19 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>usethis_patch_1.diff</filename>
            <type>text/plain</type>
            <size>1630</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTI3OTkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTEtMDgtMTAgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBS
RUdSRVNTSU9OKHI5MjY3MC1yOTI3NDQpOiBXZWJLaXQgY3Jhc2hlcyB3aGVuIG9wZW5pbmcgR21h
aWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDEw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAg
ICBNYWRlIHN1cmUgdGhhdCBDb25zdHJ1Y3QgY2FsbHMgdXNlKCkgb24gdGhlIHRoaXMgYXJndW1l
bnQuCisKKyAgICAgICAgKiBkZmcvREZHSklUQ29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChK
U0M6OkRGRzo6SklUQ29kZUdlbmVyYXRvcjo6ZW1pdENhbGwpOgorCiAyMDExLTA4LTEwICBNYXJr
IEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgSlNDIHNob3Vs
ZCBhbHdheXMgdGhyb3cgd2hlbiBmdW5jdGlvbiBhcmcgbGlzdCBpcyB0b28gbG9uZwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlR2VuZXJhdG9yLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuY3Bw
CShyZXZpc2lvbiA5Mjc5OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29k
ZUdlbmVyYXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk5OSw2ICs5OTksOSBAQCB2b2lkIEpJ
VENvZGVHZW5lcmF0b3I6OmVtaXRDYWxsKE5vZGUmIG5vCiAgICAgbV9qaXQuc3RvcmVQdHIoTWFj
cm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIoSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKG51bUFy
Z3MpKSksIGFkZHJlc3NPZkNhbGxEYXRhKFJlZ2lzdGVyRmlsZTo6QXJndW1lbnRDb3VudCkpOwog
ICAgIG1faml0LnN0b3JlUHRyKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBhZGRyZXNzT2ZD
YWxsRGF0YShSZWdpc3RlckZpbGU6OkNhbGxlckZyYW1lKSk7CiAgICAgCisgICAgaWYgKG5vZGUu
b3AgPT0gQ29uc3RydWN0KQorICAgICAgICB1c2UobV9qaXQuZ3JhcGgoKS5tX3ZhckFyZ0NoaWxk
cmVuW25vZGUuZmlyc3RDaGlsZCgpICsgMV0pOworICAgIAogICAgIGZvciAoaW50IGFyZ0lkeCA9
IChub2RlLm9wID09IENhbGwgPyAwIDogMSk7IGFyZ0lkeCA8IG51bUFyZ3M7IGFyZ0lkeCsrKSB7
CiAgICAgICAgIE5vZGVJbmRleCBhcmdOb2RlSW5kZXggPSBtX2ppdC5ncmFwaCgpLm1fdmFyQXJn
Q2hpbGRyZW5bbm9kZS5maXJzdENoaWxkKCkgKyAxICsgYXJnSWR4XTsKICAgICAgICAgSlNWYWx1
ZU9wZXJhbmQgYXJnKHRoaXMsIGFyZ05vZGVJbmRleCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>