<?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>130032</bug_id>
          
          <creation_ts>2014-03-10 12:08:19 -0700</creation_ts>
          <short_desc>Web Inspector: Hang in Remote Inspection triggering breakpoint from console</short_desc>
          <delta_ts>2014-03-12 16:41:12 -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>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ggaren</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>988998</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-03-10 12:08:19 -0700</bug_when>
    <thetext>* SUMMARY
By hitting the breakpoint on our serial dispatch_queue for debuggable connections we run a nested runloop and block future tasks on that queue, including any incoming debugger commands!

* TEST:
&lt;script&gt;
function foo() {
    console.log(&apos;a&apos;);
    console.log(&apos;b&apos;);
    console.log(&apos;c&apos;);
}
&lt;/script&gt;

* STEPS TO REPRODUCE
1. Remotely inspect test.
2. Set a breakpoint in foo (e.g. &quot;b&quot; line)
3. In console: js&gt; foo();
  =&gt; Breakpoint is hit, and we can no longer do anything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989004</commentid>
    <comment_count>1</comment_count>
      <attachid>226328</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-03-10 12:18:43 -0700</bug_when>
    <thetext>Created attachment 226328
[PATCH] Proposed Fix

This approach is modeled after the WebThreadRun queue with run loop source. It uses the CFMainRunLoop, which is fine because currently remote inspection requires a runloop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989761</commentid>
    <comment_count>2</comment_count>
      <attachid>226328</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-03-12 11:43:20 -0700</bug_when>
    <thetext>Comment on attachment 226328
[PATCH] Proposed Fix

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

&gt; Source/JavaScriptCore/inspector/EventLoop.cpp:43
&gt; +CFStringRef EventLoop::remoteInspectorRunLoopMode()
&gt; +{
&gt; +    return CFSTR(&quot;com.apple.JavaScriptCore.remote-inspector-runloop-mode&quot;);
&gt; +}

This makes EventLoop more about Inspector than before. But it is in the inspector directory, so I guess it is fine.

&gt; Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggableConnection.mm:123
&gt; +        CFRunLoopAddSource(CFRunLoopGetMain(), rwiRunLoopSource, kCFRunLoopDefaultMode);
&gt; +        CFRunLoopAddSource(CFRunLoopGetMain(), rwiRunLoopSource, EventLoop::remoteInspectorRunLoopMode());

Needs added to both so paused and non-paused works? Maybe add a comment?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989858</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-03-12 16:41:12 -0700</bug_when>
    <thetext>&lt;http://trac.webkit.org/changeset/165508&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226328</attachid>
            <date>2014-03-10 12:18:43 -0700</date>
            <delta_ts>2014-03-12 11:43:20 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>crazy.patch</filename>
            <type>text/plain</type>
            <size>10468</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDlkODllZGUuLjA3ZjhiZWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE0LTAzLTEwICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogSGFuZyBp
