<?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>104734</bug_id>
          
          <creation_ts>2012-12-11 15:55:05 -0800</creation_ts>
          <short_desc>[V8] Reachable event listeners on image elements can be collected in a minor DOM GC</short_desc>
          <delta_ts>2012-12-11 21:59:49 -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>WebCore JavaScript</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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>bajones</cc>
    
    <cc>gman</cc>
    
    <cc>japhet</cc>
    
    <cc>kbr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>788897</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-11 15:55:05 -0800</bug_when>
    <thetext>Chromium bug: http://code.google.com/p/chromium/issues/detail?id=164882</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788916</commentid>
    <comment_count>1</comment_count>
      <attachid>178908</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-11 16:07:09 -0800</bug_when>
    <thetext>Created attachment 178908
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788934</commentid>
    <comment_count>2</comment_count>
      <attachid>178908</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-12-11 16:18:13 -0800</bug_when>
    <thetext>Comment on attachment 178908
Patch

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

The code change looks OK as an immediate patch. Please make the comments more precise. I am concerned that this is only one example of a pattern where a DOM related object has a JavaScript callback, and that the new minor DOM GC may be collecting the JavaScript wrappers for those objects too eagerly, causing callbacks to randomly not be called. I&apos;m concerned about XMLHttpRequest in particular. I think the V8 team and all reviewers of the minor DOM GC algorithm should be engaged urgently to discuss what is going on here. r=me

&gt; Source/WebCore/ChangeLog:16
&gt; +        However, as far as I experimented, it looks like this patch fixes the bug.

Is the test case tf-test.zip attached to https://code.google.com/p/chromium/issues/detail?id=164882 sufficient?

&gt; Source/WebCore/bindings/v8/V8GCController.cpp:226
&gt; +            // FIXME: I&apos;m not sure why node-&gt;hasEventListeners() is needed.

It seems to me that the JavaScript wrapper for the Image element is being garbage collected too early. I think it is worth mentioning this in the comment.

&gt; Source/WebCore/bindings/v8/V8GCController.cpp:227
&gt; +            // But without this check, image loading can crash.

It isn&apos;t that image loading can crash; it is that the image&apos;s onload handler is never called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788960</commentid>
    <comment_count>3</comment_count>
      <attachid>178916</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-11 16:38:23 -0800</bug_when>
    <thetext>Created attachment 178916
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788978</commentid>
    <comment_count>4</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-11 16:47:32 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 178908 [details])
&gt; 
&gt; &gt; Source/WebCore/bindings/v8/V8GCController.cpp:226
&gt; &gt; +            // FIXME: I&apos;m not sure why node-&gt;hasEventListeners() is needed.
&gt; 
&gt; It seems to me that the JavaScript wrapper for the Image element is being garbage collected too early. I think it is worth mentioning this in the comment.

Improved the comment. Thanks!

&gt; &gt; Source/WebCore/bindings/v8/V8GCController.cpp:227
&gt; &gt; +            // But without this check, image loading can crash.
&gt; 
&gt; It isn&apos;t that image loading can crash; it is that the image&apos;s onload handler is never called.

Fixed.

&gt; I am concerned that this is only one example of a pattern where a DOM related object has a JavaScript callback, and that the new minor DOM GC may be collecting the JavaScript wrappers for those objects too eagerly, causing callbacks to randomly not be called. I&apos;m concerned about XMLHttpRequest in particular. I think the V8 team and all reviewers of the minor DOM GC algorithm should be engaged urgently to discuss what is going on here. r=me

Will investigate. Although XMLHttpRequest is not a problem because it is not a DOM node (XMLHttpRequest is a DOM object and thus the minor GC does nothing), the problem can happen for audio elements and video elements that have some pending activities.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789067</commentid>
    <comment_count>5</comment_count>
      <attachid>178937</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-11 18:00:11 -0800</bug_when>
    <thetext>Created attachment 178937
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789068</commentid>
    <comment_count>6</comment_count>
      <attachid>178937</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-12-11 18:02:20 -0800</bug_when>
    <thetext>Comment on attachment 178937
Patch

