<?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>82310</bug_id>
          
          <creation_ts>2012-03-27 01:59:17 -0700</creation_ts>
          <short_desc>Handle DRT crash caused by Android OOM.</short_desc>
          <delta_ts>2012-03-27 20:05:53 -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>New Bugs</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="Hao Zheng">zhenghao</reporter>
          <assigned_to name="Hao Zheng">zhenghao</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>588661</commentid>
    <comment_count>0</comment_count>
    <who name="Hao Zheng">zhenghao</who>
    <bug_when>2012-03-27 01:59:17 -0700</bug_when>
    <thetext>Handle DRT crash caused by Android OOM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588662</commentid>
    <comment_count>1</comment_count>
      <attachid>134003</attachid>
    <who name="Hao Zheng">zhenghao</who>
    <bug_when>2012-03-27 02:05:29 -0700</bug_when>
    <thetext>Created attachment 134003
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588670</commentid>
    <comment_count>2</comment_count>
      <attachid>134003</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-27 02:16:45 -0700</bug_when>
    <thetext>Comment on attachment 134003
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:580
&gt; +        if crash and line is not None:
&gt; +            error.append(line)

I&apos;m not sure I quite understand what these lines do.  Can you explain a bit more?

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_android.py:484
&gt; +            if drt_return == 137:

Can we name this constant?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588671</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-27 02:17:02 -0700</bug_when>
    <thetext>This looks fine, I&apos;m just unsure about the change to chromium.py.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588676</commentid>
    <comment_count>4</comment_count>
    <who name="Hao Zheng">zhenghao</who>
    <bug_when>2012-03-27 02:23:20 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 134003 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=134003&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:580
&gt; &gt; +        if crash and line is not None:
&gt; &gt; +            error.append(line)
&gt; 
&gt; I&apos;m not sure I quite understand what these lines do.  Can you explain a bit more?
&gt; 

Sure. This is to append the last output line when crash happens.

&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_android.py:484
&gt; &gt; +            if drt_return == 137:
&gt; 
&gt; Can we name this constant?

Will replace with signal.SIGKILL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588679</commentid>
    <comment_count>5</comment_count>
      <attachid>134003</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-27 02:24:34 -0700</bug_when>
    <thetext>Comment on attachment 134003
Patch

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

Ok.

&gt;&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:580
&gt;&gt;&gt; +            error.append(line)
&gt;&gt; 
&gt;&gt; I&apos;m not sure I quite understand what these lines do.  Can you explain a bit more?
&gt; 
&gt; Sure. This is to append the last output line when crash happens.

I see.  Previously we were truncating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588689</commentid>
    <comment_count>6</comment_count>
      <attachid>134009</attachid>
    <who name="Hao Zheng">zhenghao</who>
    <bug_when>2012-03-27 02:38:51 -0700</bug_when>
    <thetext>Created attachment 134009
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589002</commentid>
    <comment_count>7</comment_count>
      <attachid>134009</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-03-27 10:09:24 -0700</bug_when>
    <thetext>Comment on attachment 134009
Patch

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

Should there be test cases for this?

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_android.py:551
&gt; +        return None if (return_match is None) else int(return_match.group(1))

Nit: This could be &quot;return return_match and int(return_match.group(1))&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589614</commentid>
    <comment_count>8</comment_count>
      <attachid>134009</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-27 19:50:15 -0700</bug_when>
    <thetext>Comment on attachment 134009
Patch

Rejecting attachment 134009 from commit-queue.

zhenghao@chromium.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589615</commentid>
    <comment_count>9</comment_count>
    <who name="Hao Zheng">zhenghao</who>
    <bug_when>2012-03-27 19:55:33 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 134009 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=134009&amp;action=review
&gt; 
&gt; Should there be test cases for this?
&gt; 

As it involves adb command and a recursion of 10 levels, I could not find a good way to test it. Any suggestion on this? I could add tests in https://bugs.webkit.org/show_bug.cgi?id=80852 .

&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_android.py:551
&gt; &gt; +        return None if (return_match is None) else int(return_match.group(1))
&gt; 
&gt; Nit: This could be &quot;return return_match and int(return_match.group(1))&quot;.

Ternary operator looks more readable to me. Is there any style guideline on this?

Tony, as I don&apos;t have commit right, could you set commit-queue for me? Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589618</commentid>
    <comment_count>10</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-03-27 19:57:57 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #7)
