<?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>61416</bug_id>
          
          <creation_ts>2011-05-24 21:23:28 -0700</creation_ts>
          <short_desc>[JSC] malfunction during arithmetic condition check with negative number (-2147483648)</short_desc>
          <delta_ts>2011-05-30 16:50:10 -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>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Hojong Han">hojong.han</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>zherczeg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>409438</commentid>
    <comment_count>0</comment_count>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2011-05-24 21:23:28 -0700</bug_when>
    <thetext>Example below doesn&apos;t work properly
------------------------------------------------------------------
&lt;script type=&quot;text/javascript&quot;&gt;
  var f = 10;
  if (f &lt; -2147483648) {alert(&quot;wrong&quot;);}
&lt;/script&gt;
------------------------------------------------------------------

The condition to check 0x80000000 is necessary when making CMN instruction for JIT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409519</commentid>
    <comment_count>1</comment_count>
      <attachid>94754</attachid>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2011-05-25 01:47:24 -0700</bug_when>
    <thetext>Created attachment 94754
Adding the condition to check 0x80000000 when making ARM instruction CMN for JIT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409546</commentid>
    <comment_count>2</comment_count>
      <attachid>94754</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-05-25 02:50:35 -0700</bug_when>
    <thetext>Comment on attachment 94754
Adding the condition to check 0x80000000 when making ARM instruction CMN for JIT

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

&gt; Source/JavaScriptCore/ChangeLog:3
&gt; +        Not reviewed.

Please Change &quot;Not reviewed&quot; with Reviewed by NOBODY (OOPS!).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409572</commentid>
    <comment_count>3</comment_count>
      <attachid>94754</attachid>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2011-05-25 03:36:26 -0700</bug_when>
    <thetext>Comment on attachment 94754
Adding the condition to check 0x80000000 when making ARM instruction CMN for JIT

