<?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>142191</bug_id>
          
          <creation_ts>2015-03-02 15:20:06 -0800</creation_ts>
          <short_desc>Exception stack unwinding in JSC hangs while the Timeline Profiler is enabled</short_desc>
          <delta_ts>2015-03-02 16:30:12 -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>JavaScriptCore</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>142189</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>burg</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>1073463</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-03-02 15:20:06 -0800</bug_when>
    <thetext>Imagine a scenario where the Inspector is paused / suspended at a breakpoint or while the user is stepping through code.  The user then tries to evaluate an expression in the console, and that evaluation results in an exception being thrown.  Currently, if the Timeline Profiler is enabled while this exception is being thrown, the WebProcess will hang while trying to handle that exception.

The issue is that the Timeline Profiler&apos;s ProfileGenerator::didExecute() will return early and decline to process ProfileNodes if the Inspector is paused.  This is proper because it does not want to count work done for injected scripts (e.g. from the console) towards the timeline profile of the webpage being run.  However, this is in conflict with ProfileGenerator::exceptionUnwind()&apos;s expectation that didExecute() will process ProfileNodes in order to do the stack unwinding for the exception handling.  As a result, ProfileGenerator::exceptionUnwind() hangs.

ProfileGenerator::exceptionUnwind() is in error.  While the Inspector is paused, there will not be any ProfileNodes that it needs to &quot;unwind&quot;.  Hence, the fix is simply to return early also in ProfileGenerator::exceptionUnwind() if the Inspector is paused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073465</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-03-02 15:21:37 -0800</bug_when>
    <thetext>&lt;rdar://problem/19891850&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073491</commentid>
    <comment_count>2</comment_count>
      <attachid>247709</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-03-02 15:54:44 -0800</bug_when>
    <thetext>Created attachment 247709
the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073502</commentid>
    <comment_count>3</comment_count>
      <attachid>247709</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-03-02 16:14:26 -0800</bug_when>
    <thetext>Comment on attachment 247709
the patch.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073512</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-03-02 16:30:12 -0800</bug_when>
    <thetext>Thanks for the review.  Landed in r180907: &lt;http://trac.webkit.org/r180907&gt;.

Sorry for the botched commit message.  Should have re-checked the diffs after I svn up&apos;ed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247709</attachid>
            <date>2015-03-02 15:54:44 -0800</date>
            <delta_ts>2015-03-02 16:14:26 -0800</delta_ts>
            <desc>the patch.</desc>
            <filename>bug-142191.patch</filename>
            <type>text/plain</type>
            <size>8184</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgwOTAxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBA
