<?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>100950</bug_id>
          
          <creation_ts>2012-11-01 05:54:24 -0700</creation_ts>
          <short_desc>[Chromium-Android] Apache doesn&apos;t properly clean up ipc semaphores after a layout test run</short_desc>
          <delta_ts>2012-11-01 11:40:55 -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>Tools / Tests</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>
          
          <blocked>100100</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Peter Beverloo">peter</reporter>
          <assigned_to name="Peter Beverloo">peter</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>ojan</cc>
    
    <cc>wangxianzhu</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>756135</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-11-01 05:54:24 -0700</bug_when>
    <thetext>This is causing more than 100 semaphores to be left on the system, eventually causing apache2 failing to start (and thus the layout test run to abort) with this error:

[error] (28)No space left on device: Cannot create SSLMutex

A workaround is executing this command, which fixes it for two days, but this is not sustainable:

$ ipcs -s | grep chrome-bot | perl -e &apos;while (&lt;STDIN&gt;) { @a=split(/\s+/); print `ipcrm sem $a[1]`}&apos;

We should figure out how to make apache properly clean up the semaphores, as this is causing too much flakiness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756242</commentid>
    <comment_count>1</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-11-01 07:43:43 -0700</bug_when>
    <thetext>Just writing down some of my findings.

Android controls the HTTP server not through Port.start_http_server() and Port.stop_http_server(), like other ports, but instead does so in Port.setup_test_run() and Port.clean_up_test_run(). The comment mentions that we do this because the HTTP server is needed during the whole test-run.

Looking at the test output, it seems like the Manager._clean_up_run() method is not being called for runs which fail with an exception. Therefore we cannot gracefully shut down the HTTP server. This would explain the ipc semaphores not being removed.

It seems like {clean_up,setup}_test_run() is called once per execution of the test runner, whereas the {start,stop}_http_server() methods are called once per run. For example, if we have to retry failing tests, the server would be started again. While this may introduce some delay, the benefit of not changing behavior is that the HTTP server would be shut down in the finally clause of a try/catch block, making it much more likely that it can gracefully shutdown.