&gt;Index: Source/JavaScriptCore/ChangeLog
&gt;===================================================================
&gt;--- Source/JavaScriptCore/ChangeLog	(revision 87279)
&gt;+++ Source/JavaScriptCore/ChangeLog	(working copy)
&gt;@@ -1,3 +1,13 @@
&gt;+2011-05-25  Hojong Han  &lt;hojong.han@samsung.com&gt;
&gt;+
&gt;+        Reviewed by NOBODY (OOPS!).
&gt;+
&gt;+        Adding the condition to check 0x80000000 when making ARM instruction CMN for JIT.
&gt;+        https://bugs.webkit.org/show_bug.cgi?id=61416
&gt;+
&gt;+        * assembler/MacroAssemblerARM.h:
&gt;+        (JSC::MacroAssemblerARM::branch32):
&gt;+
&gt; 2011-05-24  Keishi Hattori  &lt;keishi@webkit.org&gt;
&gt; 
&gt;         Reviewed by Kent Tamura.
&gt;Index: Source/JavaScriptCore/assembler/MacroAssemblerARM.h
&gt;===================================================================
&gt;--- Source/JavaScriptCore/assembler/MacroAssemblerARM.h	(revision 87276)
&gt;+++ Source/JavaScriptCore/assembler/MacroAssemblerARM.h	(working copy)
&gt;@@ -416,7 +416,7 @@
&gt;             m_assembler.ldr_un_imm(ARMRegisters::S0, right.m_value);
&gt;             m_assembler.cmp_r(left, ARMRegisters::S0);
&gt;         } else {
&gt;-            ARMWord tmp = m_assembler.getOp2(-right.m_value);
&gt;+            ARMWord tmp = (right.m_value == 0x80000000)?ARMAssembler::INVALID_IMM:m_assembler.getOp2(-right.m_value);
&gt;             if (tmp != ARMAssembler::INVALID_IMM)
&gt;                 m_assembler.cmn_r(left, tmp);
&gt;             else</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409580</commentid>
    <comment_count>4</comment_count>
      <attachid>94768</attachid>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2011-05-25 03:51:20 -0700</bug_when>
    <thetext>Created attachment 94768
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409810</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-05-25 12:05:40 -0700</bug_when>
    <thetext>+            ARMWord tmp = (right.m_value == 0x80000000)?ARMAssembler::INVALID_IMM:m_assembler.getOp2(-right.m_value);

Spacing doesn&apos;t match the WebKit style guidelines. There should be spaces around &quot;?&quot; and &quot;:&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409823</commentid>
    <comment_count>6</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-05-25 12:22:31 -0700</bug_when>
    <thetext>A fix like this really ought to be accompanied by a regression test.

This can be really easy, you should be able to just find a test in the LayoutTests/fast/js directory with &apos;arithmetic&apos; or &apos;comparisons&apos; in the name, add something like:

var testValue = 10;
shouldBeFalse(&quot;testValue &lt; -2147483648&quot;);

And run the layout test to get updated results (which will just be a line saying PASS).

cheers,
G.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410296</commentid>
    <comment_count>7</comment_count>
      <attachid>94944</attachid>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2011-05-26 01:59:52 -0700</bug_when>
    <thetext>Created attachment 94944
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410299</commentid>
    <comment_count>8</comment_count>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2011-05-26 02:05:00 -0700</bug_when>
    <thetext>Thank you for comment. 
I ran &quot;Tools/Script/check-webkit-style&quot;, there&apos;re mistakes though.
&gt; +            ARMWord tmp = (right.m_value == 0x80000000)?ARMAssembler::INVALID_IMM:m_assembler.getOp2(-right.m_value);
&gt; 
&gt; Spacing doesn&apos;t match the WebKit style guidelines. There should be spaces around &quot;?&quot; and &quot;:&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410307</commentid>
    <comment_count>9</comment_count>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2011-05-26 02:18:14 -0700</bug_when>
    <thetext>I&apos;m appreciated your comment and trying to set layout regression test,
but there&apos;s one thing difficult for me is that this issue happens at elf port with ARM and there is not an easy way to run the test.
Could you let me know another way for test or something I don&apos;t catch?
&gt; A fix like this really ought to be accompanied by a regression test.
&gt; 
&gt; This can be really easy, you should be able to just find a test in the LayoutTests/fast/js directory with &apos;arithmetic&apos; or &apos;comparisons&apos; in the name, add something like:
&gt; 
&gt; var testValue = 10;
&gt; shouldBeFalse(&quot;testValue &lt; -2147483648&quot;);
&gt; 
&gt; And run the layout test to get updated results (which will just be a line saying PASS).
&gt; 
&gt; cheers,
&gt; G.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410308</commentid>
    <comment_count>10</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-05-26 02:23:00 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; I&apos;m appreciated your comment and trying to set layout regression test,
&gt; but there&apos;s one thing difficult for me is that this issue happens at elf port with ARM and there is not an easy way to run the test.
&gt; Could you let me know another way for test or something I don&apos;t catch?
&gt; &gt; A fix like this really ought to be accompanied by a regression test.
&gt; &gt; 
&gt; &gt; This can be really easy, you should be able to just find a test in the LayoutTests/fast/js directory with &apos;arithmetic&apos; or &apos;comparisons&apos; in the name, add something like:
&gt; &gt; 
&gt; &gt; var testValue = 10;
&gt; &gt; shouldBeFalse(&quot;testValue &lt; -2147483648&quot;);
&gt; &gt; 
&gt; &gt; And run the layout test to get updated results (which will just be a line saying PASS).
&gt; &gt; 
&gt; &gt; cheers,
&gt; &gt; G.

EFL port doesn&apos;t have DRT yet. But, DRT  for EFL port is going to contribute WebKit mainline soon. I think you may be able to test arthmetic test by EWebLauncher or jsc executable manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410315</commentid>
    <comment_count>11</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-05-26 02:31:32 -0700</bug_when>
    <thetext>
&gt; EFL port doesn&apos;t have DRT yet. But, DRT  for EFL port is going to contribute WebKit mainline soon. I think you may be able to test arthmetic test by EWebLauncher or jsc executable manually.

Or, you can use DRT in GTK port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410395</commentid>
    <comment_count>12</comment_count>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2011-05-26 06:41:24 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; A fix like this really ought to be accompanied by a regression test.
&gt; 
&gt; This can be really easy, you should be able to just find a test in the LayoutTests/fast/js directory with &apos;arithmetic&apos; or &apos;comparisons&apos; in the name, add something like:
&gt; 
&gt; var testValue = 10;
&gt; shouldBeFalse(&quot;testValue &lt; -2147483648&quot;);
&gt; 
&gt; And run the layout test to get updated results (which will just be a line saying PASS).
&gt; 
&gt; cheers,
&gt; G.

I added test code like below into the JS file (Source/JavaScriptCore/tests/mozilla/ecma/Array/15.4.1.1.js) for JSC regression test and then ran &quot;./jsc_efl -s -f shell.js 15.4.1.1.js&quot;

[Test case code]
array[item++] = new TestCase( SECTION,	&quot;var f = 10; var g; if(f &lt; -2147483648) g = false; else g = true; g.toString()&quot;,  &quot;true&quot;,  eval(&quot;var f = 10; var g; if(f &lt; -2147483648) g = false; else g = true; g.toString()&quot;) );

[Before fixed]
var f = 10; var g; if(f &lt; -2147483648) g = false; else g = true; g.toString() = false FAILED! expected: true

[After fixed]
var f = 10; var g; if(f &lt; -2147483648) g = false; else g = true; g.toString() = true PASSED!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410982</commentid>
    <comment_count>13</comment_count>
      <attachid>94944</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-05-26 16:31:56 -0700</bug_when>
    <thetext>Comment on attachment 94944
Patch

Under the circumstances, adding this to a jsc test seems fine to me.  Please put up a patch containing the added test case &amp; new test results too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411180</commentid>
    <comment_count>14</comment_count>
      <attachid>95118</attachid>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2011-05-26 22:58:57 -0700</bug_when>
    <thetext>Created attachment 95118
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411186</commentid>
    <comment_count>15</comment_count>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2011-05-26 23:07:44 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 94944 [details])