CisyMDE1LTAzLTAyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBF
eGNlcHRpb24gc3RhY2sgdW53aW5kaW5nIGluIEpTQyBoYW5ncyB3aGlsZSB0aGUgVGltZWxpbmUg
UHJvZmlsZXIgaXMgZW5hYmxlZC4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE0MjE5
MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFn
aW5lIGEgc2NlbmFyaW8gd2hlcmUgdGhlIEluc3BlY3RvciBpcyBwYXVzZWQgLyBzdXNwZW5kZWQg
YXQgYSBicmVha3BvaW50IG9yCisgICAgICAgIHdoaWxlIHRoZSB1c2VyIGlzIHN0ZXBwaW5nIHRo
cm91Z2ggSlMgY29kZS4gVGhlIHVzZXIgdGhlbiB0cmllcyB0byBldmFsdWF0ZSBhbgorICAgICAg
ICBleHByZXNzaW9uIGluIHRoZSBjb25zb2xlLCBhbmQgdGhhdCBldmFsdWF0aW9uIHJlc3VsdHMg
aW4gYW4gZXhjZXB0aW9uIGJlaW5nCisgICAgICAgIHRocm93bi4gQ3VycmVudGx5LCBpZiB0aGUg
VGltZWxpbmUgUHJvZmlsZXIgaXMgZW5hYmxlZCB3aGlsZSB0aGlzIGV4Y2VwdGlvbiBpcworICAg
ICAgICBiZWluZyB0aHJvd24sIHRoZSBXZWJQcm9jZXNzIHdpbGwgaGFuZyB3aGlsZSB0cnlpbmcg
dG8gaGFuZGxlIHRoYXQgZXhjZXB0aW9uLgorCisgICAgICAgIFRoZSBpc3N1ZSBpcyB0aGF0IHRo
ZSBUaW1lbGluZSBQcm9maWxlcidzIFByb2ZpbGVHZW5lcmF0b3I6OmRpZEV4ZWN1dGUoKSB3aWxs
CisgICAgICAgIHJldHVybiBlYXJseSBhbmQgZGVjbGluZSB0byBwcm9jZXNzIFByb2ZpbGVOb2Rl
cyBpZiB0aGUgSW5zcGVjdG9yIGlzIHBhdXNlZC4KKyAgICAgICAgVGhpcyBpcyBwcm9wZXIgYmVj
YXVzZSBpdCBkb2VzIG5vdCB3YW50IHRvIGNvdW50IHdvcmsgZG9uZSBmb3IgaW5qZWN0ZWQgc2Ny
aXB0cworICAgICAgICAoZS5nLiBmcm9tIHRoZSBjb25zb2xlKSB0b3dhcmRzIHRoZSB0aW1lbGlu
ZSBwcm9maWxlIG9mIHRoZSB3ZWJwYWdlIGJlaW5nIHJ1bi4KKyAgICAgICAgSG93ZXZlciwgdGhp
cyBpcyBpbiBjb25mbGljdCB3aXRoIFByb2ZpbGVHZW5lcmF0b3I6OmV4Y2VwdGlvblVud2luZCgp
J3MKKyAgICAgICAgZXhwZWN0YXRpb24gdGhhdCBkaWRFeGVjdXRlKCkgd2lsbCBwcm9jZXNzIFBy
b2ZpbGVOb2RlcyBpbiBvcmRlciB0byBkbyB0aGUgc3RhY2sKKyAgICAgICAgdW53aW5kaW5nIGZv
ciB0aGUgZXhjZXB0aW9uIGhhbmRsaW5nLiBBcyBhIHJlc3VsdCwKKyAgICAgICAgUHJvZmlsZUdl
bmVyYXRvcjo6ZXhjZXB0aW9uVW53aW5kKCkgaGFuZ3MuCisKKyAgICAgICAgUHJvZmlsZUdlbmVy
YXRvcjo6ZXhjZXB0aW9uVW53aW5kKCkgaXMgaW4gZXJyb3IuIFdoaWxlIHRoZSBJbnNwZWN0b3Ig
aXMgcGF1c2VkLAorICAgICAgICB0aGVyZSB3aWxsIG5vdCBiZSBhbnkgUHJvZmlsZU5vZGVzIHRo
YXQgaXQgbmVlZHMgdG8gInVud2luZCIuIEhlbmNlLCB0aGUgZml4IGlzCisgICAgICAgIHNpbXBs
eSB0byByZXR1cm4gZWFybHkgYWxzbyBpbiBQcm9maWxlR2VuZXJhdG9yOjpleGNlcHRpb25Vbndp
bmQoKSBpZiB0aGUKKyAgICAgICAgSW5zcGVjdG9yIGlzIHBhdXNlZC4KKworICAgICAgICAqIHBy
b2ZpbGVyL1Byb2ZpbGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpQcm9maWxlR2VuZXJh
dG9yOjpleGNlcHRpb25VbndpbmQpOgorCiAyMDE1LTAzLTAyICBGaWxpcCBQaXpsbyAgPGZwaXps
b0BhcHBsZS5jb20+CiAKICAgICAgICAgRGVkdXBsaWNhdGUgc2xvdyBwYXRoIGNhbGxpbmcgY29k
ZSBpbiBKSVRPcGNvZGVzLmNwcC9KSVRPcGNvZGVzMzJfNjQuY3BwCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZUdlbmVyYXRvci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVHZW5lcmF0b3IuY3BwCShyZXZp
c2lvbiAxODA5MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZUdl
bmVyYXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5NCw2ICsxOTQsOSBAQCB2b2lkIFByb2Zp
bGVHZW5lcmF0b3I6OmRpZEV4ZWN1dGUoRXhlY1N0CiAKIHZvaWQgUHJvZmlsZUdlbmVyYXRvcjo6
ZXhjZXB0aW9uVW53aW5kKEV4ZWNTdGF0ZSogaGFuZGxlckNhbGxGcmFtZSwgY29uc3QgQ2FsbElk
ZW50aWZpZXImKQogeworICAgIGlmIChtX3N1c3BlbmRlZCkKKyAgICAgICAgcmV0dXJuOworCiAg
ICAgLy8gSWYgdGhlIGN1cnJlbnQgbm9kZSB3YXMgY2FsbGVkIGJ5IHRoZSBoYW5kbGVyICg9PSkg
b3IgYW55CiAgICAgLy8gbW9yZSBuZXN0ZWQgZnVuY3Rpb24gKD4pIHRoZSB3ZSBoYXZlIGV4aXRl
ZCBlYXJseSBmcm9tIGl0LgogICAgIEFTU0VSVChtX2N1cnJlbnROb2RlKTsKSW5kZXg6IExheW91
dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE4MDkwMSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDE1LTAzLTAyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBFeGNlcHRpb24gc3RhY2sgdW53aW5kaW5nIGluIEpTQyBoYW5ncyB3aGls
ZSB0aGUgVGltZWxpbmUgUHJvZmlsZXIgaXMgZW5hYmxlZC4KKyAgICAgICAgPGh0dHBzOi8vd2Vi
a2l0Lm9yZy9iLzE0MjE5MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS9leGNlcHRpb24taW4taW5qZWN0ZWQtc2Ny
aXB0LXdoaWxlLXJlY29yZGluZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci90aW1lbGluZS9leGNlcHRpb24taW4taW5qZWN0ZWQtc2NyaXB0LXdoaWxlLXJlY29yZGlu
Zy5odG1sOiBBZGRlZC4KKwogMjAxNS0wMy0wMiAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5j
b20+CiAKICAgICAgICAgVGhlIEluc3BlY3RvclRpbWVsaW5lQWdlbnQgc2hvdWxkIGdyYWNlZnVs
bHkgaGFuZGxlIGF0dGVtcHRzIHRvIHN0YXJ0IG1vcmUgdGhhbiBvbmNlLgpJbmRleDogTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL2V4Y2VwdGlvbi1pbi1pbmplY3RlZC1zY3JpcHQtd2hp
bGUtcmVjb3JkaW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvZXhjZXB0aW9uLWluLWluamVjdGVkLXNjcmlwdC13aGlsZS1yZWNvcmRp
bmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Rp
bWVsaW5lL2V4Y2VwdGlvbi1pbi1pbmplY3RlZC1zY3JpcHQtd2hpbGUtcmVjb3JkaW5nLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkgQEAKK1Rlc3RpbmcgdGhhdCBhbiBp
bmplY3RlZCBzY3JpcHQsIHJ1biB3aGlsZSB0aGUgZGVidWdnZXIgaXMgcGF1c2VkIGFuZCB0aGUg
dGltZWxpbmUgcHJvZmlsZXIgaXMgZW5hYmxlZCwgc2hvdWxkIG5vdCBsb29wIGZvcmV2ZXIgaWYg
aXQgaGFzIGFuIGV4Y2VwdGlvbiB0aHJvd24uCisKK0FkZGVkIGEgYnJlYWtwb2ludCBpbnNpZGUg
aG9vaygpLgorRGVidWdnZXIgcGF1c2VkOworQW4gZXhjZXB0aW9uIHdhcyB0aHJvd24gZnJvbSB0
aGUgaW5qZWN0ZWQgc2NyaXB0LgorRGVidWdnZXIgcmVzdW1lZDsgc3RvcHBpbmcgdGltZWxpbmUg
Y2FwdHVyZS4KK1RpbWVsaW5lIGNhcHR1cmluZyBzdG9wcGVkLiBJbnNwZWN0aW5nIHRoZSBhY3Rp
dmUgcmVjb3JkaW5nLi4uLgorVGltZXJGaXJlZCB0aW1lbGluZSByZWNvcmQgaGFzIHByb2ZpbGUg
YXR0YWNoZWQ6IFRSVUUKKwpJbmRleDogTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL2V4
Y2VwdGlvbi1pbi1pbmplY3RlZC1zY3JpcHQtd2hpbGUtcmVjb3JkaW5nLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL2V4Y2VwdGlvbi1pbi1pbmplY3Rl
ZC1zY3JpcHQtd2hpbGUtcmVjb3JkaW5nLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUvZXhjZXB0aW9uLWluLWluamVjdGVkLXNjcmlwdC13aGlsZS1y
ZWNvcmRpbmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDg4IEBACis8IWRvY3R5cGUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVNlY3VyaXR5
LVBvbGljeSIgY29udGVudD0ic2NyaXB0LXNyYyAnc2VsZicgJ3Vuc2FmZS1pbmxpbmUnIj4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4vcmVzb3VyY2VzL3RpbWVsaW5lLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgorZnVuY3Rpb24gaW5zdGFsbFRpbWVyKCkKK3sKKyAgICBzZXRUaW1lb3V0KGZ1bmN0
aW9uKCkgeworICAgICAgICBjYWxsRnVuY3Rpb24obXVsLCBhZGQoMSwgMyksIDMpOworICAgICAg
ICBob29rKCk7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIGFkZChhLCBiKQoreworICAgIEluc3Bl
Y3RvclRlc3RQcm94eS5hZGRSZXN1bHQoIkNhbGxpbmcgYWRkKCk6ICIgKyBhICsgIiArICIgKyBi
KTsKKyAgICByZXR1cm4gYSArIGI7Cit9CisKK2Z1bmN0aW9uIG11bChhLCBiKQoreworICAgIElu
c3BlY3RvclRlc3RQcm94eS5hZGRSZXN1bHQoIkNhbGxpbmcgbXVsKCk6ICIgKyBhICsgIiAqICIg
KyBiKTsKKyAgICByZXR1cm4gYSAqIGI7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIC8v
IEZpcnN0LCBzZXQgdXAgdGhlIGJyZWFrcG9pbnQsIHN0YXJ0IHRpbWVsaW5lIGNhcHR1cmluZywg
YW5kIHRyaWdnZXIgZXhlY3V0aW9uIG9mIGluc3RhbGxUaW1lcigpLgorICAgIFdlYkluc3BlY3Rv
ci5kZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGVidWdnZXJN
YW5hZ2VyLkV2ZW50LlNjcmlwdEFkZGVkLCBmdW5jdGlvbihldmVudCkgeworICAgICAgICB2YXIg
c2NyaXB0T2JqZWN0ID0gZXZlbnQuZGF0YS5zY3JpcHQ7CisKKyAgICAgICAgaWYgKCEvdGltZWxp
bmUtaGVscGVyXC5qcyQvLnRlc3Qoc2NyaXB0T2JqZWN0LnVybCkpCisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgdmFyIGxvY2F0aW9uID0gc2NyaXB0T2JqZWN0LmNyZWF0ZVNvdXJjZUNv
ZGVMb2NhdGlvbigxNywgMCk7ICAvLyBJbnNpZGUgdGltZWxpbmUtaGVscGVyLmpzOmhvb2soKQor
ICAgICAgICB2YXIgYnJlYWtwb2ludCA9IG5ldyBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludChsb2Nh
dGlvbik7CisgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1hbmFnZXIuYWRkQnJlYWtwb2lu
dChicmVha3BvaW50KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFkZGVkIGEg
YnJlYWtwb2ludCBpbnNpZGUgaG9vaygpLiIpCisKKyAgICAgICAgV2ViSW5zcGVjdG9yLnRpbWVs
aW5lTWFuYWdlci5zdGFydENhcHR1cmluZygpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlKCJpbnN0YWxsVGltZXIoKSIpOworICAgIH0pOworCisgICAgLy8gU2Vjb25kLCB0
aGUgZGVidWdnZXIgd2lsbCBwYXVzZSBkdXJpbmcgdGltZWxpbmUgY2FwdHVyaW5nLiBSZXN1bWUs
IHRoZW4gc3RvcCB0aW1lbGluZSBjYXB0dXJpbmcuCisgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2Vy
TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIuRXZl
bnQuUGF1c2VkLCBmdW5jdGlvbihldmVudCkgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiRGVidWdnZXIgcGF1c2VkOyIpOworICAgICAgICBjaGVja0lmRXhjZXB0aW9uTG9vcHNG
b3JldmVyKCk7CisgICAgfSk7CisKKyAgICBmdW5jdGlvbiBjaGVja0lmRXhjZXB0aW9uTG9vcHNG
b3JldmVyKCkgeworICAgICAgICBXZWJJbnNwZWN0b3IucnVudGltZU1hbmFnZXIuZXZhbHVhdGVJ
bkluc3BlY3RlZFdpbmRvdygiKHt9KS54LngiLCAidGVzdCIsIHRydWUsIHRydWUsIGZhbHNlLCBm
YWxzZSwgZmFsc2UsIGZ1bmN0aW9uKHJlc3VsdCwgd2FzVGhyb3duKSB7CisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQW4gZXhjZXB0aW9uIHdhcyAiICsgKHdhc1Rocm93biA/
ICIiIDogIm5vdCAiKSArICJ0aHJvd24gZnJvbSB0aGUgaW5qZWN0ZWQgc2NyaXB0LiIpOworICAg
ICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTWFuYWdlci5yZXN1bWUoKS50aGVuKGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEZWJ1Z2dl
ciByZXN1bWVkOyBzdG9wcGluZyB0aW1lbGluZSBjYXB0dXJlLiIpOworICAgICAgICAgICAgICAg
IFdlYkluc3BlY3Rvci50aW1lbGluZU1hbmFnZXIuc3RvcENhcHR1cmluZygpOworICAgICAgICAg
ICAgfSk7CisgICAgICAgIH0pOworICAgIH0KKworICAgIC8vIFdoZW4gdGltZWxpbmUgY2FwdHVy
aW5nIHN0b3BzLCBpbnNwZWN0IHRoZSByZXN1bHRpbmcgdGltZWxpbmUgcmVjb3JkcyBmb3IgYSBw
cm9maWxlLgorICAgIFdlYkluc3BlY3Rvci50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5l
cihXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQsIGZ1
bmN0aW9uKGV2ZW50KSB7CisgICAgICAgIHZhciByZWNvcmRpbmcgPSBXZWJJbnNwZWN0b3IudGlt
ZWxpbmVNYW5hZ2VyLmFjdGl2ZVJlY29yZGluZzsKKyAgICAgICAgdmFyIHNjcmlwdFRpbWVsaW5l
ID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5
cGUuU2NyaXB0KTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoc2NyaXB0VGltZWxpbmUpOworCisg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJUaW1lbGluZSBjYXB0dXJpbmcgc3RvcHBl
ZC4gSW5zcGVjdGluZyB0aGUgYWN0aXZlIHJlY29yZGluZy4uLi4iKTsKKworICAgICAgICBmb3Ig
KHZhciByZWNvcmQgb2Ygc2NyaXB0VGltZWxpbmUucmVjb3JkcykgeworICAgICAgICAgICAgaWYg
KHJlY29yZC5ldmVudFR5cGUgIT09IFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5F
dmVudFR5cGUuVGltZXJGaXJlZCkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAg
ICAgICAgdmFyIHJlc3VsdCA9IHJlY29yZC5wcm9maWxlID8gIlRSVUUiIDogIkZBTFNFIjsKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJUaW1lckZpcmVkIHRpbWVsaW5lIHJl
Y29yZCBoYXMgcHJvZmlsZSBhdHRhY2hlZDogIiArIHJlc3VsdCk7CisgICAgICAgIH0KKworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0pOworCisgICAgSW5zcGVj
dG9yVGVzdC5yZWxvYWRQYWdlKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KKyAgICA8cD5UZXN0aW5nIHRoYXQgYW4gaW5qZWN0ZWQgc2NyaXB0LCBy
dW4gd2hpbGUgdGhlIGRlYnVnZ2VyIGlzIHBhdXNlZCBhbmQgdGhlIHRpbWVsaW5lIHByb2ZpbGVy
IGlzIGVuYWJsZWQsIHNob3VsZCBub3QgbG9vcCBmb3JldmVyIGlmIGl0IGhhcyBhbiBleGNlcHRp
b24gdGhyb3duLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="272619"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>