Looks good -- but is it not possible to add a test for this? Something along the lines of loading a bunch of images and ensuring that their onload handlers are all eventually called. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789075</commentid>
    <comment_count>7</comment_count>
      <attachid>178937</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-11 18:07:18 -0800</bug_when>
    <thetext>Comment on attachment 178937
Patch

For now let me land the patch, since this is an urgent fix and this change is anyway harmless. Let me seek a good way to test the change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789091</commentid>
    <comment_count>8</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-12-11 18:23:44 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 178937 [details])
&gt; For now let me land the patch, since this is an urgent fix and this change is anyway harmless. Let me seek a good way to test the change.

Agree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789188</commentid>
    <comment_count>9</comment_count>
      <attachid>178937</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 21:59:46 -0800</bug_when>
    <thetext>Comment on attachment 178937
Patch

Clearing flags on attachment: 178937

Committed r137415: &lt;http://trac.webkit.org/changeset/137415&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789189</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 21:59:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178908</attachid>
            <date>2012-12-11 16:07:09 -0800</date>
            <delta_ts>2012-12-11 16:38:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104734-20121212090430.patch</filename>
            <type>text/plain</type>
            <size>2713</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3Mjk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM3ZTQzNDZkMTM4Mjdh
NmNmZjU5NDg1NzQ0ZTEzZjY4Nzc0MTcwOS4uYzA3MzYzZDg3Mzk3ZWUwMDgwYjM3ZGNlN2QzMjRj
ZGVmYjQ0YzFkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTEyLTExICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIFJlYWNoYWJs
ZSBldmVudCBsaXN0ZW5lcnMgb24gaW1hZ2UgZWxlbWVudHMgY2FuIGJlIGNvbGxlY3RlZCBpbiBh
IG1pbm9yIERPTSBHQworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA0NzM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ2hyb21pdW0gYnVnOiBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNz
dWVzL2RldGFpbD9pZD0xNjQ4ODIKKworICAgICAgICBUaGlzIGlzIGEgc3BlY3VsYXRpdmUgZml4
LgorCisgICAgICAgIC0gQmVjYXVzZSB0aGlzIGlzIGEgUDAgYnVnIGluIENocm9taXVtLCB3ZSBu
ZWVkIHRvIGZpeCBpdCBhcyBzb29uIGFzIHBvc3NpYmxlLgorCisgICAgICAgIC0gSSBkb24ndCB5
ZXQgZmlndXJlIG91dCBpbiB3aGF0IHNpdHVhdGlvbiB0aGUgYnVnIGhhcHBlbnMuIEkgbmVlZCBh
IHJlZHVjZWQgdGVzdCBjYXNlCisgICAgICAgIHRvIHJlcHJvZHVjZSB0aGUgYnVnLiBUaHVzLCBJ
IGRvbid0IHVuZGVyc3RhbmQgd2h5IHRoaXMgcGF0Y2ggZml4ZXMgdGhlIGJ1Zy4KKyAgICAgICAg
SG93ZXZlciwgYXMgZmFyIGFzIEkgZXhwZXJpbWVudGVkLCBpdCBsb29rcyBsaWtlIHRoaXMgcGF0
Y2ggZml4ZXMgdGhlIGJ1Zy4KKworICAgICAgICAtIFRoaXMgcGF0Y2ggaXMgYW55d2F5IGhhcm1s
ZXNzLiBUaGlzIHBhdGNoIGp1c3Qgd2Vha2VucyB0aGUgY29uZGl0aW9uIHVuZGVyIHdoaWNoIHRo
ZSBtaW5vcgorICAgICAgICBET00gR0MgY2FuIGNvbGxlY3QgRE9NIG5vZGVzLiBQcmV2aW91c2x5
LCBhIERPTSB0cmVlIHRoYXQgY29uc2lzdHMgb2YgRE9NIG5vZGVzIHdob3NlCisgICAgICAgIHdy
YXBwZXJzIGFyZSBhbGwgaW4gVjgncyBuZXcgc3BhY2Ugd2FzIGNvbGxlY3RlZCBieSB0aGUgbWlu
b3IgRE9NIEdDLCByZWdhcmRsZXNzIG9mCisgICAgICAgIGV2ZW50IGxpc3RlbmVycyBvbiB0aG9z
ZSBub2Rlcy4gQWZ0ZXIgdGhpcyBwYXRjaCwgaWYgdGhlIERPTSB0cmVlIGNvbnRhaW5zIGFueSBE
T00gbm9kZQorICAgICAgICB0aGF0IGhhcyBldmVudCBsaXN0ZW5lcnMsIHRoZW4gdGhlIERPTSB0
cmVlIGlzIG5vdCBjb2xsZWN0ZWQgYnkgbWlub3IgRE9NIEdDLgorCisgICAgICAgICogYmluZGlu
Z3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2NUcmVlKToKKwog
MjAxMi0xMi0xMSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IER1cGxpY2F0ZSBlbXVsYXRlZCB0b3VjaCBldmVudHMgaW4g
aWZyYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDQ29udHJv
bGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHAK
aW5kZXggYjU3MzE5NzE3MGVmMWFjOThlMmE0ZWRkYzY2ZDY4MjUwZWE3NWZlNy4uOGJjNDgxZTA3
OTYxNTM2ZmJmNWRjMGViZTE5OGRmNWViOWY4OWNhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcApAQCAtMjIzLDcgKzIyMywxMCBAQCBzdGF0aWMg
dm9pZCBnY1RyZWUoTm9kZSogc3RhcnROb2RlKQogICAgIGRvIHsKICAgICAgICAgQVNTRVJUKG5v
ZGUpOwogICAgICAgICBpZiAoIW5vZGUtPndyYXBwZXIoKS5Jc0VtcHR5KCkpIHsKLSAgICAgICAg
ICAgIGlmICghbm9kZS0+aXNWOENvbGxlY3RhYmxlRHVyaW5nTWlub3JHQygpKSB7CisgICAgICAg
ICAgICAvLyBGSVhNRTogSSdtIG5vdCBzdXJlIHdoeSBub2RlLT5oYXNFdmVudExpc3RlbmVycygp
IGlzIG5lZWRlZC4KKyAgICAgICAgICAgIC8vIEJ1dCB3aXRob3V0IHRoaXMgY2hlY2ssIGltYWdl
IGxvYWRpbmcgY2FuIGNyYXNoLgorICAgICAgICAgICAgLy8gU2VlIGh0dHA6Ly9jb2RlLmdvb2ds
ZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTE2NDg4MgorICAgICAgICAgICAgaWYg
KCFub2RlLT5pc1Y4Q29sbGVjdGFibGVEdXJpbmdNaW5vckdDKCkgfHwgbm9kZS0+aGFzRXZlbnRM
aXN0ZW5lcnMoKSkgewogICAgICAgICAgICAgICAgIC8vIFRoZSBmYWN0IHRoYXQgd2UgZW5jb3Vu
dGVyIGEgbm9kZSB0aGF0IGlzIG5vdCBpbiB0aGUgRWRlbiBzcGFjZQogICAgICAgICAgICAgICAg
IC8vIGltcGxpZXMgdGhhdCBpdHMgd3JhcHBlciBtaWdodCBiZSBpbiB0aGUgb2xkIHNwYWNlIG9m
IFY4LgogICAgICAgICAgICAgICAgIC8vIFRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlIG1pbm9yIEdD
IGNhbm5vdCBhbnl3YXkganVkZ2UgcmVhY2hhYmlsaXR5Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178916</attachid>
            <date>2012-12-11 16:38:23 -0800</date>
            <delta_ts>2012-12-11 18:00:08 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-104734-20121212093544.patch</filename>
            <type>text/plain</type>
            <size>3693</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3Mjk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM3ZTQzNDZkMTM4Mjdh