&gt; Under the circumstances, adding this to a jsc test seems fine to me.  Please put up a patch containing the added test case &amp; new test results too.

I added new patch including test case, except test results because newly added test case with a fix doesn&apos;t throw any message when it&apos;s passed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411203</commentid>
    <comment_count>16</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-05-26 23:31:25 -0700</bug_when>
    <thetext>Nice catch! -INT_MIN == INT_MIN
I like this patch, although I can&apos;t give you an r+. Hopefully someone will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412123</commentid>
    <comment_count>17</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-05-29 22:41:02 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Nice catch! -INT_MIN == INT_MIN
&gt; I like this patch, although I can&apos;t give you an r+. Hopefully someone will do.

Hello Geoffrey, 

How do you think about this patch ? It seems to me Zoltan give an internal review &quot;+&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412390</commentid>
    <comment_count>18</comment_count>
      <attachid>95118</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-05-30 16:15:17 -0700</bug_when>
    <thetext>Comment on attachment 95118
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412399</commentid>
    <comment_count>19</comment_count>
      <attachid>95118</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-30 16:50:03 -0700</bug_when>
    <thetext>Comment on attachment 95118
Patch

Clearing flags on attachment: 95118

Committed r87702: &lt;http://trac.webkit.org/changeset/87702&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412400</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-30 16:50:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94754</attachid>
            <date>2011-05-25 01:47:24 -0700</date>
            <delta_ts>2011-05-25 03:51:11 -0700</delta_ts>
            <desc>Adding the condition to check 0x80000000 when making ARM instruction CMN for JIT</desc>
            <filename>patch_file.patch</filename>
            <type>text/plain</type>
            <size>1360</size>
            <attacher name="Hojong Han">hojong.han</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODcyNzkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTEtMDUtMjUgIEhvam9uZyBIYW4gIDxob2pvbmcuaGFuQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIE5vdCByZXZpZXdlZC4KKworICAgICAgICBBZGRpbmcgdGhlIGNvbmRpdGlvbiB0byBjaGVj
ayAweDgwMDAwMDAwIHdoZW4gbWFraW5nIEFSTSBpbnN0cnVjdGlvbiBDTU4gZm9yIEpJVC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDE2CisKKyAg
ICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaDoKKyAgICAgICAgKEpTQzo6TWFj
cm9Bc3NlbWJsZXJBUk06OmJyYW5jaDMyKToKKwogMjAxMS0wNS0yNCAgS2Vpc2hpIEhhdHRvcmkg
IDxrZWlzaGlAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0u
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyQVJNLmgJKHJldmlzaW9uIDg3Mjc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MTYsNyArNDE2
LDcgQEAKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmxkcl91bl9pbW0oQVJNUmVnaXN0ZXJzOjpT
MCwgcmlnaHQubV92YWx1ZSk7CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5jbXBfcihsZWZ0LCBB
Uk1SZWdpc3RlcnM6OlMwKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIEFSTVdvcmQg
dG1wID0gbV9hc3NlbWJsZXIuZ2V0T3AyKC1yaWdodC5tX3ZhbHVlKTsKKyAgICAgICAgICAgIEFS
TVdvcmQgdG1wID0gKHJpZ2h0Lm1fdmFsdWUgPT0gMHg4MDAwMDAwMCk/QVJNQXNzZW1ibGVyOjpJ
TlZBTElEX0lNTTptX2Fzc2VtYmxlci5nZXRPcDIoLXJpZ2h0Lm1fdmFsdWUpOwogICAgICAgICAg
ICAgaWYgKHRtcCAhPSBBUk1Bc3NlbWJsZXI6OklOVkFMSURfSU1NKQogICAgICAgICAgICAgICAg
IG1fYXNzZW1ibGVyLmNtbl9yKGxlZnQsIHRtcCk7CiAgICAgICAgICAgICBlbHNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94768</attachid>
            <date>2011-05-25 03:51:20 -0700</date>
            <delta_ts>2011-05-26 01:59:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61416-20110525195117.patch</filename>
            <type>text/plain</type>
            <size>1387</size>
            <attacher name="Hojong Han">hojong.han</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODcyODUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTEtMDUtMjUgIEhvam9uZyBIYW4gIDxob2pvbmcuaGFuQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtKU0NdIG1hbGZ1bmN0