biBSZW1vdGUgSW5zcGVjdGlvbiB0cmlnZ2VyaW5nIGJyZWFrcG9pbnQgZnJvbSBjb25zb2xlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzAwMzIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rv
ci9FdmVudExvb3AuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvRXZlbnRMb29wLmNwcDoKKyAgICAg
ICAgKEluc3BlY3Rvcjo6RXZlbnRMb29wOjpyZW1vdGVJbnNwZWN0b3JSdW5Mb29wTW9kZSk6Cisg
ICAgICAgIChJbnNwZWN0b3I6OkV2ZW50TG9vcDo6Y3ljbGUpOgorICAgICAgICBFeHBvc2UgdGhl
IHJ1biBsb29wIG1vZGUgbmFtZSBzbyBpdCBjYW4gYmUgdXNlZCBpZiBuZWVkZWQgYnkgb3RoZXJz
LgorCisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxl
Q29ubmVjdGlvbi5oOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9y
RGVidWdnYWJsZUNvbm5lY3Rpb24ubW06CisgICAgICAgIChJbnNwZWN0b3I6OlJlbW90ZUluc3Bl
Y3RvckJsb2NrOjpSZW1vdGVJbnNwZWN0b3JCbG9jayk6CisgICAgICAgIChJbnNwZWN0b3I6OlJl
bW90ZUluc3BlY3RvckJsb2NrOjp+UmVtb3RlSW5zcGVjdG9yQmxvY2spOgorICAgICAgICAoSW5z
cGVjdG9yOjpSZW1vdGVJbnNwZWN0b3JCbG9jazo6b3BlcmF0b3I9KToKKyAgICAgICAgKEluc3Bl
Y3Rvcjo6UmVtb3RlSW5zcGVjdG9yQmxvY2s6Om9wZXJhdG9yKCkpOgorICAgICAgICAoSW5zcGVj
dG9yOjpSZW1vdGVJbnNwZWN0b3JRdWV1ZVRhc2spOgorICAgICAgICBJbnN0ZWFkIG9mIGEgZGlz
cGF0Y2hfcXVldWUsIGhhdmUgb3VyIG93biBzdGF0aWMgVmVjdG9yIG9mIGRlYnVnZ2VyIHRhc2tz
LgorCisgICAgICAgIChJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3RvckhhbmRsZVJ1blNvdXJjZSk6
CisgICAgICAgIChJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3RvckluaXRpYWxpemVRdWV1ZSk6Cisg
ICAgICAgIEluaXRpYWxpemUgdGhlIHN0YXRpYyBxdWV1ZSBhbmQgcnVuIGxvb3Agc291cmNlLiBX
aGVuIHRoZSBydW4gbG9vcCBzb3VyY2UKKyAgICAgICAgZmlyZXMsIGl0IHdpbGwgZXhoYXVzdCB0
aGUgcXVldWUgb2YgZGVidWdnZXIgbWVzc2FnZXMuCisKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVt
b3RlSW5zcGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb246OlJlbW90ZUluc3BlY3RvckRlYnVnZ2Fi
bGVDb25uZWN0aW9uKToKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yRGVidWdn
YWJsZUNvbm5lY3Rpb246On5SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlQ29ubmVjdGlvbik6Cisg
ICAgICAgIFdoZW4gd2UgZ2V0IGEgZGVidWdnYWJsZSBjb25uZWN0aW9uIGFkZCBhIHJ1biBsb29w
IHNvdXJjZSBmb3IgaW5zcGVjdG9yIGNvbW1hbmRzLgorCisgICAgICAgIChJbnNwZWN0b3I6OlJl
bW90ZUluc3BlY3RvckRlYnVnZ2FibGVDb25uZWN0aW9uOjpkaXNwYXRjaEFzeW5jT25EZWJ1Z2dh
YmxlKToKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZUNvbm5l
Y3Rpb246OnNlbmRNZXNzYWdlVG9CYWNrZW5kKToKKyAgICAgICAgRW5xdWV1ZSBibG9ja3Mgb24g
b3VyIFZlY3RvciBpbnN0ZWFkIG9mIG91ciBkaXNwYXRjaF9xdWV1ZS4KKwogMjAxNC0wMy0wNiAg
Sm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFtPUyBYXSBX
ZWIgSW5zcGVjdG9yOiBBbGxvdyBBcHBzIHVzaW5nIEphdmFTY3JpcHRDb3JlIHRvIGFjY2VzcyAi
Y29tLmFwcGxlLndlYmluc3BlY3RvciIgbWFjaCBwb3J0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0V2ZW50TG9vcC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0V2ZW50TG9vcC5jcHAKaW5kZXggNWI0MWMyZS4uNDk1ZTNmMCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9FdmVudExvb3AuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvRXZlbnRMb29wLmNwcApAQCAtMjgsOCAr
MjgsNiBAQAogCiAjaWYgT1MoV0lORE9XUykKICNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jZWxpZiBV
U0UoQ0YpCi0jaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZSdW5Mb29wLmg+CiAjZWxpZiBQTEFU
Rk9STShFRkwpCiAjaW5jbHVkZSA8RWNvcmUuaD4KICNlbGlmIFBMQVRGT1JNKEdUSykKQEAgLTM4
LDYgKzM2LDEzIEBACiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCisjaWYgVVNFKENGKSAmJiAh
T1MoV0lORE9XUykKK0NGU3RyaW5nUmVmIEV2ZW50TG9vcDo6cmVtb3RlSW5zcGVjdG9yUnVuTG9v
cE1vZGUoKQoreworICAgIHJldHVybiBDRlNUUigiY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlLnJl
bW90ZS1pbnNwZWN0b3ItcnVubG9vcC1tb2RlIik7Cit9CisjZW5kaWYKKwogdm9pZCBFdmVudExv
b3A6OmN5Y2xlKCkKIHsKICNpZiBPUyhXSU5ET1dTKQpAQCAtNTQsOSArNTksOCBAQCB2b2lkIEV2
ZW50TG9vcDo6Y3ljbGUoKQogICAgIC8vIG5lc3RlZC4gT25seSB0aGUgZGVidWdnZXIgc2hvdWxk
IGNvbnRyb2wgdGhpbmdzIHVudGlsIHdlIGNvbnRpbnVlLgogICAgIC8vIEZJWE1FOiBUaGlzIGlz
IG5vdCBhIHBlcmZlY3Qgc29sdXRpb24sIGFzIGJhY2tncm91bmQgdGhyZWFkcyBhcmUgbm90CiAg
ICAgLy8gcGF1c2VkIGFuZCBjYW4gc3RpbGwgYWNjZXNzIGFuZCBldmFsdXRlIHNjcmlwdCBpbiB0
aGUgSlNDb250ZXh0LgotICAgIHN0YXRpYyBjb25zdCBDRlN0cmluZ1JlZiBrUldJUnVuTG9vcE1v
ZGUgPSBDRlNUUigiY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlLnJlbW90ZS1pbnNwZWN0b3ItcnVu
bG9vcC1tb2RlIik7CiAgICAgQ0ZUaW1lSW50ZXJ2YWwgdGltZUludGVydmFsID0gMC4wNTsKLSAg
ICBDRlJ1bkxvb3BSdW5Jbk1vZGUoa1JXSVJ1bkxvb3BNb2RlLCB0aW1lSW50ZXJ2YWwsIHRydWUp
OworICAgIENGUnVuTG9vcFJ1bkluTW9kZShyZW1vdGVJbnNwZWN0b3JSdW5Mb29wTW9kZSgpLCB0
aW1lSW50ZXJ2YWwsIHRydWUpOwogI2VsaWYgUExBVEZPUk0oRUZMKQogICAgIGVjb3JlX21haW5f
bG9vcF9pdGVyYXRlKCk7CiAjZWxpZiBQTEFURk9STShHVEspCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0V2ZW50TG9vcC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9FdmVudExvb3AuaAppbmRleCBhMDMyNzJjLi5jMDZlNzJiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0V2ZW50TG9vcC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvRXZlbnRMb29wLmgKQEAgLTI4LDYgKzI4LDEw
IEBACiAKICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAorI2lmIFVTRShDRikgJiYgIU9T
KFdJTkRPV1MpCisjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZSdW5Mb29wLmg+CisjZW5kaWYK
KwogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIGNsYXNzIEV2ZW50TG9vcCB7CkBAIC00MSw2ICs0
NSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjeWNsZSgpOwogICAgIGJvb2wgZW5kZWQoKSBjb25z
dCB7IHJldHVybiBtX2VuZGVkOyB9CiAKKyNpZiBVU0UoQ0YpICYmICFPUyhXSU5ET1dTKQorICAg
IHN0YXRpYyBDRlN0cmluZ1JlZiByZW1vdGVJbnNwZWN0b3JSdW5Mb29wTW9kZSgpOworI2VuZGlm
CisKIHByaXZhdGU6CiAgICAgYm9vbCBtX2VuZGVkOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckRlYnVnZ2FibGVD
b25uZWN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1v
dGVJbnNwZWN0b3JEZWJ1Z2dhYmxlQ29ubmVjdGlvbi5oCmluZGV4IDc1ZmYyNzguLjlkMzlhOWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90
ZUluc3BlY3RvckRlYnVnZ2FibGVDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb24u
aApAQCAtNjUsNyArNjUsNiBAQCBwcml2YXRlOgogICAgIHN0ZDo6bXV0ZXggbV9kZWJ1Z2dhYmxl
TXV0ZXg7CiAKICAgICBSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlKiBtX2RlYnVnZ2FibGU7Ci0g
ICAgZGlzcGF0Y2hfcXVldWVfdCBtX3F1ZXVlRm9yRGVidWdnYWJsZTsKICAgICBSZXRhaW5QdHI8
TlNTdHJpbmc+IG1fY29ubmVjdGlvbklkZW50aWZpZXI7CiAgICAgUmV0YWluUHRyPE5TU3RyaW5n
PiBtX2Rlc3RpbmF0aW9uOwogICAgIHVuc2lnbmVkIG1faWRlbnRpZmllcjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckRl
YnVnZ2FibGVDb25uZWN0aW9uLm1tIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9y
ZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb24ubW0KaW5kZXggYjQ1MjU3
ZC4uODlhYjJmYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9y
ZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb24ubW0KKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJs
ZUNvbm5lY3Rpb24ubW0KQEAgLTI4LDcgKzI4LDkgQEAKIAogI2lmIEVOQUJMRShSRU1PVEVfSU5T
UEVDVE9SKQogCisjaW1wb3J0ICJFdmVudExvb3AuaCIKICNpbXBvcnQgIlJlbW90ZUluc3BlY3Rv
ci5oIgorI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgogCiAjaWYgUExBVEZPUk0oSU9TKQogI2ltcG9y
dCA8d3RmL2lvcy9XZWJDb3JlVGhyZWFkLmg+CkBAIC0zNiwyNiArMzgsMTA0IEBACiAKIG5hbWVz
cGFjZSBJbnNwZWN0b3IgewogCi1SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlQ29ubmVjdGlvbjo6
UmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb24oUmVtb3RlSW5zcGVjdG9yRGVidWdn
YWJsZSogZGVidWdnYWJsZSwgTlNTdHJpbmcgKmNvbm5lY3Rpb25JZGVudGlmaWVyLCBOU1N0cmlu
ZyAqZGVzdGluYXRpb24sIFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGU6OkRlYnVnZ2FibGVUeXBl
IHR5cGUpCitjbGFzcyBSZW1vdGVJbnNwZWN0b3JCbG9jayB7CitwdWJsaWM6CisgICAgUmVtb3Rl
SW5zcGVjdG9yQmxvY2sodm9pZCAoXnRhc2spKCkpCisgICAgICAgIDogbV90YXNrKEJsb2NrX2Nv
cHkodGFzaykpCisgICAgeworICAgIH0KKworICAgIFJlbW90ZUluc3BlY3RvckJsb2NrKGNvbnN0
IFJlbW90ZUluc3BlY3RvckJsb2NrJiBvdGhlcikKKyAgICAgICAgOiBtX3Rhc2soQmxvY2tfY29w
eShvdGhlci5tX3Rhc2spKQorICAgIHsKKyAgICB9CisKKyAgICB+UmVtb3RlSW5zcGVjdG9yQmxv
Y2soKQorICAgIHsKKyAgICAgICAgQmxvY2tfcmVsZWFzZShtX3Rhc2spOworICAgIH0KKworICAg
IFJlbW90ZUluc3BlY3RvckJsb2NrJiBvcGVyYXRvcj0oY29uc3QgUmVtb3RlSW5zcGVjdG9yQmxv
Y2smIG90aGVyKQorICAgIHsKKyAgICAgICAgdm9pZCAoXm9sZFRhc2spKCkgPSBtX3Rhc2s7Cisg
ICAgICAgIG1fdGFzayA9IEJsb2NrX2NvcHkob3RoZXIubV90YXNrKTsKKyAgICAgICAgQmxvY2tf
cmVsZWFzZShvbGRUYXNrKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKworICAgIHZv
aWQgb3BlcmF0b3IoKSgpIGNvbnN0CisgICAgeworICAgICAgICBtX3Rhc2soKTsKKyAgICB9CisK
K3ByaXZhdGU6CisgICAgdm9pZCAoXm1fdGFzaykoKTsKK307CisKK3R5cGVkZWYgVmVjdG9yPFJl
bW90ZUluc3BlY3RvckJsb2NrPiBSZW1vdGVJbnNwZWN0b3JRdWV1ZTsKK3N0YXRpYyBzdGQ6Om11
dGV4KiByd2lRdWV1ZU11dGV4Oworc3RhdGljIENGUnVuTG9vcFNvdXJjZVJlZiByd2lSdW5Mb29w
U291cmNlOworc3RhdGljIFJlbW90ZUluc3BlY3RvclF1ZXVlKiByd2lRdWV1ZTsKKworc3RhdGlj
IHZvaWQgUmVtb3RlSW5zcGVjdG9ySGFuZGxlUnVuU291cmNlKHZvaWQqKQoreworICAgIEFTU0VS
VChDRlJ1bkxvb3BHZXRDdXJyZW50KCkgPT0gQ0ZSdW5Mb29wR2V0TWFpbigpKTsKKyAgICBBU1NF
UlQocndpUXVldWVNdXRleCk7CisgICAgQVNTRVJUKHJ3aVJ1bkxvb3BTb3VyY2UpOworICAgIEFT
U0VSVChyd2lRdWV1ZSk7CisKKyAgICBSZW1vdGVJbnNwZWN0b3JRdWV1ZSBxdWV1ZUNvcHk7Cisg
ICAgeworICAgICAgICBzdGQ6OmxvY2tfZ3VhcmQ8c3RkOjptdXRleD4gbG9jaygqcndpUXVldWVN
dXRleCk7CisgICAgICAgIHF1ZXVlQ29weSA9ICpyd2lRdWV1ZTsKKyAgICAgICAgcndpUXVldWUt
PmNsZWFyKCk7CisgICAgfQorCisgICAgZm9yIChjb25zdCBhdXRvJiBibG9jayA6IHF1ZXVlQ29w
eSkKKyAgICAgICAgYmxvY2soKTsKK30KKworc3RhdGljIHZvaWQgUmVtb3RlSW5zcGVjdG9yUXVl
dWVUYXNrKHZvaWQgKF50YXNrKSgpKQoreworICAgIEFTU0VSVChyd2lRdWV1ZU11dGV4KTsKKyAg
ICBBU1NFUlQocndpUnVuTG9vcFNvdXJjZSk7CisgICAgQVNTRVJUKHJ3aVF1ZXVlKTsKKworICAg
IHsKKyAgICAgICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+IGxvY2soKnJ3aVF1ZXVlTXV0
ZXgpOworICAgICAgICByd2lRdWV1ZS0+YXBwZW5kKFJlbW90ZUluc3BlY3RvckJsb2NrKHRhc2sp
KTsKKyAgICB9CisKKyAgICBDRlJ1bkxvb3BTb3VyY2VTaWduYWwocndpUnVuTG9vcFNvdXJjZSk7
CisgICAgQ0ZSdW5Mb29wV2FrZVVwKENGUnVuTG9vcEdldE1haW4oKSk7Cit9CisKK3N0YXRpYyB2
b2lkIFJlbW90ZUluc3BlY3RvckluaXRpYWxpemVRdWV1ZSgpCit7CisgICAgc3RhdGljIGRpc3Bh
dGNoX29uY2VfdCBwcmVkOworICAgIGRpc3BhdGNoX29uY2UoJnByZWQsIF57CisgICAgICAgIHJ3
aVF1ZXVlID0gbmV3IFJlbW90ZUluc3BlY3RvclF1ZXVlOworICAgICAgICByd2lRdWV1ZU11dGV4
ID0gc3RkOjptYWtlX3VuaXF1ZTxzdGQ6Om11dGV4PigpLnJlbGVhc2UoKTsKKworICAgICAgICBD
RlJ1bkxvb3BTb3VyY2VDb250ZXh0IHJ1bkxvb3BTb3VyY2VDb250ZXh0ID0gezAsIG51bGxwdHIs
IG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIG51
bGxwdHIsIFJlbW90ZUluc3BlY3RvckhhbmRsZVJ1blNvdXJjZX07CisgICAgICAgIHJ3aVJ1bkxv
b3BTb3VyY2UgPSBDRlJ1bkxvb3BTb3VyY2VDcmVhdGUobnVsbHB0ciwgMSwgJnJ1bkxvb3BTb3Vy
Y2VDb250ZXh0KTsKKyAgICAgICAgQ0ZSdW5Mb29wQWRkU291cmNlKENGUnVuTG9vcEdldE1haW4o
KSwgcndpUnVuTG9vcFNvdXJjZSwga0NGUnVuTG9vcERlZmF1bHRNb2RlKTsKKyAgICAgICAgQ0ZS
dW5Mb29wQWRkU291cmNlKENGUnVuTG9vcEdldE1haW4oKSwgcndpUnVuTG9vcFNvdXJjZSwgRXZl
bnRMb29wOjpyZW1vdGVJbnNwZWN0b3JSdW5Mb29wTW9kZSgpKTsKKyAgICB9KTsKK30KKworUmVt
b3RlSW5zcGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb246OlJlbW90ZUluc3BlY3RvckRlYnVnZ2Fi
bGVDb25uZWN0aW9uKFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGUqIGRlYnVnZ2FibGUsIE5TU3Ry
aW5nICpjb25uZWN0aW9uSWRlbnRpZmllciwgTlNTdHJpbmcgKmRlc3RpbmF0aW9uLCBSZW1vdGVJ
bnNwZWN0b3JEZWJ1Z2dhYmxlOjpEZWJ1Z2dhYmxlVHlwZSkKICAgICA6IG1fZGVidWdnYWJsZShk
ZWJ1Z2dhYmxlKQotICAgICwgbV9xdWV1ZUZvckRlYnVnZ2FibGUoTlVMTCkKICAgICAsIG1fY29u
bmVjdGlvbklkZW50aWZpZXIoY29ubmVjdGlvbklkZW50aWZpZXIpCiAgICAgLCBtX2Rlc3RpbmF0
aW9uKGRlc3RpbmF0aW9uKQogICAgICwgbV9pZGVudGlmaWVyKGRlYnVnZ2FibGUtPmlkZW50aWZp
ZXIoKSkKICAgICAsIG1fY29ubmVjdGVkKGZhbHNlKQogewotICAgIC8vIFdlYiBkZWJ1Z2dhYmxl
cyBtdXN0IGJlIGFjY2Vzc2VkIG9uIHRoZSBtYWluIHF1ZXVlIChvciB0aGUgV2ViVGhyZWFkIG9u
IGlPUykuIFNpZ25hbCB0aGF0IHdpdGggYSBOVUxMIG1fcXVldWVGb3JEZWJ1Z2dhYmxlLgotICAg
IC8vIEhvd2V2ZXIsIEphdmFTY3JpcHQgZGVidWdnYWJsZXMgY2FuIGJlIGFjY2Vzc2VkIGZyb20g
YW55IHRocmVhZC9xdWV1ZSwgc28gd2UgY3JlYXRlIGEgcXVldWUgZm9yIGVhY2ggSmF2YVNjcmlw
dCBkZWJ1Z2dhYmxlLgotICAgIGlmICh0eXBlID09IFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGU6
OkphdmFTY3JpcHQpCi0gICAgICAgIG1fcXVldWVGb3JEZWJ1Z2dhYmxlID0gZGlzcGF0Y2hfcXVl
dWVfY3JlYXRlKCJjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUucmVtb3RlLWluc3BlY3Rvci1kZWJ1
Z2dhYmxlLWNvbm5lY3Rpb24iLCBESVNQQVRDSF9RVUVVRV9TRVJJQUwpOworICAgIFJlbW90ZUlu
c3BlY3RvckluaXRpYWxpemVRdWV1ZSgpOwogfQogCiBSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxl
Q29ubmVjdGlvbjo6flJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGVDb25uZWN0aW9uKCkKIHsKLSAg
ICBpZiAobV9xdWV1ZUZvckRlYnVnZ2FibGUpIHsKLSAgICAgICAgZGlzcGF0Y2hfcmVsZWFzZSht
X3F1ZXVlRm9yRGVidWdnYWJsZSk7Ci0gICAgICAgIG1fcXVldWVGb3JEZWJ1Z2dhYmxlID0gTlVM
TDsKLSAgICB9CiB9CiAKIE5TU3RyaW5nICpSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlQ29ubmVj
dGlvbjo6ZGVzdGluYXRpb24oKSBjb25zdApAQCAtNzAsMTQgKzE1MCwxNCBAQCBOU1N0cmluZyAq
UmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb246OmNvbm5lY3Rpb25JZGVudGlmaWVy
KCkgY29uc3QKIAogdm9pZCBSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlQ29ubmVjdGlvbjo6ZGlz
cGF0Y2hBc3luY09uRGVidWdnYWJsZSh2b2lkICheYmxvY2spKCkpCiB7Ci0gICAgaWYgKG1fcXVl
dWVGb3JEZWJ1Z2dhYmxlKQotICAgICAgICBkaXNwYXRjaF9hc3luYyhtX3F1ZXVlRm9yRGVidWdn
YWJsZSwgYmxvY2spOwogI2lmIFBMQVRGT1JNKElPUykKLSAgICBlbHNlIGlmIChXZWJDb3JlV2Vi
VGhyZWFkSXNFbmFibGVkICYmIFdlYkNvcmVXZWJUaHJlYWRJc0VuYWJsZWQoKSkKKyAgICBpZiAo
V2ViQ29yZVdlYlRocmVhZElzRW5hYmxlZCAmJiBXZWJDb3JlV2ViVGhyZWFkSXNFbmFibGVkKCkp
IHsKICAgICAgICAgV2ViQ29yZVdlYlRocmVhZFJ1bihibG9jayk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CiAjZW5kaWYKLSAgICBlbHNlCi0gICAgICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNo
X2dldF9tYWluX3F1ZXVlKCksIGJsb2NrKTsKKworICAgIFJlbW90ZUluc3BlY3RvclF1ZXVlVGFz
ayhibG9jayk7CiB9CiAKIGJvb2wgUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb246
OnNldHVwKCkKQEAgLTEzNSwxMCArMjE1LDE1IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yRGVidWdn
YWJsZUNvbm5lY3Rpb246OnNlbmRNZXNzYWdlVG9CYWNrZW5kKE5TU3RyaW5nICptZXNzYWdlCiAg
ICAgcmVmKCk7CiAgICAgZGlzcGF0Y2hBc3luY09uRGVidWdnYWJsZSheewogICAgICAgICB7Ci0g
ICAgICAgICAgICBzdGQ6OmxvY2tfZ3VhcmQ8c3RkOjptdXRleD4gbG9jayhtX2RlYnVnZ2FibGVN
dXRleCk7CisgICAgICAgICAgICBSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlKiBkZWJ1Z2dhYmxl
ID0gbnVsbHB0cjsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzdGQ6OmxvY2tfZ3Vh
cmQ8c3RkOjptdXRleD4gbG9jayhtX2RlYnVnZ2FibGVNdXRleCk7CisgICAgICAgICAgICAgICAg
aWYgKCFtX2RlYnVnZ2FibGUpCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgICAgICBkZWJ1Z2dhYmxlID0gbV9kZWJ1Z2dhYmxlOworICAgICAgICAgICAgfQogCi0gICAg
ICAgICAgICBpZiAobV9kZWJ1Z2dhYmxlKQotICAgICAgICAgICAgICAgIG1fZGVidWdnYWJsZS0+
ZGlzcGF0Y2hNZXNzYWdlRnJvbVJlbW90ZUZyb250ZW5kKG1lc3NhZ2UpOworICAgICAgICAgICAg
ZGVidWdnYWJsZS0+ZGlzcGF0Y2hNZXNzYWdlRnJvbVJlbW90ZUZyb250ZW5kKG1lc3NhZ2UpOwog
ICAgICAgICB9CiAgICAgICAgIGRlcmVmKCk7CiAgICAgfSk7Cg==
</data>
<flag name="review"
          id="250560"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>