NmNmZjU5NDg1NzQ0ZTEzZjY4Nzc0MTcwOS4uMjVkYzA0NDhmMWRiMzgzY2M4Y2Q2YTljNzA3ZjEy
Y2E3ZGEzZmYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTEyLTExICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIFJlYWNoYWJs
ZSBldmVudCBsaXN0ZW5lcnMgb24gaW1hZ2UgZWxlbWVudHMgY2FuIGJlIGNvbGxlY3RlZCBpbiBh
IG1pbm9yIERPTSBHQworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA0NzM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgorCisg
ICAgICAgIENocm9taXVtIGJ1ZzogaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lz
c3Vlcy9kZXRhaWw/aWQ9MTY0ODgyCisKKyAgICAgICAgVGhpcyBpcyBhIHNwZWN1bGF0aXZlIGZp
eC4KKworICAgICAgICAtIEJlY2F1c2UgdGhpcyBpcyBhIFAwIGJ1ZyBpbiBDaHJvbWl1bSwgd2Ug
bmVlZCB0byBmaXggaXQgYXMgc29vbiBhcyBwb3NzaWJsZS4KKworICAgICAgICAtIEkgZG9uJ3Qg
eWV0IGZpZ3VyZSBvdXQgaW4gd2hhdCBzaXR1YXRpb24gdGhlIGJ1ZyBoYXBwZW5zLiBJIG5lZWQg
YSByZWR1Y2VkIHRlc3QgY2FzZQorICAgICAgICB0byByZXByb2R1Y2UgdGhlIGJ1Zy4gVGh1cywg
SSBkb24ndCB1bmRlcnN0YW5kIHdoeSB0aGlzIHBhdGNoIGZpeGVzIHRoZSBidWcuCisgICAgICAg
IEhvd2V2ZXIsIGFzIGZhciBhcyBJIGV4cGVyaW1lbnRlZCwgaXQgbG9va3MgbGlrZSB0aGlzIHBh
dGNoIGZpeGVzIHRoZSBidWcuCisKKyAgICAgICAgLSBUaGlzIHBhdGNoIGlzIGFueXdheSBoYXJt
bGVzcy4gVGhpcyBwYXRjaCBqdXN0IHdlYWtlbnMgdGhlIGNvbmRpdGlvbiB1bmRlciB3aGljaCB0
aGUgbWlub3IKKyAgICAgICAgRE9NIEdDIGNhbiBjb2xsZWN0IERPTSBub2Rlcy4gUHJldmlvdXNs
eSwgYSBET00gdHJlZSB0aGF0IGNvbnNpc3RzIG9mIERPTSBub2RlcyB3aG9zZQorICAgICAgICB3
cmFwcGVycyBhcmUgYWxsIGluIFY4J3MgbmV3IHNwYWNlIHdhcyBjb2xsZWN0ZWQgYnkgdGhlIG1p
bm9yIERPTSBHQywgcmVnYXJkbGVzcyBvZgorICAgICAgICBldmVudCBsaXN0ZW5lcnMgb24gdGhv
c2Ugbm9kZXMuIEFmdGVyIHRoaXMgcGF0Y2gsIGlmIHRoZSBET00gdHJlZSBjb250YWlucyBhbnkg
RE9NIG5vZGUKKyAgICAgICAgdGhhdCBoYXMgZXZlbnQgbGlzdGVuZXJzLCB0aGVuIHRoZSBET00g
dHJlZSBpcyBub3QgY29sbGVjdGVkIGJ5IG1pbm9yIERPTSBHQy4KKworICAgICAgICAqIGJpbmRp
bmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdjVHJlZSk6CisK
IDIwMTItMTItMTEgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBEdXBsaWNhdGUgZW11bGF0ZWQgdG91Y2ggZXZlbnRzIGlu
IGlmcmFtZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRy
b2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3Bw
CmluZGV4IGI1NzMxOTcxNzBlZjFhYzk4ZTJhNGVkZGM2NmQ2ODI1MGVhNzVmZTcuLmNiYWM2YWFk
YzUyNjBmMWRjM2FjYWEyZjJhYzdiOTAzNmM3ODE4YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHAKQEAgLTIyMyw3ICsyMjMsMjYgQEAgc3RhdGlj
IHZvaWQgZ2NUcmVlKE5vZGUqIHN0YXJ0Tm9kZSkKICAgICBkbyB7CiAgICAgICAgIEFTU0VSVChu
b2RlKTsKICAgICAgICAgaWYgKCFub2RlLT53cmFwcGVyKCkuSXNFbXB0eSgpKSB7Ci0gICAgICAg
ICAgICBpZiAoIW5vZGUtPmlzVjhDb2xsZWN0YWJsZUR1cmluZ01pbm9yR0MoKSkgeworICAgICAg
ICAgICAgLy8gRklYTUU6IG5vZGUtPmhhc0V2ZW50TGlzdGVuZXJzKCkgaXMgYSBjaGVjayB0aGF0
IGlzIGFkZGVkIGp1c3QgYXMgYW4KKyAgICAgICAgICAgIC8vIGltbWVkaWF0ZSBmaXguIEZpeCB0
aGUgY2hlY2sgY29ycmVjdGx5LgorICAgICAgICAgICAgLy8KKyAgICAgICAgICAgIC8vIFdpdGhv
dXQgdGhpcyBjaGVjaywgSmF2YVNjcmlwdCB3cmFwcGVycyBmb3IgaW1hZ2UgZWxlbWVudHMgdGhh
dCBoYXZlCisgICAgICAgICAgICAvLyBldmVudCBsaXN0ZW5lcnMgYXJlIGdhcmJhZ2UgY29sbGVj
dGVkIHRvbyBlYXJseS4gU3BlY2lmaWNhbGx5LCB0aGUgZm9sbG93aW5nCisgICAgICAgICAgICAv
LyBzY2VuYXJpbyB3b3VsZCBoYXBwZW46CisgICAgICAgICAgICAvLworICAgICAgICAgICAgLy8g
KDEpIEEgbWlub3IgRE9NIEdDIGNvbGxlY3RzIGFuIGltYWdlIGVsZW1lbnQgdGhhdCBoYXMgZXZl
bnQgbGlzdGVuZXJzLgorICAgICAgICAgICAgLy8gKDIpIEEgbWFqb3IgRE9NIEdDIGNhbm5vdCBh
ZGQgYW4gaW1wbGljaXQgcmVmZXJlbmNlIGZyb20gdGhlIGltYWdlIGVsZW1lbnQKKyAgICAgICAg
ICAgIC8vIHRvIHRoZSBldmVudCBsaXN0ZW5lcnMsIGJlY2F1c2UgdGhlIGltYWdlIGVsZW1lbnQg
aXMgYWxyZWFkeSBjb2xsZWN0ZWQuCisgICAgICAgICAgICAvLyAoMykgVGh1cywgdGhlIGV2ZW50
IGxpc3RlbmVycyBhcmUgY29sbGVjdGVkIGluIHRoZSBtYWpvciBET00gR0MuCisgICAgICAgICAg
ICAvLyAoNCkgTGF0ZXIsIHRoZSBldmVudCBsaXN0ZW5lcnMgYXJlIGludm9rZWQuIFNpbmNlIHRo
ZXkgYXJlIGFscmVhZHkgY29sbGVjdGVkLAorICAgICAgICAgICAgLy8gbm90aGluZyBoYXBwZW5z
LgorICAgICAgICAgICAgLy8gCisgICAgICAgICAgICAvLyBTZWUgaHR0cDovL2NvZGUuZ29vZ2xl
LmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9MTY0ODgyCisgICAgICAgICAgICAvLyBh
bmQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDczNCBmb3IgbW9y
ZSBkZXRhaWxzLgorICAgICAgICAgICAgLy8KKyAgICAgICAgICAgIC8vIEFjdHVhbGx5IEkgZG9u
J3QgZnVsbHkgdW5kZXJzdGFuZCBpbiB3aGF0IHNpdHVhdGlvbiB0aGUgYWJvdmUgc2NlbmFyaW8g
aGFwcGVucy4KKyAgICAgICAgICAgIC8vIE5lZWRzIG1vcmUgaW52ZXN0aWdhdGlvbnMuCisgICAg
ICAgICAgICBpZiAoIW5vZGUtPmlzVjhDb2xsZWN0YWJsZUR1cmluZ01pbm9yR0MoKSB8fCBub2Rl
LT5oYXNFdmVudExpc3RlbmVycygpKSB7CiAgICAgICAgICAgICAgICAgLy8gVGhlIGZhY3QgdGhh
dCB3ZSBlbmNvdW50ZXIgYSBub2RlIHRoYXQgaXMgbm90IGluIHRoZSBFZGVuIHNwYWNlCiAgICAg
ICAgICAgICAgICAgLy8gaW1wbGllcyB0aGF0IGl0cyB3cmFwcGVyIG1pZ2h0IGJlIGluIHRoZSBv
bGQgc3BhY2Ugb2YgVjguCiAgICAgICAgICAgICAgICAgLy8gVGhpcyBpbmRpY2F0ZXMgdGhhdCB0
aGUgbWlub3IgR0MgY2Fubm90IGFueXdheSBqdWRnZSByZWFjaGFiaWxpdHkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178937</attachid>
            <date>2012-12-11 18:00:11 -0800</date>
            <delta_ts>2012-12-11 21:59:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104734-20121212105732.patch</filename>
            <type>text/plain</type>
            <size>3259</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3Mjk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM3ZTQzNDZkMTM4Mjdh