aW9uIGR1cmluZyBhcml0aG1ldGljIGNvbmRpdGlvbiBjaGVjayB3aXRoIG5lZ2F0aXZlIG51bWJl
ciAoLTIxNDc0ODM2NDgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MTQxNgorCisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmg6
CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpicmFuY2gzMik6CisKIDIwMTEtMDUt
MjQgIEtlaXNoaSBIYXR0b3JpICA8a2Vpc2hpQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgS2VudCBUYW11cmEuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyQVJNLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oCShyZXZpc2lvbiA4NzI3NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAkod29ya2luZyBj
b3B5KQpAQCAtNDE2LDcgKzQxNiw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIG1fYXNzZW1ibGVy
Lmxkcl91bl9pbW0oQVJNUmVnaXN0ZXJzOjpTMCwgcmlnaHQubV92YWx1ZSk7CiAgICAgICAgICAg
ICBtX2Fzc2VtYmxlci5jbXBfcihsZWZ0LCBBUk1SZWdpc3RlcnM6OlMwKTsKICAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgIEFSTVdvcmQgdG1wID0gbV9hc3NlbWJsZXIuZ2V0T3AyKC1yaWdo
dC5tX3ZhbHVlKTsKKyAgICAgICAgICAgIEFSTVdvcmQgdG1wID0gKHJpZ2h0Lm1fdmFsdWUgPT0g
MHg4MDAwMDAwMCk/QVJNQXNzZW1ibGVyOjpJTlZBTElEX0lNTTptX2Fzc2VtYmxlci5nZXRPcDIo
LXJpZ2h0Lm1fdmFsdWUpOwogICAgICAgICAgICAgaWYgKHRtcCAhPSBBUk1Bc3NlbWJsZXI6OklO
VkFMSURfSU1NKQogICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmNtbl9yKGxlZnQsIHRtcCk7
CiAgICAgICAgICAgICBlbHNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94944</attachid>
            <date>2011-05-26 01:59:52 -0700</date>
            <delta_ts>2011-05-26 22:58:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61416-20110526175942.patch</filename>
            <type>text/plain</type>
            <size>1393</size>
            <attacher name="Hojong Han">hojong.han</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODczNzApCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTEtMDUtMjYgIEhvam9uZyBIYW4gIDxob2pvbmcuaGFuQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtKU0NdIG1hbGZ1bmN0
aW9uIGR1cmluZyBhcml0aG1ldGljIGNvbmRpdGlvbiBjaGVjayB3aXRoIG5lZ2F0aXZlIG51bWJl
ciAoLTIxNDc0ODM2NDgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MTQxNgorCisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmg6
CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpicmFuY2gzMik6CisKIDIwMTEtMDUt
MjYgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmgJKHJldmlzaW9uIDg3MzU3KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oCSh3b3JraW5n
IGNvcHkpCkBAIC00MTYsNyArNDE2LDcgQEAgcHVibGljOgogICAgICAgICAgICAgbV9hc3NlbWJs
ZXIubGRyX3VuX2ltbShBUk1SZWdpc3RlcnM6OlMwLCByaWdodC5tX3ZhbHVlKTsKICAgICAgICAg
ICAgIG1fYXNzZW1ibGVyLmNtcF9yKGxlZnQsIEFSTVJlZ2lzdGVyczo6UzApOwogICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgQVJNV29yZCB0bXAgPSBtX2Fzc2VtYmxlci5nZXRPcDIoLXJp
Z2h0Lm1fdmFsdWUpOworICAgICAgICAgICAgQVJNV29yZCB0bXAgPSAocmlnaHQubV92YWx1ZSA9
PSAweDgwMDAwMDAwKSA/IEFSTUFzc2VtYmxlcjo6SU5WQUxJRF9JTU0gOiBtX2Fzc2VtYmxlci5n
ZXRPcDIoLXJpZ2h0Lm1fdmFsdWUpOwogICAgICAgICAgICAgaWYgKHRtcCAhPSBBUk1Bc3NlbWJs
ZXI6OklOVkFMSURfSU1NKQogICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmNtbl9yKGxlZnQs
IHRtcCk7CiAgICAgICAgICAgICBlbHNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95118</attachid>
            <date>2011-05-26 22:58:57 -0700</date>
            <delta_ts>2011-05-30 16:50:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61416-20110527145841.patch</filename>
            <type>text/plain</type>
            <size>2202</size>
            <attacher name="Hojong Han">hojong.han</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODc0NzIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTEtMDUtMjYgIEhvam9uZyBIYW4gIDxob2pvbmcuaGFuQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtKU0NdIG1hbGZ1bmN0