I&apos;m going to upload a patch to revert our behavior to be in-line with other ports. Xianzhu, since you wrote this code, could you maybe comment on whether there are other issues I&apos;m forgetting here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756314</commentid>
    <comment_count>2</comment_count>
      <attachid>171865</attachid>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-11-01 09:01:37 -0700</bug_when>
    <thetext>Created attachment 171865
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756323</commentid>
    <comment_count>3</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-11-01 09:13:11 -0700</bug_when>
    <thetext>(In reply to comment #1)

&gt; I&apos;m going to upload a patch to revert our behavior to be in-line with other ports. Xianzhu, since you wrote this code, could you maybe comment on whether there are other issues I&apos;m forgetting here?

Your patch looks good to me. Thanks. Haven&apos;t seen other issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756377</commentid>
    <comment_count>4</comment_count>
      <attachid>171880</attachid>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-11-01 09:57:04 -0700</bug_when>
    <thetext>Created attachment 171880
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756459</commentid>
    <comment_count>5</comment_count>
      <attachid>171880</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-11-01 11:02:43 -0700</bug_when>
    <thetext>Comment on attachment 171880
Patch

seems reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756496</commentid>
    <comment_count>6</comment_count>
      <attachid>171880</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-01 11:40:51 -0700</bug_when>
    <thetext>Comment on attachment 171880
Patch

Clearing flags on attachment: 171880

Committed r133200: &lt;http://trac.webkit.org/changeset/133200&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756497</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-01 11:40:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171865</attachid>
            <date>2012-11-01 09:01:37 -0700</date>
            <delta_ts>2012-11-01 09:57:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100950-20121101155958.patch</filename>
            <type>text/plain</type>
            <size>8312</size>
            <attacher name="Peter Beverloo">peter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMTYxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWMzMjBiYzk0NjVhM2JjZDMzODZiZmYxMmJlYmY3MGM4
ZWRiZjljMy4uZjk3OTFjZjA4YjkwODQ0N2ViNWFkZTAwMmU5NjkzZGZlMDA1NzQxYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4
IEBACisyMDEyLTExLTAxICBQZXRlciBCZXZlcmxvbyAgPHBldGVyQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbQ2hyb21pdW0tQW5kcm9pZF0gQXBhY2hlIGRvZXNuJ3QgcHJvcGVybHkgY2xlYW4g
dXAgaXBjIHNlbWFwaG9yZXMgYWZ0ZXIgYSBsYXlvdXQgdGVzdCBydW4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDk1MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYSB0ZXN0IHJ1biB3b3VsZCBm
YWlsIHRvIGNvbXBsZXRlIGR1ZSB0byBhbiBleGNlcHRpb24gaW4gb25lIG9mCisgICAgICAgIHRo
ZSB3b3JrZXJzLCB0aGUgSFRUUCBzZXJ2ZXIgd291bGRuJ3QgZ2V0IGEgY2hhbmNlIHRvIGdyYWNl
ZnVsbHkgc2h1dAorICAgICAgICBkb3duLiBUaGlzIGNhdXNlZCB0b28gbXVjaCBJUEMgc2VtYXBo
b3JlcyB0byBiZSBsZWZ0IG9uIHRoZSBzZXJ2ZXIsCisgICAgICAgIGNhdXNpbmcgQXBhY2hlIHRv
IGZhaWwgdG8gc3RhcnQgaW4gc3Vic2VxdWVudCBydW5zLgorCisgICAgICAgIEJ5IHVuaWZ5aW5n
IHRoZSBBbmRyb2lkLXNwZWNpZmljIGNvZGUgd2l0aCBvdGhlciBwb3J0cywgd2Ugbm8gbG9uZ2Vy
CisgICAgICAgIGZhaWwgdG8gY2FsbCB0aGUgQ2hyb21pdW1Qb3J0L0Jhc2Ugc2V0dXBfdGVzdF9y
dW4oKSBhbmQgY2xlYW5fdXBfdGVzdF9ydW4oKQorICAgICAgICBtZXRob2RzIGVpdGhlci4gRnVy
dGhlcm1vcmUsIHRoZSBudW1iZXJfb2Zfc2VydmVycyBhcmd1bWVudCBmb3Igc3RhcnRpbmcKKyAg
ICAgICAgdGhlIEhUVFAgc2VydmVyIGlzIG5vdyBhdmFpbGFibGUgYXMgd2VsbC4KKworICAgICAg
ICBCZWNhdXNlIG5vdCBhbGwgdGVzdHMgcmVxdWlyZSBhbiBIVFRQIHNlcnZlciwgaXQncyBub3Qg
Z3VhcmFudGVlZCB0aGF0CisgICAgICAgIGl0IHdpbGwgYmUgc3RhcnRlZC4gQW5kcm9pZCBkZXBl
bmRzIG9uIHRoaXMsIHNvIGFkZCBhIG5ldyBtZXRob2QgdG8gUG9ydAorICAgICAgICBhbmQgb3Zl
cnJpZGUgaXQgZm9yIEFuZHJvaWQ6IHJlcXVpcmVzX2h0dHBfc2VydmVyKCkuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9y
dW5uZXIucHk6CisgICAgICAgIChMYXlvdXRUZXN0UnVubmVyLnJ1bl90ZXN0cyk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weToK
KyAgICAgICAgKE1hbmFnZXIuX3J1bl90ZXN0cyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5OgorICAgICAgICAoUG9ydC50by5yZXF1aXJlc19o
dHRwX3NlcnZlcik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9iYXNlX3VuaXR0ZXN0LnB5OgorICAgICAgICAoUG9ydFRlc3QudGVzdF9kb250X3JlcXVpcmVf
aHR0cF9zZXJ2ZXIpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY2hyb21pdW1fYW5kcm9pZC5weToKKyAgICAgICAgKENocm9taXVtQW5kcm9pZFBvcnQucmVx
dWlyZXNfaHR0cF9zZXJ2ZXIpOgorICAgICAgICAoQ2hyb21pdW1BbmRyb2lkUG9ydC5zdGFydF9o
dHRwX3NlcnZlcik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9jaHJvbWl1bV9hbmRyb2lkX3VuaXR0ZXN0LnB5OgorICAgICAgICAoQ2hyb21pdW1BbmRyb2lk
UG9ydFRlc3QudGVzdF9tdXN0X3JlcXVpcmVfaHR0cF9zZXJ2ZXIpOgorCiAyMDEyLTExLTAxICBZ
YWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQGludGVsLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
LiBDaGFuZ2UgbXkgZW1haWwgYWRkcmVzcy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X3J1bm5lci5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0
X3J1bm5lci5weQppbmRleCA0MjAxMjg2MTllYTZlN2NjZjc0Yzg1OGFlNmRiYTQyZDYxMjRkMzdj
Li40YzhmZTcxODQwYmZiZGNmYzVmYTgxYWIxODQ3MzM3ZmMzNzViNmNhIDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVz
dF9ydW5uZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29u
dHJvbGxlcnMvbGF5b3V0X3Rlc3RfcnVubmVyLnB5CkBAIC0xMjYsNyArMTI2LDcgQEAgY2xhc3Mg
TGF5b3V0VGVzdFJ1bm5lcihvYmplY3QpOgogCiAgICAgICAgIGFsbF9zaGFyZHMgPSBsb2NrZWRf
c2hhcmRzICsgdW5sb2NrZWRfc2hhcmRzCiAgICAgICAgIHNlbGYuX3JlbWFpbmluZ19sb2NrZWRf
c2hhcmRzID0gbG9ja2VkX3NoYXJkcwotICAgICAgICBpZiBsb2NrZWRfc2hhcmRzIGFuZCBzZWxm
Ll9vcHRpb25zLmh0dHA6CisgICAgICAgIGlmIHNlbGYuX3BvcnQucmVxdWlyZXNfaHR0cF9zZXJ2
ZXIoKSBvciAobG9ja2VkX3NoYXJkcyBhbmQgc2VsZi5fb3B0aW9ucy5odHRwKToKICAgICAgICAg
ICAgIHNlbGYuc3RhcnRfc2VydmVyc193aXRoX2xvY2soMiAqIG1pbihudW1fd29ya2VycywgbGVu
KGxvY2tlZF9zaGFyZHMpKSkKIAogICAgICAgICBudW1fd29ya2VycyA9IG1pbihudW1fd29ya2Vy
cywgbGVuKGFsbF9zaGFyZHMpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKaW5kZXggYzBhNzBlNjE1MzBj
YWQyMTI5YmM3NzUyNzQwNWRjYzA0OTVjZTNkYS4uNjM2ZWRkMmJlZWFiYjcxOWI1YzkyODgxMzVi
ZGE1MDY4ZTY5ODU0NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CkBAIC00NTksNyArNDU5LDcgQEAg
Y2xhc3MgTWFuYWdlcihvYmplY3QpOgogCiAgICAgZGVmIF9ydW5fdGVzdHMoc2VsZiwgdGVzdHMs
IHJlc3VsdF9zdW1tYXJ5LCBudW1fd29ya2Vycyk6CiAgICAgICAgIHRlc3RfaW5wdXRzID0gW3Nl
bGYuX3Rlc3RfaW5wdXRfZm9yX2ZpbGUodGVzdCkgZm9yIHRlc3QgaW4gdGVzdHNdCi0gICAgICAg
IG5lZWRzX2h0dHAgPSBhbnkoc2VsZi5faXNfaHR0cF90ZXN0KHRlc3QpIGZvciB0ZXN0IGluIHRl
c3RzKQorICAgICAgICBuZWVkc19odHRwID0gc2VsZi5fcG9ydC5yZXF1aXJlc19odHRwX3NlcnZl
cigpIG9yIGFueShzZWxmLl9pc19odHRwX3Rlc3QodGVzdCkgZm9yIHRlc3QgaW4gdGVzdHMpCiAg
ICAgICAgIG5lZWRzX3dlYnNvY2tldHMgPSBhbnkoc2VsZi5faXNfd2Vic29ja2V0X3Rlc3QodGVz
dCkgZm9yIHRlc3QgaW4gdGVzdHMpCiAgICAgICAgIHJldHVybiBzZWxmLl9ydW5uZXIucnVuX3Rl
c3RzKHRlc3RfaW5wdXRzLCBzZWxmLl9leHBlY3RhdGlvbnMsIHJlc3VsdF9zdW1tYXJ5LCBudW1f
d29ya2VycywgbmVlZHNfaHR0cCwgbmVlZHNfd2Vic29ja2V0cywgc2VsZi5fcmV0cnlpbmcpCiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFz
ZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQpp
bmRleCAzODQ4Zjc3N2U3YzNlYjkxMjY4YjA4YWVkMWMxYmFkMjYyOTliNGRlLi5lYTFlOWQwMzNl
YTBiMTY2NTBlYzllZWM4ODFlZDg3NzZiMTJkMTEwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CkBAIC04OTksNiArODk5LDExIEBAIGNs
YXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgbWV0aG9kLiIiIgogICAgICAgICBwYXNzCiAKKyAg
ICBkZWYgcmVxdWlyZXNfaHR0cF9zZXJ2ZXIoc2VsZik6CisgICAgICAgICIiIkRvZXMgdGhlIHBv
cnQgcmVxdWlyZSBhbiBIVFRQIHNlcnZlciBmb3IgcnVubmluZyB0ZXN0cz8gVGhpcyBjb3VsZAor
ICAgICAgICBiZSB0aGUgY2FzZSB3aGVuIHRoZSB0ZXN0cyBhcmVuJ3QgcnVuIG9uIHRoZSBob3N0
IHBsYXRmb3JtLiIiIgorICAgICAgICByZXR1cm4gRmFsc2UKKwogICAgIGRlZiBzdGFydF9odHRw
X3NlcnZlcihzZWxmLCBhZGRpdGlvbmFsX2RpcnM9Tm9uZSwgbnVtYmVyX29mX3NlcnZlcnM9Tm9u
ZSk6CiAgICAgICAgICIiIlN0YXJ0IGEgd2ViIHNlcnZlci4gUmFpc2UgYW4gZXJyb3IgaWYgaXQg
Y2FuJ3Qgc3RhcnQgb3IgaXMgYWxyZWFkeSBydW5uaW5nLgogCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2VfdW5pdHRlc3QucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2VfdW5pdHRlc3QucHkKaW5k
ZXggNjdiNjFlYTQxNzUyMjcxZWU2N2JkMjJkN2MzNjQ5MmE4YjQwYzAzZi4uMWZlNzVjY2Q0NmRl
MTM0ODVjMWQ1YjAyMTNlYmZkMzRjYjE1NDEwNiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZV91bml0dGVzdC5weQpAQCAtNDU5
LDUgKzQ1OSw5IEBAIGNsYXNzIFBvcnRUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAg
cG9ydCA9IHNlbGYubWFrZV9wb3J0KG9wdGlvbnM9b3B0cGFyc2UuVmFsdWVzKHsnYnVpbGRfZGly
ZWN0b3J5JzogJy9teS1idWlsZC1kaXJlY3RvcnkvJ30pKQogICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHBvcnQuX2J1aWxkX3BhdGgoKSwgJy9teS1idWlsZC1kaXJlY3RvcnkvUmVsZWFzZScpCiAK
KyAgICBkZWYgdGVzdF9kb250X3JlcXVpcmVfaHR0cF9zZXJ2ZXIoc2VsZik6CisgICAgICAgIHBv
cnQgPSBzZWxmLm1ha2VfcG9ydCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5yZXF1
aXJlc19odHRwX3NlcnZlcigpLCBGYWxzZSkKKwogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoK
ICAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fYW5kcm9pZC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fYW5kcm9pZC5weQppbmRleCA2Mzg5ZmVi
NjM1N2NlM2NjNDkwYzAyYzY5MmM1ZmY4MWQ2NzdhNDk2Li43MjNkMGYzYTZhMjk2MWI2OTI2MzZh
ZWIyMzY2MWNkYWQ3YjY5MGMxIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2FuZHJvaWQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9hbmRyb2lkLnB5CkBAIC0yMzIsMjAg
KzIzMiwxNiBAQCBjbGFzcyBDaHJvbWl1bUFuZHJvaWRQb3J0KGNocm9taXVtLkNocm9taXVtUG9y
dCk6CiAgICAgICAgIGFuZHJvaWRfZXhwZWN0YXRpb25zX2ZpbGUgPSBzZWxmLnBhdGhfZnJvbV93
ZWJraXRfYmFzZSgnTGF5b3V0VGVzdHMnLCAncGxhdGZvcm0nLCAnY2hyb21pdW0tYW5kcm9pZCcs
ICdUZXN0RXhwZWN0YXRpb25zJykKICAgICAgICAgcmV0dXJuIHN1cGVyKENocm9taXVtQW5kcm9p
ZFBvcnQsIHNlbGYpLmV4cGVjdGF0aW9uc19maWxlcygpICsgW2FuZHJvaWRfZXhwZWN0YXRpb25z
X2ZpbGVdCiAKLSAgICBkZWYgc3RhcnRfaHR0cF9zZXJ2ZXIoc2VsZiwgYWRkaXRpb25hbF9kaXJz
PU5vbmUsIG51bWJlcl9vZl9zZXJ2ZXJzPTApOgotICAgICAgICAjIFRoZSBodHRwIHNlcnZlciBy
dW5zIGR1cmluZyB0aGUgd2hvbGUgdGVzdGluZyBwZXJpb2QsIHNvIGlnbm9yZSB0aGlzIGNhbGwu
Ci0gICAgICAgIHBhc3MKLQotICAgIGRlZiBzdG9wX2h0dHBfc2VydmVyKHNlbGYpOgotICAgICAg
ICAjIFNhbWUgYXMgc3RhcnRfaHR0cF9zZXJ2ZXIoKS4KLSAgICAgICAgcGFzcwotCi0gICAgZGVm
IHNldHVwX3Rlc3RfcnVuKHNlbGYpOgotICAgICAgICAjIFN0YXJ0IHRoZSBIVFRQIHNlcnZlciBz
byB0aGF0IHRoZSBkZXZpY2UgY2FuIGFjY2VzcyB0aGUgdGVzdCBjYXNlcy4KLSAgICAgICAgc3Vw
ZXIoQ2hyb21pdW1BbmRyb2lkUG9ydCwgc2VsZikuc3RhcnRfaHR0cF9zZXJ2ZXIoYWRkaXRpb25h
bF9kaXJzPXtURVNUX1BBVEhfUFJFRklYOiBzZWxmLmxheW91dF90ZXN0c19kaXIoKX0pCisgICAg
ZGVmIHJlcXVpcmVzX2h0dHBfc2VydmVyKHNlbGYpOgorICAgICAgICAiIiJDaHJvbWl1bSBBbmRy
b2lkIHJ1bnMgdGVzdHMgb24gZGV2aWNlcywgYW5kIHVzZXMgdGhlIEhUVFAgc2VydmVyIHRvCisg
ICAgICAgIHNlcnZlIHRoZSBhY3R1YWwgbGF5b3V0IHRlc3RzIHRvIER1bXBSZW5kZXJUcmVlLiIi
IgorICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgZGVmIGNsZWFuX3VwX3Rlc3RfcnVuKHNlbGYp
OgotICAgICAgICBzdXBlcihDaHJvbWl1bUFuZHJvaWRQb3J0LCBzZWxmKS5zdG9wX2h0dHBfc2Vy
dmVyKCkKKyAgICBkZWYgc3RhcnRfaHR0cF9zZXJ2ZXIoc2VsZiwgYWRkaXRpb25hbF9kaXJzPU5v
bmUsIG51bWJlcl9vZl9zZXJ2ZXJzPTApOgorICAgICAgICBpZiBub3QgYWRkaXRpb25hbF9kaXJz
OgorICAgICAgICAgICAgYWRkaXRpb25hbF9kaXJzID0ge30KKyAgICAgICAgYWRkaXRpb25hbF9k
aXJzW1RFU1RfUEFUSF9QUkVGSVhdID0gc2VsZi5sYXlvdXRfdGVzdHNfZGlyKCkKKyAgICAgICAg
c3VwZXIoQ2hyb21pdW1BbmRyb2lkUG9ydCwgc2VsZikuc3RhcnRfaHR0cF9zZXJ2ZXIoYWRkaXRp
b25hbF9kaXJzLCBudW1iZXJfb2Zfc2VydmVycykKIAogICAgIGRlZiBjcmVhdGVfZHJpdmVyKHNl
bGYsIHdvcmtlcl9udW1iZXIsIG5vX3RpbWVvdXQ9RmFsc2UpOgogICAgICAgICAjIFdlIGRvbid0
IHdhbnQgdGhlIGRlZmF1bHQgRHJpdmVyUHJveHkgd2hpY2ggaXMgbm90IGNvbXBhdGlibGUgd2l0
aCBvdXIgZHJpdmVyLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9jaHJvbWl1bV9hbmRyb2lkX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9hbmRyb2lkX3VuaXR0ZXN0LnB5Cmlu
ZGV4IGJiNDIyOWU2NWJhYjQwMjU0NmRkZWVjZTBiMDM5OWY0MjIwZDUzM2MuLmZjZTY5YzY3ZGY0
OTRkZjZmYTE2NWI3OGRjODRhNGY3NDlmMmUxZWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fYW5kcm9pZF91bml0dGVzdC5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2Fu
ZHJvaWRfdW5pdHRlc3QucHkKQEAgLTE2NSw2ICsxNjUsMTAgQEAgY2xhc3MgQ2hyb21pdW1BbmRy
b2lkUG9ydFRlc3QoY2hyb21pdW1fcG9ydF90ZXN0Y2FzZS5DaHJvbWl1bVBvcnRUZXN0Q2FzZSk6
CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNlbGYubW9ja19ydW5fY29tbWFuZC5fbW9ja19k
ZXZpY2VzWzFdLCBwb3J0Ll9nZXRfZGV2aWNlX3NlcmlhbCgxKSkKICAgICAgICAgc2VsZi5hc3Nl
cnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIHBvcnQuX2dldF9kZXZpY2Vfc2VyaWFsLCAyKQogCisg
ICAgZGVmIHRlc3RfbXVzdF9yZXF1aXJlX2h0dHBfc2VydmVyKHNlbGYpOgorICAgICAgICBwb3J0
ID0gc2VsZi5tYWtlX3BvcnQoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwb3J0LnJlcXVp
cmVzX2h0dHBfc2VydmVyKCksIFRydWUpCisKIAogY2xhc3MgQ2hyb21pdW1BbmRyb2lkRHJpdmVy
VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYpOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171880</attachid>
            <date>2012-11-01 09:57:04 -0700</date>
            <delta_ts>2012-11-01 11:40:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100950-20121101165524.patch</filename>
            <type>text/plain</type>
            <size>8789</size>
            <attacher name="Peter Beverloo">peter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMTYxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWMzMjBiYzk0NjVhM2JjZDMzODZiZmYxMmJlYmY3MGM4
ZWRiZjljMy4uZjk3OTFjZjA4YjkwODQ0N2ViNWFkZTAwMmU5NjkzZGZlMDA1NzQxYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4
IEBACisyMDEyLTExLTAxICBQZXRlciBCZXZlcmxvbyAgPHBldGVyQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbQ2hyb21pdW0tQW5kcm9pZF0gQXBhY2hlIGRvZXNuJ3QgcHJvcGVybHkgY2xlYW4g
dXAgaXBjIHNlbWFwaG9yZXMgYWZ0ZXIgYSBsYXlvdXQgdGVzdCBydW4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDk1MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYSB0ZXN0IHJ1biB3b3VsZCBm
YWlsIHRvIGNvbXBsZXRlIGR1ZSB0byBhbiBleGNlcHRpb24gaW4gb25lIG9mCisgICAgICAgIHRo
ZSB3b3JrZXJzLCB0aGUgSFRUUCBzZXJ2ZXIgd291bGRuJ3QgZ2V0IGEgY2hhbmNlIHRvIGdyYWNl
ZnVsbHkgc2h1dAorICAgICAgICBkb3duLiBUaGlzIGNhdXNlZCB0b28gbXVjaCBJUEMgc2VtYXBo
b3JlcyB0byBiZSBsZWZ0IG9uIHRoZSBzZXJ2ZXIsCisgICAgICAgIGNhdXNpbmcgQXBhY2hlIHRv
IGZhaWwgdG8gc3RhcnQgaW4gc3Vic2VxdWVudCBydW5zLgorCisgICAgICAgIEJ5IHVuaWZ5aW5n
IHRoZSBBbmRyb2lkLXNwZWNpZmljIGNvZGUgd2l0aCBvdGhlciBwb3J0cywgd2Ugbm8gbG9uZ2Vy
CisgICAgICAgIGZhaWwgdG8gY2FsbCB0aGUgQ2hyb21pdW1Qb3J0L0Jhc2Ugc2V0dXBfdGVzdF9y
dW4oKSBhbmQgY2xlYW5fdXBfdGVzdF9ydW4oKQorICAgICAgICBtZXRob2RzIGVpdGhlci4gRnVy
dGhlcm1vcmUsIHRoZSBudW1iZXJfb2Zfc2VydmVycyBhcmd1bWVudCBmb3Igc3RhcnRpbmcKKyAg
ICAgICAgdGhlIEhUVFAgc2VydmVyIGlzIG5vdyBhdmFpbGFibGUgYXMgd2VsbC4KKworICAgICAg
ICBCZWNhdXNlIG5vdCBhbGwgdGVzdHMgcmVxdWlyZSBhbiBIVFRQIHNlcnZlciwgaXQncyBub3Qg
Z3VhcmFudGVlZCB0aGF0CisgICAgICAgIGl0IHdpbGwgYmUgc3RhcnRlZC4gQW5kcm9pZCBkZXBl
bmRzIG9uIHRoaXMsIHNvIGFkZCBhIG5ldyBtZXRob2QgdG8gUG9ydAorICAgICAgICBhbmQgb3Zl
cnJpZGUgaXQgZm9yIEFuZHJvaWQ6IHJlcXVpcmVzX2h0dHBfc2VydmVyKCkuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9y
dW5uZXIucHk6CisgICAgICAgIChMYXlvdXRUZXN0UnVubmVyLnJ1bl90ZXN0cyk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weToK
KyAgICAgICAgKE1hbmFnZXIuX3J1bl90ZXN0cyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5OgorICAgICAgICAoUG9ydC50by5yZXF1aXJlc19o
dHRwX3NlcnZlcik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9iYXNlX3VuaXR0ZXN0LnB5OgorICAgICAgICAoUG9ydFRlc3QudGVzdF9kb250X3JlcXVpcmVf
aHR0cF9zZXJ2ZXIpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY2hyb21pdW1fYW5kcm9pZC5weToKKyAgICAgICAgKENocm9taXVtQW5kcm9pZFBvcnQucmVx
dWlyZXNfaHR0cF9zZXJ2ZXIpOgorICAgICAgICAoQ2hyb21pdW1BbmRyb2lkUG9ydC5zdGFydF9o
dHRwX3NlcnZlcik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9jaHJvbWl1bV9hbmRyb2lkX3VuaXR0ZXN0LnB5OgorICAgICAgICAoQ2hyb21pdW1BbmRyb2lk
UG9ydFRlc3QudGVzdF9tdXN0X3JlcXVpcmVfaHR0cF9zZXJ2ZXIpOgorCiAyMDEyLTExLTAxICBZ
YWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQGludGVsLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
LiBDaGFuZ2UgbXkgZW1haWwgYWRkcmVzcy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X3J1bm5lci5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0
X3J1bm5lci5weQppbmRleCA0MjAxMjg2MTllYTZlN2NjZjc0Yzg1OGFlNmRiYTQyZDYxMjRkMzdj
Li4xN2NiZTMxMjViZDEyOTM3MGRiMTA5M2EyMmYzYzNmMWUwZjJkYTZiIDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVz
dF9ydW5uZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29u
dHJvbGxlcnMvbGF5b3V0X3Rlc3RfcnVubmVyLnB5CkBAIC0xMjYsNyArMTI2LDcgQEAgY2xhc3Mg
TGF5b3V0VGVzdFJ1bm5lcihvYmplY3QpOgogCiAgICAgICAgIGFsbF9zaGFyZHMgPSBsb2NrZWRf
c2hhcmRzICsgdW5sb2NrZWRfc2hhcmRzCiAgICAgICAgIHNlbGYuX3JlbWFpbmluZ19sb2NrZWRf
c2hhcmRzID0gbG9ja2VkX3NoYXJkcwotICAgICAgICBpZiBsb2NrZWRfc2hhcmRzIGFuZCBzZWxm
Ll9vcHRpb25zLmh0dHA6CisgICAgICAgIGlmIHNlbGYuX3BvcnQucmVxdWlyZXNfaHR0cF9zZXJ2
ZXIoKSBvciAobG9ja2VkX3NoYXJkcyBhbmQgc2VsZi5fb3B0aW9ucy5odHRwKToKICAgICAgICAg
ICAgIHNlbGYuc3RhcnRfc2VydmVyc193aXRoX2xvY2soMiAqIG1pbihudW1fd29ya2VycywgbGVu
KGxvY2tlZF9zaGFyZHMpKSkKIAogICAgICAgICBudW1fd29ya2VycyA9IG1pbihudW1fd29ya2Vy
cywgbGVuKGFsbF9zaGFyZHMpKQpAQCAtMjUyLDcgKzI1Miw3IEBAIGNsYXNzIExheW91dFRlc3RS
dW5uZXIob2JqZWN0KToKICAgICAgICAgaW5kZXggPSBmaW5kKGxpc3RfbmFtZSwgc2VsZi5fcmVt
YWluaW5nX2xvY2tlZF9zaGFyZHMpCiAgICAgICAgIGlmIGluZGV4ID49IDA6CiAgICAgICAgICAg
ICBzZWxmLl9yZW1haW5pbmdfbG9ja2VkX3NoYXJkcy5wb3AoaW5kZXgpCi0gICAgICAgICAgICBp
ZiBub3Qgc2VsZi5fcmVtYWluaW5nX2xvY2tlZF9zaGFyZHM6CisgICAgICAgICAgICBpZiBub3Qg
c2VsZi5fcmVtYWluaW5nX2xvY2tlZF9zaGFyZHMgYW5kIG5vdCBzZWxmLl9wb3J0LnJlcXVpcmVz
X2h0dHBfc2VydmVyKCk6CiAgICAgICAgICAgICAgICAgc2VsZi5zdG9wX3NlcnZlcnNfd2l0aF9s
b2NrKCkKIAogICAgIGRlZiBfaGFuZGxlX2ZpbmlzaGVkX3Rlc3Qoc2VsZiwgd29ya2VyX25hbWUs
IHJlc3VsdCwgZWxhcHNlZF90aW1lLCBsb2dfbWVzc2FnZXM9W10pOgpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIu
cHkKaW5kZXggYzBhNzBlNjE1MzBjYWQyMTI5YmM3NzUyNzQwNWRjYzA0OTVjZTNkYS4uNjM2ZWRk
MmJlZWFiYjcxOWI1YzkyODgxMzViZGE1MDY4ZTY5ODU0NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5
CkBAIC00NTksNyArNDU5LDcgQEAgY2xhc3MgTWFuYWdlcihvYmplY3QpOgogCiAgICAgZGVmIF9y
dW5fdGVzdHMoc2VsZiwgdGVzdHMsIHJlc3VsdF9zdW1tYXJ5LCBudW1fd29ya2Vycyk6CiAgICAg
ICAgIHRlc3RfaW5wdXRzID0gW3NlbGYuX3Rlc3RfaW5wdXRfZm9yX2ZpbGUodGVzdCkgZm9yIHRl
c3QgaW4gdGVzdHNdCi0gICAgICAgIG5lZWRzX2h0dHAgPSBhbnkoc2VsZi5faXNfaHR0cF90ZXN0
KHRlc3QpIGZvciB0ZXN0IGluIHRlc3RzKQorICAgICAgICBuZWVkc19odHRwID0gc2VsZi5fcG9y
dC5yZXF1aXJlc19odHRwX3NlcnZlcigpIG9yIGFueShzZWxmLl9pc19odHRwX3Rlc3QodGVzdCkg
Zm9yIHRlc3QgaW4gdGVzdHMpCiAgICAgICAgIG5lZWRzX3dlYnNvY2tldHMgPSBhbnkoc2VsZi5f
aXNfd2Vic29ja2V0X3Rlc3QodGVzdCkgZm9yIHRlc3QgaW4gdGVzdHMpCiAgICAgICAgIHJldHVy
biBzZWxmLl9ydW5uZXIucnVuX3Rlc3RzKHRlc3RfaW5wdXRzLCBzZWxmLl9leHBlY3RhdGlvbnMs
IHJlc3VsdF9zdW1tYXJ5LCBudW1fd29ya2VycywgbmVlZHNfaHR0cCwgbmVlZHNfd2Vic29ja2V0
cywgc2VsZi5fcmV0cnlpbmcpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvYmFzZS5weQppbmRleCAzODQ4Zjc3N2U3YzNlYjkxMjY4YjA4YWVkMWMxYmFk
MjYyOTliNGRlLi5lYTFlOWQwMzNlYTBiMTY2NTBlYzllZWM4ODFlZDg3NzZiMTJkMTEwIDEwMDc1
NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CkBA
IC04OTksNiArODk5LDExIEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgbWV0aG9kLiIi
IgogICAgICAgICBwYXNzCiAKKyAgICBkZWYgcmVxdWlyZXNfaHR0cF9zZXJ2ZXIoc2VsZik6Cisg
ICAgICAgICIiIkRvZXMgdGhlIHBvcnQgcmVxdWlyZSBhbiBIVFRQIHNlcnZlciBmb3IgcnVubmlu
ZyB0ZXN0cz8gVGhpcyBjb3VsZAorICAgICAgICBiZSB0aGUgY2FzZSB3aGVuIHRoZSB0ZXN0cyBh
cmVuJ3QgcnVuIG9uIHRoZSBob3N0IHBsYXRmb3JtLiIiIgorICAgICAgICByZXR1cm4gRmFsc2UK
KwogICAgIGRlZiBzdGFydF9odHRwX3NlcnZlcihzZWxmLCBhZGRpdGlvbmFsX2RpcnM9Tm9uZSwg
bnVtYmVyX29mX3NlcnZlcnM9Tm9uZSk6CiAgICAgICAgICIiIlN0YXJ0IGEgd2ViIHNlcnZlci4g
UmFpc2UgYW4gZXJyb3IgaWYgaXQgY2FuJ3Qgc3RhcnQgb3IgaXMgYWxyZWFkeSBydW5uaW5nLgog
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jh
c2VfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2Jhc2VfdW5pdHRlc3QucHkKaW5kZXggNjdiNjFlYTQxNzUyMjcxZWU2N2JkMjJkN2MzNjQ5MmE4
YjQwYzAzZi4uMWZlNzVjY2Q0NmRlMTM0ODVjMWQ1YjAyMTNlYmZkMzRjYjE1NDEwNiAxMDA2NDQK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlX3VuaXR0
ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFz
ZV91bml0dGVzdC5weQpAQCAtNDU5LDUgKzQ1OSw5IEBAIGNsYXNzIFBvcnRUZXN0KHVuaXR0ZXN0
LlRlc3RDYXNlKToKICAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KG9wdGlvbnM9b3B0cGFy
c2UuVmFsdWVzKHsnYnVpbGRfZGlyZWN0b3J5JzogJy9teS1idWlsZC1kaXJlY3RvcnkvJ30pKQog
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvcnQuX2J1aWxkX3BhdGgoKSwgJy9teS1idWlsZC1k
aXJlY3RvcnkvUmVsZWFzZScpCiAKKyAgICBkZWYgdGVzdF9kb250X3JlcXVpcmVfaHR0cF9zZXJ2
ZXIoc2VsZik6CisgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwocG9ydC5yZXF1aXJlc19odHRwX3NlcnZlcigpLCBGYWxzZSkKKwogaWYgX19u
YW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fYW5kcm9pZC5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fYW5k
cm9pZC5weQppbmRleCA2Mzg5ZmViNjM1N2NlM2NjNDkwYzAyYzY5MmM1ZmY4MWQ2NzdhNDk2Li43
MjNkMGYzYTZhMjk2MWI2OTI2MzZhZWIyMzY2MWNkYWQ3YjY5MGMxIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2FuZHJvaWQucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9h
bmRyb2lkLnB5CkBAIC0yMzIsMjAgKzIzMiwxNiBAQCBjbGFzcyBDaHJvbWl1bUFuZHJvaWRQb3J0
KGNocm9taXVtLkNocm9taXVtUG9ydCk6CiAgICAgICAgIGFuZHJvaWRfZXhwZWN0YXRpb25zX2Zp
bGUgPSBzZWxmLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgnTGF5b3V0VGVzdHMnLCAncGxhdGZvcm0n
LCAnY2hyb21pdW0tYW5kcm9pZCcsICdUZXN0RXhwZWN0YXRpb25zJykKICAgICAgICAgcmV0dXJu
IHN1cGVyKENocm9taXVtQW5kcm9pZFBvcnQsIHNlbGYpLmV4cGVjdGF0aW9uc19maWxlcygpICsg
W2FuZHJvaWRfZXhwZWN0YXRpb25zX2ZpbGVdCiAKLSAgICBkZWYgc3RhcnRfaHR0cF9zZXJ2ZXIo
c2VsZiwgYWRkaXRpb25hbF9kaXJzPU5vbmUsIG51bWJlcl9vZl9zZXJ2ZXJzPTApOgotICAgICAg
ICAjIFRoZSBodHRwIHNlcnZlciBydW5zIGR1cmluZyB0aGUgd2hvbGUgdGVzdGluZyBwZXJpb2Qs
IHNvIGlnbm9yZSB0aGlzIGNhbGwuCi0gICAgICAgIHBhc3MKLQotICAgIGRlZiBzdG9wX2h0dHBf
c2VydmVyKHNlbGYpOgotICAgICAgICAjIFNhbWUgYXMgc3RhcnRfaHR0cF9zZXJ2ZXIoKS4KLSAg
ICAgICAgcGFzcwotCi0gICAgZGVmIHNldHVwX3Rlc3RfcnVuKHNlbGYpOgotICAgICAgICAjIFN0
YXJ0IHRoZSBIVFRQIHNlcnZlciBzbyB0aGF0IHRoZSBkZXZpY2UgY2FuIGFjY2VzcyB0aGUgdGVz
dCBjYXNlcy4KLSAgICAgICAgc3VwZXIoQ2hyb21pdW1BbmRyb2lkUG9ydCwgc2VsZikuc3RhcnRf
aHR0cF9zZXJ2ZXIoYWRkaXRpb25hbF9kaXJzPXtURVNUX1BBVEhfUFJFRklYOiBzZWxmLmxheW91
dF90ZXN0c19kaXIoKX0pCisgICAgZGVmIHJlcXVpcmVzX2h0dHBfc2VydmVyKHNlbGYpOgorICAg
ICAgICAiIiJDaHJvbWl1bSBBbmRyb2lkIHJ1bnMgdGVzdHMgb24gZGV2aWNlcywgYW5kIHVzZXMg
dGhlIEhUVFAgc2VydmVyIHRvCisgICAgICAgIHNlcnZlIHRoZSBhY3R1YWwgbGF5b3V0IHRlc3Rz
IHRvIER1bXBSZW5kZXJUcmVlLiIiIgorICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgZGVmIGNs
ZWFuX3VwX3Rlc3RfcnVuKHNlbGYpOgotICAgICAgICBzdXBlcihDaHJvbWl1bUFuZHJvaWRQb3J0
LCBzZWxmKS5zdG9wX2h0dHBfc2VydmVyKCkKKyAgICBkZWYgc3RhcnRfaHR0cF9zZXJ2ZXIoc2Vs
ZiwgYWRkaXRpb25hbF9kaXJzPU5vbmUsIG51bWJlcl9vZl9zZXJ2ZXJzPTApOgorICAgICAgICBp
ZiBub3QgYWRkaXRpb25hbF9kaXJzOgorICAgICAgICAgICAgYWRkaXRpb25hbF9kaXJzID0ge30K
KyAgICAgICAgYWRkaXRpb25hbF9kaXJzW1RFU1RfUEFUSF9QUkVGSVhdID0gc2VsZi5sYXlvdXRf
dGVzdHNfZGlyKCkKKyAgICAgICAgc3VwZXIoQ2hyb21pdW1BbmRyb2lkUG9ydCwgc2VsZikuc3Rh
cnRfaHR0cF9zZXJ2ZXIoYWRkaXRpb25hbF9kaXJzLCBudW1iZXJfb2Zfc2VydmVycykKIAogICAg
IGRlZiBjcmVhdGVfZHJpdmVyKHNlbGYsIHdvcmtlcl9udW1iZXIsIG5vX3RpbWVvdXQ9RmFsc2Up
OgogICAgICAgICAjIFdlIGRvbid0IHdhbnQgdGhlIGRlZmF1bHQgRHJpdmVyUHJveHkgd2hpY2gg
aXMgbm90IGNvbXBhdGlibGUgd2l0aCBvdXIgZHJpdmVyLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9hbmRyb2lkX3VuaXR0ZXN0
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9h
bmRyb2lkX3VuaXR0ZXN0LnB5CmluZGV4IGJiNDIyOWU2NWJhYjQwMjU0NmRkZWVjZTBiMDM5OWY0
MjIwZDUzM2MuLmZjZTY5YzY3ZGY0OTRkZjZmYTE2NWI3OGRjODRhNGY3NDlmMmUxZWMgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1f
YW5kcm9pZF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2Nocm9taXVtX2FuZHJvaWRfdW5pdHRlc3QucHkKQEAgLTE2NSw2ICsxNjUsMTAg
QEAgY2xhc3MgQ2hyb21pdW1BbmRyb2lkUG9ydFRlc3QoY2hyb21pdW1fcG9ydF90ZXN0Y2FzZS5D
aHJvbWl1bVBvcnRUZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNlbGYubW9j
a19ydW5fY29tbWFuZC5fbW9ja19kZXZpY2VzWzFdLCBwb3J0Ll9nZXRfZGV2aWNlX3NlcmlhbCgx
KSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIHBvcnQuX2dldF9k
ZXZpY2Vfc2VyaWFsLCAyKQogCisgICAgZGVmIHRlc3RfbXVzdF9yZXF1aXJlX2h0dHBfc2VydmVy
KHNlbGYpOgorICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhwb3J0LnJlcXVpcmVzX2h0dHBfc2VydmVyKCksIFRydWUpCisKIAogY2xhc3Mg
Q2hyb21pdW1BbmRyb2lkRHJpdmVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNl
dFVwKHNlbGYpOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>