&gt; &gt; (From update of attachment 134009 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=134009&amp;action=review
&gt; &gt; 
&gt; &gt; Should there be test cases for this?
&gt; &gt; 
&gt; 
&gt; As it involves adb command and a recursion of 10 levels, I could not find a good way to test it. Any suggestion on this? I could add tests in https://bugs.webkit.org/show_bug.cgi?id=80852 .

Can you mock out adb?

&gt; &gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_android.py:551
&gt; &gt; &gt; +        return None if (return_match is None) else int(return_match.group(1))
&gt; &gt; 
&gt; &gt; Nit: This could be &quot;return return_match and int(return_match.group(1))&quot;.
&gt; 
&gt; Ternary operator looks more readable to me. Is there any style guideline on this?

No style guide, hence a nit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589620</commentid>
    <comment_count>11</comment_count>
    <who name="Hao Zheng">zhenghao</who>
    <bug_when>2012-03-27 20:01:39 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (In reply to comment #7)
&gt; &gt; &gt; (From update of attachment 134009 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=134009&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; Should there be test cases for this?
&gt; &gt; &gt; 
&gt; &gt; 
&gt; &gt; As it involves adb command and a recursion of 10 levels, I could not find a good way to test it. Any suggestion on this? I could add tests in https://bugs.webkit.org/show_bug.cgi?id=80852 .
&gt; 
&gt; Can you mock out adb?
&gt; 

Good idea. Need some refactoring. Will do in bug 80852.

&gt; &gt; &gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_android.py:551
&gt; &gt; &gt; &gt; +        return None if (return_match is None) else int(return_match.group(1))
&gt; &gt; &gt; 
&gt; &gt; &gt; Nit: This could be &quot;return return_match and int(return_match.group(1))&quot;.
&gt; &gt; 
&gt; &gt; Ternary operator looks more readable to me. Is there any style guideline on this?
&gt; 
&gt; No style guide, hence a nit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589622</commentid>
    <comment_count>12</comment_count>
      <attachid>134009</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-27 20:05:48 -0700</bug_when>
    <thetext>Comment on attachment 134009
Patch

Clearing flags on attachment: 134009

Committed r112359: &lt;http://trac.webkit.org/changeset/112359&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589623</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-27 20:05:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134003</attachid>
            <date>2012-03-27 02:05:29 -0700</date>
            <delta_ts>2012-03-27 02:38:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82310-20120327170527.patch</filename>
            <type>text/plain</type>
            <size>6676</size>
            <attacher name="Hao Zheng">zhenghao</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMjA5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTg3YWEwMDA4YjEzNTdmNTQ2ZWE4MGUxMzZkMGQ4OTQ3
YmQyYjQ2Zi4uNjk3OTgwMjIxNzY1MjA2MjM4YjBjYzJhYzdmMjc2NmY5OTdkMDQ0YyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDEyLTAzLTI3ICBIYW8gWmhlbmcgIDx6aGVuZ2hhb0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgSGFuZGxlIERSVCBjcmFzaCBjYXVzZWQgYnkgQW5kcm9pZCBPT00uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjMxMAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gQW5kcm9pZCBpcyBPT00s
IGl0IHNlbmRzIGEgU0lHS0lMTCAoMTM3KSBzaWduYWwgdG8gRFJULiBEUlQKKyAgICAgICAgaXMg
c3RvcHBlZCBzaWxlbnRseSBhbmQgcmVnYXJkZWQgYXMgY3Jhc2hlZC4gUmUtcnVuIHRoZSB0ZXN0
IGZvcgorICAgICAgICBzdWNoIGNyYXNoLgorCisgICAgICAgIEFkZCBzb21lIGRlYnVnIGxvZyB0
byBOUldULgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9j
aHJvbWl1bS5weToKKyAgICAgICAgKENocm9taXVtRHJpdmVyLnJ1bl90ZXN0KToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2FuZHJvaWQucHk6
CisgICAgICAgIChDaHJvbWl1bUFuZHJvaWRQb3J0Ll9faW5pdF9fKToKKyAgICAgICAgKENocm9t
aXVtQW5kcm9pZFBvcnQuZ2V0X2xhc3Rfc3RhY2t0cmFjZSk6CisgICAgICAgIChDaHJvbWl1bUFu
ZHJvaWREcml2ZXIuX19pbml0X18pOgorICAgICAgICAoQ2hyb21pdW1BbmRyb2lkRHJpdmVyLl9z
dGFydCk6CisgICAgICAgIChDaHJvbWl1bUFuZHJvaWREcml2ZXIucnVuX3Rlc3QpOgorICAgICAg
ICAoQ2hyb21pdW1BbmRyb2lkRHJpdmVyLl9nZXRfZHJ0X3JldHVybl92YWx1ZSk6CisKIDIwMTIt
MDMtMjYgIFNjb3R0IEJ5ZXIgIDxzY290dGJ5ZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEVu
YWJsZSBsYXlvdXQgdGVzdGluZyBvZiB0aGUgc2Nyb2xsIGFuaW1hdG9yLgpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkKaW5kZXgg
YWRhNGE4MTJiMTE4Njg2NTJjOGM5YzE0NDEzYTdlYzAxMTYxZDQ2OC4uYmNhMWRiOGFjYzg3MmE3
ZjI1MWU0MjRlMDJmYzBkNWZiY2Y3ZWY0YSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CkBAIC01NzYsNiArNTc2LDggQEAg
Y2xhc3MgQ2hyb21pdW1Ecml2ZXIoRHJpdmVyKToKIAogICAgICAgICAgICAgbGluZSwgY3Jhc2gg
PSBzZWxmLl93cml0ZV9jb21tYW5kX2FuZF9yZWFkX2xpbmUoaW5wdXQ9Tm9uZSkKIAorICAgICAg
ICBpZiBjcmFzaCBhbmQgbGluZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGVycm9yLmFwcGVu
ZChsaW5lKQogICAgICAgICBydW5fdGltZSA9IHRpbWUudGltZSgpIC0gc3RhcnRfdGltZQogICAg
ICAgICBvdXRwdXRfaW1hZ2UgPSBzZWxmLl9vdXRwdXRfaW1hZ2Vfd2l0aF9yZXRyeSgpCiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21p
dW1fYW5kcm9pZC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
Y2hyb21pdW1fYW5kcm9pZC5weQppbmRleCA2MWEyNTNhOTVmMDEyNjRjNWQ1YmE2MTc3MTdjYzgw
NGU5ZmE0OTkzLi40YTc3ZGE4ZmEwY2Y3ZTA2Y2NlNThlMDk3ZGU5YWQxMzk2NDYzM2ViIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVt
X2FuZHJvaWQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9jaHJvbWl1bV9hbmRyb2lkLnB5CkBAIC0yNyw2ICsyNyw4IEBACiAjIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAK
IGltcG9ydCBsb2dnaW5nCitpbXBvcnQgcmUKK2ltcG9ydCB0aW1lCiAKIGZyb20gd2Via2l0cHku
bGF5b3V0X3Rlc3RzLnBvcnQgaW1wb3J0IGNocm9taXVtCiBmcm9tIHdlYmtpdHB5LmxheW91dF90
ZXN0cy5wb3J0IGltcG9ydCBmYWN0b3J5CkBAIC0xNTIsNiArMTU0LDcgQEAgY2xhc3MgQ2hyb21p
dW1BbmRyb2lkUG9ydChjaHJvbWl1bS5DaHJvbWl1bVBvcnQpOgogICAgICAgICBhZGJfYXJncyA9
IHNlbGYuZ2V0X29wdGlvbignYWRiX2FyZ3MnKQogICAgICAgICBpZiBhZGJfYXJnczoKICAgICAg
ICAgICAgIHNlbGYuX2FkYl9jb21tYW5kICs9IHNobGV4LnNwbGl0KGFkYl9hcmdzKQorICAgICAg
ICBzZWxmLl9kcnRfcmV0cnlfYWZ0ZXJfa2lsbGVkID0gMAogCiAgICAgZGVmIGRlZmF1bHRfdGVz
dF90aW1lb3V0X21zKHNlbGYpOgogICAgICAgICAjIEFuZHJvaWQgcGxhdGZvcm0gaGFzIGxlc3Mg
Y29tcHV0aW5nIHBvd2VyIHRoYW4gZGVza3RvcCBwbGF0Zm9ybXMuCkBAIC0zNjEsOSArMzY0LDEw
IEBAIGNsYXNzIENocm9taXVtQW5kcm9pZFBvcnQoY2hyb21pdW0uQ2hyb21pdW1Qb3J0KToKIAog
ICAgIGRlZiBnZXRfbGFzdF9zdGFja3RyYWNlKHNlbGYpOgogICAgICAgICB0b21ic3RvbmVzID0g
c2VsZi5fcnVuX2FkYl9jb21tYW5kKFsnc2hlbGwnLCAnbHMnLCAnLW4nLCAnL2RhdGEvdG9tYnN0
b25lcyddKQotICAgICAgICB0b21ic3RvbmVzID0gdG9tYnN0b25lcy5yc3RyaXAoKS5zcGxpdCgn
XG4nKQogICAgICAgICBpZiBub3QgdG9tYnN0b25lczoKKyAgICAgICAgICAgIF9sb2cuZXJyb3Io
J0RSVCBjcmFzaGVkLCBidXQgbm8gdG9tYnN0b25lIGZvdW5kIScpCiAgICAgICAgICAgICByZXR1
cm4gJycKKyAgICAgICAgdG9tYnN0b25lcyA9IHRvbWJzdG9uZXMucnN0cmlwKCkuc3BsaXQoJ1xu
JykKICAgICAgICAgbGFzdF90b21ic3RvbmUgPSB0b21ic3RvbmVzWzBdLnNwbGl0KCkKICAgICAg
ICAgZm9yIHRvbWJzdG9uZSBpbiB0b21ic3RvbmVzWzE6XToKICAgICAgICAgICAgICMgRm9ybWF0
IG9mIGZpZWxkczoKQEAgLTM5Nyw2ICs0MDEsNyBAQCBjbGFzcyBDaHJvbWl1bUFuZHJvaWREcml2
ZXIoY2hyb21pdW0uQ2hyb21pdW1Ecml2ZXIpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0
LCB3b3JrZXJfbnVtYmVyLCBwaXhlbF90ZXN0cywgbm9fdGltZW91dD1GYWxzZSk6CiAgICAgICAg
IGNocm9taXVtLkNocm9taXVtRHJpdmVyLl9faW5pdF9fKHNlbGYsIHBvcnQsIHdvcmtlcl9udW1i
ZXIsIHBpeGVsX3Rlc3RzLCBub190aW1lb3V0KQogICAgICAgICBzZWxmLl9kZXZpY2VfaW1hZ2Vf
cGF0aCA9IE5vbmUKKyAgICAgICAgc2VsZi5fZHJ0X3JldHVybl9wYXJzZXIgPSByZS5jb21waWxl
KCcjRFJUX1JFVFVSTiAoXGQrKScpCiAKICAgICBkZWYgX3N0YXJ0KHNlbGYsIHBpeGVsX3Rlc3Rz
LCBwZXJfdGVzdF9hcmdzKToKICAgICAgICAgIyBDb252ZXJ0IHRoZSBvcmlnaW5hbCBjb21tYW5k
IGxpbmUgaW50byB0byB0d28gcGFydHM6CkBAIC00NDAsNyArNDQ1LDcgQEAgY2xhc3MgQ2hyb21p
dW1BbmRyb2lkRHJpdmVyKGNocm9taXVtLkNocm9taXVtRHJpdmVyKToKICAgICAgICAgICAgICMg
dGhlIHByb2Nlc3MuIFNsZWVwIDEgc2Vjb25kIChsb25nIGVub3VnaCBmb3IgZGVidWdnZXJkIHRv
IGR1bXAKICAgICAgICAgICAgICMgc3RhY2spIGJlZm9yZSBleGl0aW5nIHRoZSBzaGVsbCB0byBl
bnN1cmUgdGhlIHByb2Nlc3MgaGFzIHF1aXQsCiAgICAgICAgICAgICAjIG90aGVyd2lzZSB0aGUg
ZXhpdCB3aWxsIGZhaWwgYmVjYXVzZSAiWW91IGhhdmUgc3RvcHBlZCBqb2JzIi4KLSAgICAgICAg
ICAgIGRydF9jbWQgPSAnJXMgJXMgMj4lcztzbGVlcCAxO2V4aXRcbicgJSAoREVWSUNFX0RSVF9Q
QVRILCAnICcuam9pbihkcnRfYXJncyksIERFVklDRV9EUlRfU1RERVJSKQorICAgICAgICAgICAg
ZHJ0X2NtZCA9ICclcyAlcyAyPiVzO2VjaG8gIiNEUlRfUkVUVVJOICQ/IjtzbGVlcCAxO2V4aXRc
bicgJSAoREVWSUNFX0RSVF9QQVRILCAnICcuam9pbihkcnRfYXJncyksIERFVklDRV9EUlRfU1RE
RVJSKQogICAgICAgICAgICAgX2xvZy5kZWJ1ZygnU3RhcnRpbmcgRHVtcFJlbmRlclRyZWU6ICcg
KyBkcnRfY21kKQogCiAgICAgICAgICAgICAjIFdhaXQgdW50aWwgRFJUIGVjaG9zICcjUkVBRFkn
LgpAQCAtNDY3LDEzICs0NzIsMzAgQEAgY2xhc3MgQ2hyb21pdW1BbmRyb2lkRHJpdmVyKGNocm9t
aXVtLkNocm9taXVtRHJpdmVyKToKIAogICAgIGRlZiBydW5fdGVzdChzZWxmLCBkcml2ZXJfaW5w
dXQpOgogICAgICAgICBkcml2ZXJfb3V0cHV0ID0gY2hyb21pdW0uQ2hyb21pdW1Ecml2ZXIucnVu
X3Rlc3Qoc2VsZiwgZHJpdmVyX2lucHV0KQorCisgICAgICAgIGRydF9yZXR1cm4gPSBzZWxmLl9n
ZXRfZHJ0X3JldHVybl92YWx1ZShkcml2ZXJfb3V0cHV0LmVycm9yKQorICAgICAgICBpZiBkcnRf
cmV0dXJuIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRHVtcFJlbmRlclRy
ZWUgcmV0dXJuIHZhbHVlOiAlZCcgJSBkcnRfcmV0dXJuKQogICAgICAgICAjIEZJWE1FOiBSZXRy
aWV2ZSBzdGRlcnIgZnJvbSB0aGUgdGFyZ2V0LgogICAgICAgICBpZiBkcml2ZXJfb3V0cHV0LmNy
YXNoOgorICAgICAgICAgICAgIyBXaGVuIEFuZHJvaWQgaXMgT09NLCBpdCBzZW5kcyBhIFNJR0tJ
TEwgKDEzNykgc2lnbmFsIHRvIERSVC4gRFJUCisgICAgICAgICAgICAjIGlzIHN0b3BwZWQgc2ls
ZW50bHkgYW5kIHJlZ2FyZGVkIGFzIGNyYXNoZWQuIFJlLXJ1biB0aGUgdGVzdCBmb3IKKyAgICAg
ICAgICAgICMgc3VjaCBjcmFzaC4KKyAgICAgICAgICAgIGlmIGRydF9yZXR1cm4gPT0gMTM3Ogor
ICAgICAgICAgICAgICAgIHNlbGYuX3BvcnQuX2RydF9yZXRyeV9hZnRlcl9raWxsZWQgKz0gMQor
ICAgICAgICAgICAgICAgIGlmIHNlbGYuX3BvcnQuX2RydF9yZXRyeV9hZnRlcl9raWxsZWQgPiAx
MDoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoJ0R1bXBSZW5kZXJU
cmVlIGlzIGtpbGxlZCBieSBBbmRyb2lkIGZvciB0b28gbWFueSB0aW1lcyEnKQorICAgICAgICAg
ICAgICAgIF9sb2cuZXJyb3IoJ0R1bXBSZW5kZXJUcmVlIGlzIGtpbGxlZCBieSBTSUdLSUxMLiBS
ZXRyeSB0aGUgdGVzdCAoJWQpLicgJSBzZWxmLl9wb3J0Ll9kcnRfcmV0cnlfYWZ0ZXJfa2lsbGVk
KQorICAgICAgICAgICAgICAgIHNlbGYuc3RvcCgpCisgICAgICAgICAgICAgICAgIyBTbGVlcCAx
MCBzZWNvbmRzIHRvIGxldCBzeXN0ZW0gcmVjb3Zlci4KKyAgICAgICAgICAgICAgICB0aW1lLnNs
ZWVwKDEwKQorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl90ZXN0KGRyaXZlcl9pbnB1
dCkKICAgICAgICAgICAgICMgRmV0Y2ggdGhlIHN0YWNrIHRyYWNlIGZyb20gdGhlIHRvbWJzdG9u
ZSBmaWxlLgogICAgICAgICAgICAgIyBGSVhNRTogc29tZXRpbWVzIHRoZSBjcmFzaCBkb2Vzbid0
IHJlYWxseSBoYXBwZW4gc28gdGhhdCBubwogICAgICAgICAgICAgIyB0b21ic3RvbmUgaXMgZ2Vu
ZXJhdGVkLiBJbiB0aGF0IGNhc2Ugd2UgZmV0Y2ggdGhlIHdyb25nIHN0YWNrCiAgICAgICAgICAg
ICAjIHRyYWNlLgotICAgICAgICAgICAgZHJpdmVyX291dHB1dC5lcnJvciArPSBzZWxmLl9wb3J0
LmdldF9sYXN0X3N0YWNrdHJhY2UoKQorICAgICAgICAgICAgZHJpdmVyX291dHB1dC5lcnJvciAr
PSBzZWxmLl9wb3J0LmdldF9sYXN0X3N0YWNrdHJhY2UoKS5lbmNvZGUoJ2FzY2lpJywgJ2lnbm9y
ZScpCisgICAgICAgICAgICBkcml2ZXJfb3V0cHV0LmVycm9yICs9IHNlbGYuX3BvcnQuX3J1bl9h
ZGJfY29tbWFuZChbJ2xvZ2NhdCcsICctZCddKS5lbmNvZGUoJ2FzY2lpJywgJ2lnbm9yZScpCiAg
ICAgICAgIHJldHVybiBkcml2ZXJfb3V0cHV0CiAKICAgICBkZWYgc3RvcChzZWxmKToKQEAgLTUy
Myw2ICs1NDUsMTAgQEAgY2xhc3MgQ2hyb21pdW1BbmRyb2lkRHJpdmVyKGNocm9taXVtLkNocm9t
aXVtRHJpdmVyKToKICAgICAgICAgIyBXZSB1c2UgdGhlIFNoZWxsIG91dHB1dCBhcyBhIGNyYXNo
IGhpbnQuCiAgICAgICAgIHJldHVybiBsaW5lIGlzIG5vdCBOb25lIGFuZCBsaW5lLmZpbmQoJ1sx
XSArIFN0b3BwZWQgKHNpZ25hbCknKSA+PSAwCiAKKyAgICBkZWYgX2dldF9kcnRfcmV0dXJuX3Zh
bHVlKHNlbGYsIGVycm9yKToKKyAgICAgICAgcmV0dXJuX21hdGNoID0gc2VsZi5fZHJ0X3JldHVy
bl9wYXJzZXIuc2VhcmNoKGVycm9yKQorICAgICAgICByZXR1cm4gTm9uZSBpZiAocmV0dXJuX21h
dGNoIGlzIE5vbmUpIGVsc2UgaW50KHJldHVybl9tYXRjaC5ncm91cCgxKSkKKwogICAgIGRlZiBf
cmVhZF9wcm9tcHQoc2VsZik6CiAgICAgICAgIGxhc3RfY2hhciA9ICcnCiAgICAgICAgIHdoaWxl
IFRydWU6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134009</attachid>
            <date>2012-03-27 02:38:51 -0700</date>
            <delta_ts>2012-03-27 20:05:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82310-20120327173848.patch</filename>
            <type>text/plain</type>
            <size>6702</size>
            <attacher name="Hao Zheng">zhenghao</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMjA5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTg3YWEwMDA4YjEzNTdmNTQ2ZWE4MGUxMzZkMGQ4OTQ3
YmQyYjQ2Zi4uNjk3OTgwMjIxNzY1MjA2MjM4YjBjYzJhYzdmMjc2NmY5OTdkMDQ0YyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDEyLTAzLTI3ICBIYW8gWmhlbmcgIDx6aGVuZ2hhb0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgSGFuZGxlIERSVCBjcmFzaCBjYXVzZWQgYnkgQW5kcm9pZCBPT00uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjMxMAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gQW5kcm9pZCBpcyBPT00s
IGl0IHNlbmRzIGEgU0lHS0lMTCAoMTM3KSBzaWduYWwgdG8gRFJULiBEUlQKKyAgICAgICAgaXMg
c3RvcHBlZCBzaWxlbnRseSBhbmQgcmVnYXJkZWQgYXMgY3Jhc2hlZC4gUmUtcnVuIHRoZSB0ZXN0
IGZvcgorICAgICAgICBzdWNoIGNyYXNoLgorCisgICAgICAgIEFkZCBzb21lIGRlYnVnIGxvZyB0
byBOUldULgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9j
aHJvbWl1bS5weToKKyAgICAgICAgKENocm9taXVtRHJpdmVyLnJ1bl90ZXN0KToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2FuZHJvaWQucHk6
CisgICAgICAgIChDaHJvbWl1bUFuZHJvaWRQb3J0Ll9faW5pdF9fKToKKyAgICAgICAgKENocm9t
aXVtQW5kcm9pZFBvcnQuZ2V0X2xhc3Rfc3RhY2t0cmFjZSk6CisgICAgICAgIChDaHJvbWl1bUFu
ZHJvaWREcml2ZXIuX19pbml0X18pOgorICAgICAgICAoQ2hyb21pdW1BbmRyb2lkRHJpdmVyLl9z
dGFydCk6CisgICAgICAgIChDaHJvbWl1bUFuZHJvaWREcml2ZXIucnVuX3Rlc3QpOgorICAgICAg
ICAoQ2hyb21pdW1BbmRyb2lkRHJpdmVyLl9nZXRfZHJ0X3JldHVybl92YWx1ZSk6CisKIDIwMTIt
MDMtMjYgIFNjb3R0IEJ5ZXIgIDxzY290dGJ5ZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEVu
YWJsZSBsYXlvdXQgdGVzdGluZyBvZiB0aGUgc2Nyb2xsIGFuaW1hdG9yLgpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkKaW5kZXgg
YWRhNGE4MTJiMTE4Njg2NTJjOGM5YzE0NDEzYTdlYzAxMTYxZDQ2OC4uYmNhMWRiOGFjYzg3MmE3
ZjI1MWU0MjRlMDJmYzBkNWZiY2Y3ZWY0YSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CkBAIC01NzYsNiArNTc2LDggQEAg
Y2xhc3MgQ2hyb21pdW1Ecml2ZXIoRHJpdmVyKToKIAogICAgICAgICAgICAgbGluZSwgY3Jhc2gg
PSBzZWxmLl93cml0ZV9jb21tYW5kX2FuZF9yZWFkX2xpbmUoaW5wdXQ9Tm9uZSkKIAorICAgICAg
ICBpZiBjcmFzaCBhbmQgbGluZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGVycm9yLmFwcGVu
ZChsaW5lKQogICAgICAgICBydW5fdGltZSA9IHRpbWUudGltZSgpIC0gc3RhcnRfdGltZQogICAg
ICAgICBvdXRwdXRfaW1hZ2UgPSBzZWxmLl9vdXRwdXRfaW1hZ2Vfd2l0aF9yZXRyeSgpCiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21p
dW1fYW5kcm9pZC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
Y2hyb21pdW1fYW5kcm9pZC5weQppbmRleCA2MWEyNTNhOTVmMDEyNjRjNWQ1YmE2MTc3MTdjYzgw
NGU5ZmE0OTkzLi43ZTljYTE5N2Y1NmU0MmM5OTk4ZjhmMzkyNmJmNDJhNDUyMTFhMmZmIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVt
X2FuZHJvaWQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9jaHJvbWl1bV9hbmRyb2lkLnB5CkBAIC0yNyw2ICsyNyw5IEBACiAjIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAK
IGltcG9ydCBsb2dnaW5nCitpbXBvcnQgcmUKK2ltcG9ydCBzaWduYWwKK2ltcG9ydCB0aW1lCiAK
IGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQgaW1wb3J0IGNocm9taXVtCiBmcm9tIHdl
YmtpdHB5LmxheW91dF90ZXN0cy5wb3J0IGltcG9ydCBmYWN0b3J5CkBAIC0xNTIsNiArMTU1LDcg
QEAgY2xhc3MgQ2hyb21pdW1BbmRyb2lkUG9ydChjaHJvbWl1bS5DaHJvbWl1bVBvcnQpOgogICAg
ICAgICBhZGJfYXJncyA9IHNlbGYuZ2V0X29wdGlvbignYWRiX2FyZ3MnKQogICAgICAgICBpZiBh
ZGJfYXJnczoKICAgICAgICAgICAgIHNlbGYuX2FkYl9jb21tYW5kICs9IHNobGV4LnNwbGl0KGFk
Yl9hcmdzKQorICAgICAgICBzZWxmLl9kcnRfcmV0cnlfYWZ0ZXJfa2lsbGVkID0gMAogCiAgICAg
ZGVmIGRlZmF1bHRfdGVzdF90aW1lb3V0X21zKHNlbGYpOgogICAgICAgICAjIEFuZHJvaWQgcGxh
dGZvcm0gaGFzIGxlc3MgY29tcHV0aW5nIHBvd2VyIHRoYW4gZGVza3RvcCBwbGF0Zm9ybXMuCkBA
IC0zNjEsOSArMzY1LDEwIEBAIGNsYXNzIENocm9taXVtQW5kcm9pZFBvcnQoY2hyb21pdW0uQ2hy
b21pdW1Qb3J0KToKIAogICAgIGRlZiBnZXRfbGFzdF9zdGFja3RyYWNlKHNlbGYpOgogICAgICAg
ICB0b21ic3RvbmVzID0gc2VsZi5fcnVuX2FkYl9jb21tYW5kKFsnc2hlbGwnLCAnbHMnLCAnLW4n
LCAnL2RhdGEvdG9tYnN0b25lcyddKQotICAgICAgICB0b21ic3RvbmVzID0gdG9tYnN0b25lcy5y
c3RyaXAoKS5zcGxpdCgnXG4nKQogICAgICAgICBpZiBub3QgdG9tYnN0b25lczoKKyAgICAgICAg
ICAgIF9sb2cuZXJyb3IoJ0RSVCBjcmFzaGVkLCBidXQgbm8gdG9tYnN0b25lIGZvdW5kIScpCiAg
ICAgICAgICAgICByZXR1cm4gJycKKyAgICAgICAgdG9tYnN0b25lcyA9IHRvbWJzdG9uZXMucnN0
cmlwKCkuc3BsaXQoJ1xuJykKICAgICAgICAgbGFzdF90b21ic3RvbmUgPSB0b21ic3RvbmVzWzBd
LnNwbGl0KCkKICAgICAgICAgZm9yIHRvbWJzdG9uZSBpbiB0b21ic3RvbmVzWzE6XToKICAgICAg
ICAgICAgICMgRm9ybWF0IG9mIGZpZWxkczoKQEAgLTM5Nyw2ICs0MDIsNyBAQCBjbGFzcyBDaHJv
bWl1bUFuZHJvaWREcml2ZXIoY2hyb21pdW0uQ2hyb21pdW1Ecml2ZXIpOgogICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBwb3J0LCB3b3JrZXJfbnVtYmVyLCBwaXhlbF90ZXN0cywgbm9fdGltZW91dD1G
YWxzZSk6CiAgICAgICAgIGNocm9taXVtLkNocm9taXVtRHJpdmVyLl9faW5pdF9fKHNlbGYsIHBv
cnQsIHdvcmtlcl9udW1iZXIsIHBpeGVsX3Rlc3RzLCBub190aW1lb3V0KQogICAgICAgICBzZWxm
Ll9kZXZpY2VfaW1hZ2VfcGF0aCA9IE5vbmUKKyAgICAgICAgc2VsZi5fZHJ0X3JldHVybl9wYXJz
ZXIgPSByZS5jb21waWxlKCcjRFJUX1JFVFVSTiAoXGQrKScpCiAKICAgICBkZWYgX3N0YXJ0KHNl
bGYsIHBpeGVsX3Rlc3RzLCBwZXJfdGVzdF9hcmdzKToKICAgICAgICAgIyBDb252ZXJ0IHRoZSBv
cmlnaW5hbCBjb21tYW5kIGxpbmUgaW50byB0byB0d28gcGFydHM6CkBAIC00NDAsNyArNDQ2LDcg
QEAgY2xhc3MgQ2hyb21pdW1BbmRyb2lkRHJpdmVyKGNocm9taXVtLkNocm9taXVtRHJpdmVyKToK
ICAgICAgICAgICAgICMgdGhlIHByb2Nlc3MuIFNsZWVwIDEgc2Vjb25kIChsb25nIGVub3VnaCBm
b3IgZGVidWdnZXJkIHRvIGR1bXAKICAgICAgICAgICAgICMgc3RhY2spIGJlZm9yZSBleGl0aW5n
IHRoZSBzaGVsbCB0byBlbnN1cmUgdGhlIHByb2Nlc3MgaGFzIHF1aXQsCiAgICAgICAgICAgICAj
IG90aGVyd2lzZSB0aGUgZXhpdCB3aWxsIGZhaWwgYmVjYXVzZSAiWW91IGhhdmUgc3RvcHBlZCBq
b2JzIi4KLSAgICAgICAgICAgIGRydF9jbWQgPSAnJXMgJXMgMj4lcztzbGVlcCAxO2V4aXRcbicg
JSAoREVWSUNFX0RSVF9QQVRILCAnICcuam9pbihkcnRfYXJncyksIERFVklDRV9EUlRfU1RERVJS
KQorICAgICAgICAgICAgZHJ0X2NtZCA9ICclcyAlcyAyPiVzO2VjaG8gIiNEUlRfUkVUVVJOICQ/
IjtzbGVlcCAxO2V4aXRcbicgJSAoREVWSUNFX0RSVF9QQVRILCAnICcuam9pbihkcnRfYXJncyks
IERFVklDRV9EUlRfU1RERVJSKQogICAgICAgICAgICAgX2xvZy5kZWJ1ZygnU3RhcnRpbmcgRHVt
cFJlbmRlclRyZWU6ICcgKyBkcnRfY21kKQogCiAgICAgICAgICAgICAjIFdhaXQgdW50aWwgRFJU
IGVjaG9zICcjUkVBRFknLgpAQCAtNDY3LDEzICs0NzMsMzAgQEAgY2xhc3MgQ2hyb21pdW1BbmRy
b2lkRHJpdmVyKGNocm9taXVtLkNocm9taXVtRHJpdmVyKToKIAogICAgIGRlZiBydW5fdGVzdChz
ZWxmLCBkcml2ZXJfaW5wdXQpOgogICAgICAgICBkcml2ZXJfb3V0cHV0ID0gY2hyb21pdW0uQ2hy
b21pdW1Ecml2ZXIucnVuX3Rlc3Qoc2VsZiwgZHJpdmVyX2lucHV0KQorCisgICAgICAgIGRydF9y
ZXR1cm4gPSBzZWxmLl9nZXRfZHJ0X3JldHVybl92YWx1ZShkcml2ZXJfb3V0cHV0LmVycm9yKQor
ICAgICAgICBpZiBkcnRfcmV0dXJuIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgX2xvZy5kZWJ1
ZygnRHVtcFJlbmRlclRyZWUgcmV0dXJuIHZhbHVlOiAlZCcgJSBkcnRfcmV0dXJuKQogICAgICAg
ICAjIEZJWE1FOiBSZXRyaWV2ZSBzdGRlcnIgZnJvbSB0aGUgdGFyZ2V0LgogICAgICAgICBpZiBk
cml2ZXJfb3V0cHV0LmNyYXNoOgorICAgICAgICAgICAgIyBXaGVuIEFuZHJvaWQgaXMgT09NLCBp
dCBzZW5kcyBhIFNJR0tJTEwgc2lnbmFsIHRvIERSVC4gRFJUCisgICAgICAgICAgICAjIGlzIHN0
b3BwZWQgc2lsZW50bHkgYW5kIHJlZ2FyZGVkIGFzIGNyYXNoZWQuIFJlLXJ1biB0aGUgdGVzdCBm
b3IKKyAgICAgICAgICAgICMgc3VjaCBjcmFzaC4KKyAgICAgICAgICAgIGlmIGRydF9yZXR1cm4g
PT0gMTI4ICsgc2lnbmFsLlNJR0tJTEw6CisgICAgICAgICAgICAgICAgc2VsZi5fcG9ydC5fZHJ0
X3JldHJ5X2FmdGVyX2tpbGxlZCArPSAxCisgICAgICAgICAgICAgICAgaWYgc2VsZi5fcG9ydC5f
ZHJ0X3JldHJ5X2FmdGVyX2tpbGxlZCA+IDEwOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBB
c3NlcnRpb25FcnJvcignRHVtcFJlbmRlclRyZWUgaXMga2lsbGVkIGJ5IEFuZHJvaWQgZm9yIHRv
byBtYW55IHRpbWVzIScpCisgICAgICAgICAgICAgICAgX2xvZy5lcnJvcignRHVtcFJlbmRlclRy
ZWUgaXMga2lsbGVkIGJ5IFNJR0tJTEwuIFJldHJ5IHRoZSB0ZXN0ICglZCkuJyAlIHNlbGYuX3Bv
cnQuX2RydF9yZXRyeV9hZnRlcl9raWxsZWQpCisgICAgICAgICAgICAgICAgc2VsZi5zdG9wKCkK
KyAgICAgICAgICAgICAgICAjIFNsZWVwIDEwIHNlY29uZHMgdG8gbGV0IHN5c3RlbSByZWNvdmVy
LgorICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoMTApCisgICAgICAgICAgICAgICAgcmV0dXJu
IHNlbGYucnVuX3Rlc3QoZHJpdmVyX2lucHV0KQogICAgICAgICAgICAgIyBGZXRjaCB0aGUgc3Rh
Y2sgdHJhY2UgZnJvbSB0aGUgdG9tYnN0b25lIGZpbGUuCiAgICAgICAgICAgICAjIEZJWE1FOiBz
b21ldGltZXMgdGhlIGNyYXNoIGRvZXNuJ3QgcmVhbGx5IGhhcHBlbiBzbyB0aGF0IG5vCiAgICAg
ICAgICAgICAjIHRvbWJzdG9uZSBpcyBnZW5lcmF0ZWQuIEluIHRoYXQgY2FzZSB3ZSBmZXRjaCB0
aGUgd3Jvbmcgc3RhY2sKICAgICAgICAgICAgICMgdHJhY2UuCi0gICAgICAgICAgICBkcml2ZXJf
b3V0cHV0LmVycm9yICs9IHNlbGYuX3BvcnQuZ2V0X2xhc3Rfc3RhY2t0cmFjZSgpCisgICAgICAg
ICAgICBkcml2ZXJfb3V0cHV0LmVycm9yICs9IHNlbGYuX3BvcnQuZ2V0X2xhc3Rfc3RhY2t0cmFj
ZSgpLmVuY29kZSgnYXNjaWknLCAnaWdub3JlJykKKyAgICAgICAgICAgIGRyaXZlcl9vdXRwdXQu
ZXJyb3IgKz0gc2VsZi5fcG9ydC5fcnVuX2FkYl9jb21tYW5kKFsnbG9nY2F0JywgJy1kJ10pLmVu
Y29kZSgnYXNjaWknLCAnaWdub3JlJykKICAgICAgICAgcmV0dXJuIGRyaXZlcl9vdXRwdXQKIAog
ICAgIGRlZiBzdG9wKHNlbGYpOgpAQCAtNTIzLDYgKzU0NiwxMCBAQCBjbGFzcyBDaHJvbWl1bUFu
ZHJvaWREcml2ZXIoY2hyb21pdW0uQ2hyb21pdW1Ecml2ZXIpOgogICAgICAgICAjIFdlIHVzZSB0
aGUgU2hlbGwgb3V0cHV0IGFzIGEgY3Jhc2ggaGludC4KICAgICAgICAgcmV0dXJuIGxpbmUgaXMg
bm90IE5vbmUgYW5kIGxpbmUuZmluZCgnWzFdICsgU3RvcHBlZCAoc2lnbmFsKScpID49IDAKIAor
ICAgIGRlZiBfZ2V0X2RydF9yZXR1cm5fdmFsdWUoc2VsZiwgZXJyb3IpOgorICAgICAgICByZXR1
cm5fbWF0Y2ggPSBzZWxmLl9kcnRfcmV0dXJuX3BhcnNlci5zZWFyY2goZXJyb3IpCisgICAgICAg
IHJldHVybiBOb25lIGlmIChyZXR1cm5fbWF0Y2ggaXMgTm9uZSkgZWxzZSBpbnQocmV0dXJuX21h
dGNoLmdyb3VwKDEpKQorCiAgICAgZGVmIF9yZWFkX3Byb21wdChzZWxmKToKICAgICAgICAgbGFz
dF9jaGFyID0gJycKICAgICAgICAgd2hpbGUgVHJ1ZToK
</data>

          </attachment>
      

    </bug>

</bugzilla>