aW9uIGR1cmluZyBhcml0aG1ldGljIGNvbmRpdGlvbiBjaGVjayB3aXRoIG5lZ2F0aXZlIG51bWJl
ciAoLTIxNDc0ODM2NDgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MTQxNgorCisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmg6
CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpicmFuY2gzMik6CisgICAgICAgICog
dGVzdHMvbW96aWxsYS9lY21hL0V4cHJlc3Npb25zLzExLjEyLTEuanM6CisgICAgICAgIChnZXRU
ZXN0Q2FzZXMpOgorCiAyMDExLTA1LTI2ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oCShyZXZp
c2lvbiA4NzQ2NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJBUk0uaAkod29ya2luZyBjb3B5KQpAQCAtNDE2LDcgKzQxNiw3IEBAIHB1YmxpYzoKICAg
ICAgICAgICAgIG1fYXNzZW1ibGVyLmxkcl91bl9pbW0oQVJNUmVnaXN0ZXJzOjpTMCwgcmlnaHQu
bV92YWx1ZSk7CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5jbXBfcihsZWZ0LCBBUk1SZWdpc3Rl
cnM6OlMwKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIEFSTVdvcmQgdG1wID0gbV9h
c3NlbWJsZXIuZ2V0T3AyKC1yaWdodC5tX3ZhbHVlKTsKKyAgICAgICAgICAgIEFSTVdvcmQgdG1w
ID0gKHJpZ2h0Lm1fdmFsdWUgPT0gMHg4MDAwMDAwMCkgPyBBUk1Bc3NlbWJsZXI6OklOVkFMSURf
SU1NIDogbV9hc3NlbWJsZXIuZ2V0T3AyKC1yaWdodC5tX3ZhbHVlKTsKICAgICAgICAgICAgIGlm
ICh0bXAgIT0gQVJNQXNzZW1ibGVyOjpJTlZBTElEX0lNTSkKICAgICAgICAgICAgICAgICBtX2Fz
c2VtYmxlci5jbW5fcihsZWZ0LCB0bXApOwogICAgICAgICAgICAgZWxzZQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL21vemlsbGEvZWNtYS9FeHByZXNzaW9ucy8xMS4xMi0xLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9tb3ppbGxhL2VjbWEv
RXhwcmVzc2lvbnMvMTEuMTItMS5qcwkocmV2aXNpb24gODc0NjYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvbW96aWxsYS9lY21hL0V4cHJlc3Npb25zLzExLjEyLTEuanMJKHdvcmtp
bmcgY29weSkKQEAgLTY5LDYgKzY5LDggQEAgZnVuY3Rpb24gZ2V0VGVzdENhc2VzKCkgewogCiAg
ICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgICAgInZhciBWQVIgPSB0
cnVlID8gLCA6ICdGQUlMRUQnIiwgIlBBU1NFRCIsICAgICAgICAgICAoVkFSID0gdHJ1ZSA/ICJQ
QVNTRUQiIDogIkZBSUxFRCIpICk7CiAKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNl
KCBTRUNUSU9OLCAgICAiaXRlbSA9ICIgKyBpdGVtICsiOyBWQVIgPSAoaXRlbSA8IC0yMTQ3NDgz
NjQ4KSA/ICdGQUlMRUQnIDogJ1BBU1NFRCciLCAiUEFTU0VEIiwgICAgICAgICAgIChWQVIgPSAo
aXRlbSA8IC0yMTQ3NDgzNjQ4KSA/ICJGQUlMRUQiIDogIlBBU1NFRCIpICk7CisKICAgICByZXR1
cm4gKCBhcnJheSApOwogfQogZnVuY3Rpb24gdGVzdCgpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>