NmNmZjU5NDg1NzQ0ZTEzZjY4Nzc0MTcwOS4uOWVkYzQwMmJjMmE2NDcwYTc1ZDFhYzUyYWYyYWFi
NDQ1ZDdkYTMyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTEyLTExICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIFJlYWNoYWJs
ZSBldmVudCBsaXN0ZW5lcnMgb24gaW1hZ2UgZWxlbWVudHMgY2FuIGJlIGNvbGxlY3RlZCBpbiBh
IG1pbm9yIERPTSBHQworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA0NzM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQSBtYWpvciBET00gR0MgdHJlYXRzIGltYWdlIGVsZW1lbnRzIHNwZWNpYWxseS4gSW4K
KyAgICAgICAgVjhHQ0NvbnRyb2xsZXI6Om9wYXF1ZVJvb3RGb3JHQygpLCBhIG1ham9yIERPTSBH
QyBwdXRzIGltYWdlIGVsZW1lbnRzCisgICAgICAgIHRoYXQgaGF2ZSBwZW5kaW5nIGFjdGl2aXRp
ZXMgaW50byB0aGUgc2FtZSBvYmplY3QgZ3JvdXAgb2YgdGhlaXIgZG9jdW1lbnQuCisgICAgICAg
IFRoaXMgZ3VhcmFudGVlcyB0aGF0IGltYWdlIGVsZW1lbnRzIHRoYXQgaGF2ZSBwZW5kaW5nIGFj
dGl2aXRpZXMKKyAgICAgICAgYXJlIG5vdCBnYXJiYWdlIGNvbGxlY3RlZCBpbiB0aGUgbWFqb3Ig
RE9NIEdDLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgc2FtZSBzcGVjaWFsIGhhbmRs
aW5nIHRvIGEgbWlub3IgRE9NIEdDIHRvIGd1YXJhbnRlZQorICAgICAgICB0aGUgc2FtZSB0aGlu
ZyBpbiB0aGUgbWlub3IgRE9NIEdDIHRvby4KKworICAgICAgICBJbiBsb25nLXRlcm0sIHdlIG1p
Z2h0IHdhbnQgdG8gcmVtb3ZlIHRoZSBzcGVjaWFsIGhhbmRsaW5nIGJ5IG1ha2luZworICAgICAg
ICBpbWFnZSBlbGVtZW50cyBhY3RpdmUgRE9NIG5vZGVzLgorCisgICAgICAgIFRlc3Q6IE1hbnVh
bGx5IGNvbmZpcm1lZCB0aGF0IGFsbCBjaGFyYWN0ZXJzIGluCisgICAgICAgIGh0dHA6Ly9hbHRl
cmVkcXVhbGlhLmNvbS90aHJlZS9leGFtcGxlcy93ZWJnbF9hbmltYXRpb25fc2tpbm5pbmdfdGYy
Lmh0bWwKKyAgICAgICAgYXJlIHJlbmRlcmVkIGNvcnJlY3RseS4KKworICAgICAgICAqIGJpbmRp
bmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4R0NDb250cm9s
bGVyOjpvcGFxdWVSb290Rm9yR0MpOgorICAgICAgICAoV2ViQ29yZTo6Z2NUcmVlKToKKwogMjAx
Mi0xMi0xMSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IER1cGxpY2F0ZSBlbXVsYXRlZCB0b3VjaCBldmVudHMgaW4gaWZy
YW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDQ29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHAKaW5k
ZXggYjU3MzE5NzE3MGVmMWFjOThlMmE0ZWRkYzY2ZDY4MjUwZWE3NWZlNy4uMzdlNjU5NGNhOTY3
YjhhOTljNzliZTRiMzNkNzc5OWFhZmFjNTA4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcApAQCAtMTEzLDYgKzExMywxMCBAQCBwcml2YXRlOgog
CiB2b2lkKiBWOEdDQ29udHJvbGxlcjo6b3BhcXVlUm9vdEZvckdDKE5vZGUqIG5vZGUpCiB7Cisg
ICAgLy8gRklYTUU6IFJlbW92ZSB0aGUgc3BlY2lhbCBoYW5kbGluZyBmb3IgaW1hZ2UgZWxlbWVu
dHMuCisgICAgLy8gVGhlIHNhbWUgc3BlY2lhbCBoYW5kbGluZyBpcyBpbiBWOEdDQ29udHJvbGxl
cjo6Z2NUcmVlKCkuCisgICAgLy8gTWF5YmUgc2hvdWxkIGltYWdlIGVsZW1lbnRzIGJlIGFjdGl2
ZSBET00gbm9kZXM/CisgICAgLy8gU2VlIGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21p
dW0vaXNzdWVzL2RldGFpbD9pZD0xNjQ4ODIKICAgICBpZiAobm9kZS0+aW5Eb2N1bWVudCgpIHx8
IChub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW1nVGFnKSAmJiBzdGF0aWNfY2FzdDxIVE1M
SW1hZ2VFbGVtZW50Kj4obm9kZSktPmhhc1BlbmRpbmdBY3Rpdml0eSgpKSkKICAgICAgICAgcmV0
dXJuIG5vZGUtPmRvY3VtZW50KCk7CiAKQEAgLTIyMyw3ICsyMjcsMTEgQEAgc3RhdGljIHZvaWQg
Z2NUcmVlKE5vZGUqIHN0YXJ0Tm9kZSkKICAgICBkbyB7CiAgICAgICAgIEFTU0VSVChub2RlKTsK
ICAgICAgICAgaWYgKCFub2RlLT53cmFwcGVyKCkuSXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBp
ZiAoIW5vZGUtPmlzVjhDb2xsZWN0YWJsZUR1cmluZ01pbm9yR0MoKSkgeworICAgICAgICAgICAg
Ly8gRklYTUU6IFJlbW92ZSB0aGUgc3BlY2lhbCBoYW5kbGluZyBmb3IgaW1hZ2UgZWxlbWVudHMu
CisgICAgICAgICAgICAvLyBUaGUgc2FtZSBzcGVjaWFsIGhhbmRsaW5nIGlzIGluIFY4R0NDb250
cm9sbGVyOjpvcGFxdWVSb290Rm9yR0MoKS4KKyAgICAgICAgICAgIC8vIE1heWJlIHNob3VsZCBp
bWFnZSBlbGVtZW50cyBiZSBhY3RpdmUgRE9NIG5vZGVzPworICAgICAgICAgICAgLy8gU2VlIGh0
dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0xNjQ4ODIK
KyAgICAgICAgICAgIGlmICghbm9kZS0+aXNWOENvbGxlY3RhYmxlRHVyaW5nTWlub3JHQygpIHx8
IChub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW1nVGFnKSAmJiBzdGF0aWNfY2FzdDxIVE1M
SW1hZ2VFbGVtZW50Kj4obm9kZSktPmhhc1BlbmRpbmdBY3Rpdml0eSgpKSkgewogICAgICAgICAg
ICAgICAgIC8vIFRoZSBmYWN0IHRoYXQgd2UgZW5jb3VudGVyIGEgbm9kZSB0aGF0IGlzIG5vdCBp
biB0aGUgRWRlbiBzcGFjZQogICAgICAgICAgICAgICAgIC8vIGltcGxpZXMgdGhhdCBpdHMgd3Jh
cHBlciBtaWdodCBiZSBpbiB0aGUgb2xkIHNwYWNlIG9mIFY4LgogICAgICAgICAgICAgICAgIC8v
IFRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlIG1pbm9yIEdDIGNhbm5vdCBhbnl3YXkganVkZ2UgcmVh
Y2hhYmlsaXR5Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>