<?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>156765</bug_id>
          
          <creation_ts>2016-04-19 15:39:30 -0700</creation_ts>
          <short_desc>REGRESSION(r190289): Spin trying to view/sign in to hbogo.com</short_desc>
          <delta_ts>2016-04-20 13:31:00 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://hbogo.com</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1185195</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-04-19 15:39:30 -0700</bug_when>
    <thetext>We appear to get into a deadlock.  Here is a backtrace from the debugger:

* thread #1: tid = 0x3684cc9, 0x00007fffa16d1db6 libsystem_kernel.dylib`__psynch_cvwait + 10, queue = &apos;com.apple.main-thread&apos;, stop reason = signal SIGSTOP
  * frame #0: 0x00007fffa16d1db6 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007fff94d52728 libsystem_pthread.dylib`_pthread_cond_wait + 767
    frame #2: 0x00007fff9ec8e68f libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock&lt;std::__1::mutex&gt;&amp;) + 47
    frame #3: 0x0000000108c8102e JavaScriptCore`WTF::ParkingLot::parkConditionally(address=0x00000001153e1658, validation=function&lt;bool ()&gt; at 0x00007fff58873210, beforeSleep=function&lt;void ()&gt; at 0x00007fff588731e0, timeout=&lt;unavailable&gt;)&gt;, std::__1::function&lt;void ()&gt;, std::__1::chrono::time_point&lt;std::__1::chrono::steady_clock, std::__1::chrono::duration&lt;long long, std::__1::ratio&lt;1l, 1000000000l&gt; &gt; &gt;) + 2398 at ParkingLot.cpp:570
    frame #4: 0x0000000108c79556 JavaScriptCore`WTF::LockBase::lockSlow() [inlined] bool WTF::ParkingLot::compareAndPark&lt;unsigned char, int&gt;(expected=3) + 54 at ParkingLot.h:65
    frame #5: 0x0000000108c79520 JavaScriptCore`WTF::LockBase::lockSlow(this=0x00000001153e1658) + 368 at Lock.cpp:76
    frame #6: 0x000000010846a201 JavaScriptCore`JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit(unsigned int) [inlined] WTF::LockBase::lock() + 23 at Lock.h:62
    frame #7: 0x000000010846a1ea JavaScriptCore`JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit(unsigned int) [inlined] WTF::Locker&lt;WTF::LockBase&gt;::lock() at Locker.h:55
    frame #8: 0x000000010846a1ea JavaScriptCore`JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit(unsigned int) [inlined] WTF::Locker&lt;WTF::LockBase&gt;::Locker(WTF::LockBase*) at Locker.h:39
    frame #9: 0x000000010846a1ea JavaScriptCore`JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit(unsigned int) [inlined] WTF::Locker&lt;WTF::LockBase&gt;::Locker(WTF::LockBase*) at Locker.h:39
    frame #10: 0x000000010846a1ea JavaScriptCore`JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit(unsigned int) [inlined] JSC::ConcurrentJITLockerBase::ConcurrentJITLockerBase(lockable=0x00000001153e1658) at ConcurrentJITLock.h:47
    frame #11: 0x000000010846a1ea JavaScriptCore`JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit(unsigned int) [inlined] JSC::ConcurrentJITLocker::ConcurrentJITLocker(lockable=0x00000001153e1658) at ConcurrentJITLock.h:106
    frame #12: 0x000000010846a1ea JavaScriptCore`JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit(unsigned int) [inlined] JSC::ConcurrentJITLocker::ConcurrentJITLocker(lockable=0x00000001153e1658) at ConcurrentJITLock.h:107
    frame #13: 0x000000010846a1ea JavaScriptCore`JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit(this=&lt;unavailable&gt;, bytecodeIndex=45) + 826 at DFGByteCodeParser.cpp:847
    frame #14: 0x0000000108449934 JavaScriptCore`JSC::DFG::ByteCodeParser::handleCall(int, JSC::DFG::NodeType, JSC::CallMode, unsigned int, JSC::DFG::Node*, int, int, JSC::CallLinkStatus) [inlined] JSC::DFG::ByteCodeParser::getPrediction(this=0x00007fff588747d8, bytecodeIndex=&lt;unavailable&gt;) + 8 at DFGByteCodeParser.cpp:856
    frame #15: 0x000000010844992c JavaScriptCore`JSC::DFG::ByteCodeParser::handleCall(int, JSC::DFG::NodeType, JSC::CallMode, unsigned int, JSC::DFG::Node*, int, int, JSC::CallLinkStatus) [inlined] JSC::DFG::ByteCodeParser::getPrediction(this=0x00007fff588747d8) + 5 at DFGByteCodeParser.cpp:874
    frame #16: 0x0000000108449927 JavaScriptCore`JSC::DFG::ByteCodeParser::handleCall(this=0x00007fff588747d8, result=-7, op=TailCall, callMode=&lt;unavailable&gt;, instructionSize=9, callTarget=0x0000000114762b90, argumentCountIncludingThis=2, registerOffset=-16, callLinkStatus=CallLinkStatus at 0x00007fff588733b8) + 199 at DFGByteCodeParser.cpp:1175
    frame #17: 0x00000001084497e5 JavaScriptCore`JSC::DFG::ByteCodeParser::handleCall(this=0x00007fff588747d8, result=-7, op=TailCall, callMode=Tail, instructionSize=9, callee=&lt;unavailable&gt;, argumentCountIncludingThis=&lt;unavailable&gt;, registerOffset=&lt;unavailable&gt;) + 277 at DFGByteCodeParser.cpp:1163
    frame #18: 0x0000000108459db0 JavaScriptCore`JSC::DFG::ByteCodeParser::parseBlock(unsigned int) [inlined] JSC::DFG::ByteCodeParser::handleCall(this=0x00007fff588747d8, pc=&lt;unavailable&gt;, op=TailCall, callMode=Tail) + 53 at DFGByteCodeParser.cpp:1148
    frame #19: 0x0000000108459d7b JavaScriptCore`JSC::DFG::ByteCodeParser::parseBlock(this=0x00007fff588747d8, limit=54) + 10555 at DFGByteCodeParser.cpp:4188
    frame #20: 0x0000000108465e6b JavaScriptCore`JSC::DFG::ByteCodeParser::parseCodeBlock(this=0x00007fff588747d8) + 1291 at DFGByteCodeParser.cpp:5094
    frame #21: 0x000000010844dd2c JavaScriptCore`bool JSC::DFG::ByteCodeParser::attemptToInlineCall&lt;JSC::DFG::ByteCodeParser::handleInlining(JSC::DFG::Node*, int, JSC::CallLinkStatus const&amp;, int, JSC::VirtualRegister, JSC::VirtualRegister, unsigned int, int, unsigned int, JSC::DFG::NodeType, JSC::InlineCallFrame::Kind, unsigned int)::$_0&gt;(JSC::DFG::Node*, int, JSC::CallVariant, int, int, unsigned int, JSC::InlineCallFrame::Kind, JSC::DFG::ByteCodeParser::CallerLinkability, unsigned int, unsigned int&amp;, JSC::DFG::ByteCodeParser::handleInlining(JSC::DFG::Node*, int, JSC::CallLinkStatus const&amp;, int, JSC::VirtualRegister, JSC::VirtualRegister, unsigned int, int, unsigned int, JSC::DFG::NodeType, JSC::InlineCallFrame::Kind, unsigned int)::$_0 const&amp;) [inlined] void JSC::DFG::ByteCodeParser::inlineCall&lt;JSC::DFG::ByteCodeParser::handleInlining(JSC::DFG::Node*, int, JSC::CallLinkStatus const&amp;, int, JSC::VirtualRegister, JSC::VirtualRegister, unsigned int, int, unsigned int, JSC::DFG::NodeType, JSC::InlineCallFrame::Kind, unsigned int)::$_0&gt;(callee=&lt;unavailable&gt;, callerLinkability=CallerDoesNormalLinking)::$_0 const&amp;) + 1721 at DFGByteCodeParser.cpp:1473
    frame #22: 0x000000010844d673 JavaScriptCore`bool JSC::DFG::ByteCodeParser::attemptToInlineCall&lt;JSC::DFG::ByteCodeParser::handleInlining(JSC::DFG::Node*, int, JSC::CallLinkStatus const&amp;, int, JSC::VirtualRegister, JSC::VirtualRegister, unsigned int, int, unsigned int, JSC::DFG::NodeType, JSC::InlineCallFrame::Kind, unsigned int)::$_0&gt;(this=&lt;unavailable&gt;, callTargetNode=&lt;unavailable&gt;, resultOperand=&lt;unavailable&gt;, callee=&lt;unavailable&gt;, registerOffset=&lt;unavailable&gt;, argumentCountIncludingThis=&lt;unavailable&gt;, nextOffset=&lt;unavailable&gt;, kind=&lt;unavailable&gt;, callerLinkability=CallerDoesNormalLinking, prediction=&lt;unavailable&gt;, inliningBalance=&lt;unavailable&gt;, insertChecks=&lt;unavailable&gt;)::$_0 const&amp;) + 6179 at DFGByteCodeParser.cpp:1637
    frame #23: 0x000000010844a0c8 JavaScriptCore`JSC::DFG::ByteCodeParser::handleInlining(this=0x00007fff588747d8, callTargetNode=&lt;unavailable&gt;, resultOperand=&lt;unavailable&gt;, callLinkStatus=0x00007fff58873f50, registerOffsetOrFirstFreeReg=-24, thisArgument=&lt;unavailable&gt;, argumentsArgument=&lt;unavailable&gt;, argumentsOffset=&lt;unavailable&gt;, argumentCountIncludingThis=&lt;unavailable&gt;, nextOffset=&lt;unavailable&gt;, callOp=&lt;unavailable&gt;, kind=&lt;unavailable&gt;, prediction=&lt;unavailable&gt;) + 936 at DFGByteCodeParser.cpp:1707
    frame #24: 0x0000000108449b98 JavaScriptCore`JSC::DFG::ByteCodeParser::handleCall(this=0x00007fff588747d8, result=-10, op=Call, kind=GetterCall, instructionSize=&lt;unavailable&gt;, callTarget=0x0000000114761870, argumentCountIncludingThis=1, registerOffset=-24, callLinkStatus=&lt;unavailable&gt;, prediction=&lt;unavailable&gt;) + 312 at DFGByteCodeParser.cpp:1213
    frame #25: 0x0000000108455652 JavaScriptCore`JSC::DFG::ByteCodeParser::handleGetById(this=0x00007fff588747d8, destinationOperand=-10, prediction=1, base=&lt;unavailable&gt;, identifierNumber=&lt;unavailable&gt;, getByIdStatus=&lt;unavailable&gt;, type=&lt;unavailable&gt;) + 3234 at DFGByteCodeParser.cpp:3043
    frame #26: 0x000000010845f857 JavaScriptCore`JSC::DFG::ByteCodeParser::parseBlock(this=0x00007fff588747d8, limit=62) + 33815 at DFGByteCodeParser.cpp:3807
    frame #27: 0x0000000108465e6b JavaScriptCore`JSC::DFG::ByteCodeParser::parseCodeBlock(this=0x00007fff588747d8) + 1291 at DFGByteCodeParser.cpp:5094
    frame #28: 0x00000001084661e7 JavaScriptCore`JSC::DFG::ByteCodeParser::parse(this=0x00007fff588747d8) + 263 at DFGByteCodeParser.cpp:5144
    frame #29: 0x0000000108466469 JavaScriptCore`JSC::DFG::parse(graph=0x00007fff58874ea0) + 425 at DFGByteCodeParser.cpp:5168
    frame #30: 0x000000010858dd90 JavaScriptCore`JSC::DFG::Plan::compileInThreadImpl(this=0x0000000112931080, longLivedState=&lt;unavailable&gt;) + 256 at DFGPlan.cpp:239
    frame #31: 0x000000010858d951 JavaScriptCore`JSC::DFG::Plan::compileInThread(this=0x0000000112931080, longLivedState=0x00000001123b68e0, threadData=&lt;unavailable&gt;) + 577 at DFGPlan.cpp:182
    frame #32: 0x00000001084d3e04 JavaScriptCore`JSC::DFG::compile(JSC::VM&amp;, JSC::CodeBlock*, JSC::CodeBlock*, JSC::DFG::CompilationMode, unsigned int, JSC::Operands&lt;JSC::JSValue, JSC::OperandValueTraits&lt;JSC::JSValue&gt; &gt; const&amp;, WTF::PassRefPtr&lt;JSC::DeferredCompilationCallback&gt;) [inlined] JSC::DFG::compileImpl(profiledDFGCodeBlock=0x0000000000000000, osrEntryBytecodeIndex=0, mustHandleValues=0x00007fff58875488, callback=PassRefPtr&lt;JSC::DeferredCompilationCallback&gt; at scalar(0x0000000000000000)) + 182 at DFGDriver.cpp:99
    frame #33: 0x00000001084d3d4e JavaScriptCore`JSC::DFG::compile(vm=0x0000000114605000, codeBlock=0x0000000119e74ba0, profiledDFGCodeBlock=0x0000000000000000, mode=&lt;unavailable&gt;, osrEntryBytecodeIndex=0, mustHandleValues=0x00007fff58875488, passedCallback=PassRefPtr&lt;JSC::DeferredCompilationCallback&gt; at 0x00007fff58875478) + 910 at DFGDriver.cpp:117
    frame #34: 0x000000010885b7b2 JavaScriptCore`::operationOptimize(exec=0x00007fff58875620, bytecodeIndex=0) + 1650 at JITOperations.cpp:1365
    frame #35: 0x00003d00e85c9244
    frame #36: 0x00003d00e85bb133
    frame #37: 0x00003d00e85ba4d7
    frame #38: 0x00003d00e85b75db</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185197</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-04-19 15:40:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/25394203&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185509</commentid>
    <comment_count>2</comment_count>
      <attachid>276844</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-04-20 12:32:03 -0700</bug_when>
    <thetext>Created attachment 276844
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185525</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-04-20 13:31:00 -0700</bug_when>
    <thetext>Committed r199783: &lt;http://trac.webkit.org/changeset/199783&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276844</attachid>
            <date>2016-04-20 12:32:03 -0700</date>
            <delta_ts>2016-04-20 12:39:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>156765.patch</filename>
            <type>text/plain</type>
            <size>4782</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk5NzgwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBA
CisyMDE2LTA0LTIwICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIFJFR1JFU1NJT04ocjE5MDI4OSk6IFNwaW4gdHJ5aW5nIHRvIHZpZXcvc2lnbiBpbiB0byBo
Ym9nby5jb20KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1Njc2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluIHRoZSBvcF9nZXRfYnlfdmFsIGNhc2UsIHdlIHdlcmUgaG9sZGluZyB0aGUgbG9jayBvbiBh
IHByb2ZpbGVkIENvZGVCbG9jaworICAgICAgICB3aGVuIHdlIGNhbGwgaW50byBoYW5kbGVHZXRC
eUlkKCkuIENoYW5nZWQgdG8gZHJvcCB0aGUgbG9jayBiZWZvcmUgY2FsbGluZworICAgICAgICBo
YW5kbGVHZXRCeUlkKCkuCisKKyAgICAgICAgVGhlIGJ1ZyBoZXJlIHdhcyB0aGF0IHRoZSBjYWxs
IHRvIGhhbmRsZUdldEJ5SWQoKSBtYXkgZW5kIHVwIGNhbGxpbmcgaW4gdG8KKyAgICAgICAgZ2V0
UHJlZGljdGlvbldpdGhvdXRPU1JFeGl0KCkgZm9yIGEgdGFpbCBjYWxsIG9wY29kZS4gQXMgcGFy
dCBvZiB0aGF0CisgICAgICAgIHByb2Nlc3NpbmcsIHdlIHdhbGsgYmFjayB1cCB0aGUgc3RhY2sg
dG8gZmluZCB0aGUgZWZmZWN0aXZlIGNhbGxlciBhbmQgd2hlbgorICAgICAgICBmb3VuZCwgd2Ug
bG9jayB0aGUgY29ycmVzcG9uZGluZyBDb2RlQmxvY2sgdG8gZ2V0IHRoZSBwcmVkaWNpdGlvbi4K
KyAgICAgICAgVGhhdCBDb2RlQkxvY2sgbWF5IGJlIHRoZSBzYW1lIG9uZSBsb2NrZWQgYWJvdmUu
IFRoZXJlIGlzIG5vIG5lZWQgYW55d2F5CisgICAgICAgIHRvIGhvbGQgdGhlIENvZGVCbG9jayBs
b2NrIHdoZW4gY2FsbGluZyBoYW5kbGVHZXRCeUlkKCkuCisKKyAgICAgICAgQWRkZWQgYSBuZXcg
c3RyZXNzIHRlc3QuCisKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAg
ICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiB0
ZXN0cy9zdHJlc3MvcmVncmVzcy0xNTY3NjUuanM6IEFkZGVkLgorICAgICAgICAocmVhbFZhbHVl
KToKKyAgICAgICAgKG9iamVjdC5nZXQgaGVsbG8pOgorICAgICAgICAob2spOgorCiAyMDE2LTA0
LTIwICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBVbmluZGVudCBh
biB1bm5lY2Vzc2FyeSBibG9jayBpbiBzdHJpbmdQcm90b0Z1bmNTcGxpdEZhc3QoKS4KSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShy
ZXZpc2lvbiAxOTkzOTYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2Rl
UGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc4NCw2ICszNzg0LDggQEAgYm9vbCBCeXRl
Q29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICAgICAgTm9kZSogYmFzZSA9
IGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOwog
ICAgICAgICAgICAgTm9kZSogcHJvcGVydHkgPSBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJ
bnN0cnVjdGlvblszXS51Lm9wZXJhbmQpKTsKICAgICAgICAgICAgIGJvb2wgY29tcGlsZWRBc0dl
dEJ5SWQgPSBmYWxzZTsKKyAgICAgICAgICAgIEdldEJ5SWRTdGF0dXMgZ2V0QnlJZFN0YXR1czsK
KyAgICAgICAgICAgIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIgPSAwOwogICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKG1faW5saW5lU3Rh
Y2tUb3AtPm1fcHJvZmlsZWRCbG9jay0+bV9sb2NrKTsKICAgICAgICAgICAgICAgICBCeVZhbElu
Zm8qIGJ5VmFsSW5mbyA9IG1faW5saW5lU3RhY2tUb3AtPm1fYnlWYWxJbmZvcy5nZXQoQ29kZU9y
aWdpbihjdXJyZW50Q29kZU9yaWdpbigpLmJ5dGVjb2RlSW5kZXgpKTsKQEAgLTM3OTEsMjAgKzM3
OTMsMjAgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAg
ICAgICAgICAgIC8vIEF0IHRoYXQgdGltZSwgdGhlcmUgaXMgbm8gaW5mb3JtYXRpb24uCiAgICAg
ICAgICAgICAgICAgaWYgKGJ5VmFsSW5mbyAmJiBieVZhbEluZm8tPnN0dWJJbmZvICYmICFieVZh
bEluZm8tPnRvb2tTbG93UGF0aCAmJiAhbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5o
YXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkSWRlbnQpKSB7CiAgICAgICAgICAgICAgICAg
ICAgIGNvbXBpbGVkQXNHZXRCeUlkID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgaWRlbnRpZmllck51bWJlciA9IG1fZ3JhcGguaWRlbnRpZmllcnMoKS5lbnN1cmUoYnlWYWxJ
bmZvLT5jYWNoZWRJZC5pbXBsKCkpOworICAgICAgICAgICAgICAgICAgICBpZGVudGlmaWVyTnVt
YmVyID0gbV9ncmFwaC5pZGVudGlmaWVycygpLmVuc3VyZShieVZhbEluZm8tPmNhY2hlZElkLmlt
cGwoKSk7CiAgICAgICAgICAgICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQgPSBtX2dy
YXBoLmlkZW50aWZpZXJzKClbaWRlbnRpZmllck51bWJlcl07CiAKICAgICAgICAgICAgICAgICAg
ICAgYWRkVG9HcmFwaChDaGVja0lkZW50LCBPcEluZm8odWlkKSwgcHJvcGVydHkpOwogCi0gICAg
ICAgICAgICAgICAgICAgIEdldEJ5SWRTdGF0dXMgZ2V0QnlJZFN0YXR1cyA9IEdldEJ5SWRTdGF0
dXM6OmNvbXB1dGVGb3JTdHViSW5mbygKKyAgICAgICAgICAgICAgICAgICAgZ2V0QnlJZFN0YXR1
cyA9IEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5mbygKICAgICAgICAgICAgICAgICAg
ICAgICAgIGxvY2tlciwgbV9pbmxpbmVTdGFja1RvcC0+bV9wcm9maWxlZEJsb2NrLAogICAgICAg
ICAgICAgICAgICAgICAgICAgYnlWYWxJbmZvLT5zdHViSW5mbywgY3VycmVudENvZGVPcmlnaW4o
KSwgdWlkKTsKLQotICAgICAgICAgICAgICAgICAgICBoYW5kbGVHZXRCeUlkKGN1cnJlbnRJbnN0
cnVjdGlvblsxXS51Lm9wZXJhbmQsIHByZWRpY3Rpb24sIGJhc2UsIGlkZW50aWZpZXJOdW1iZXIs
IGdldEJ5SWRTdGF0dXMsIEFjY2Vzc1R5cGU6OkdldCk7CiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgfQogCi0gICAgICAgICAgICBpZiAoIWNvbXBpbGVkQXNHZXRCeUlkKSB7CisgICAg
ICAgICAgICBpZiAoY29tcGlsZWRBc0dldEJ5SWQpCisgICAgICAgICAgICAgICAgaGFuZGxlR2V0
QnlJZChjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kLCBwcmVkaWN0aW9uLCBiYXNlLCBp
ZGVudGlmaWVyTnVtYmVyLCBnZXRCeUlkU3RhdHVzLCBBY2Nlc3NUeXBlOjpHZXQpOworICAgICAg
ICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgQXJyYXlNb2RlIGFycmF5TW9kZSA9IGdldEFy
cmF5TW9kZShjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5hcnJheVByb2ZpbGUsIEFycmF5OjpSZWFk
KTsKICAgICAgICAgICAgICAgICBOb2RlKiBnZXRCeVZhbCA9IGFkZFRvR3JhcGgoR2V0QnlWYWws
IE9wSW5mbyhhcnJheU1vZGUuYXNXb3JkKCkpLCBPcEluZm8ocHJlZGljdGlvbiksIGJhc2UsIHBy
b3BlcnR5KTsKICAgICAgICAgICAgICAgICBtX2V4aXRPSyA9IGZhbHNlOyAvLyBHZXRCeVZhbCBt
dXN0IGJlIHRyZWF0ZWQgYXMgaWYgaXQgY2xvYmJlcnMgZXhpdCBzdGF0ZSwgc2luY2UgRml4dXBQ
aGFzZSBtYXkgbWFrZSBpdCBnZW5lcmljLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9yZWdyZXNzLTE1Njc2NS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL3JlZ3Jlc3MtMTU2NzY1LmpzCShyZXZpc2lvbiAwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9yZWdyZXNzLTE1Njc2NS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACisvLyBSZWdyZXNzaW9uIHRlc3QgZm9yIGh0dHBz
Oi8vd2Via2l0Lm9yZy9iLzE1Njc2NS4gVGhpcyB0ZXN0IHNob3VsZCBub3QgaGFuZy4KKworInVz
ZSBzdHJpY3QiOworCitsZXQgZm9ydHkgPSA0MDsKKworZnVuY3Rpb24gcmVhbFZhbHVlKCkKK3sK
KyAgICByZXR1cm4gZm9ydHkgKyAyOworfQorCit2YXIgb2JqZWN0ID0geworICAgIGdldCBoZWxs
bygpIHsKKyAgICAgICAgcmV0dXJuIHJlYWxWYWx1ZSgpOworICAgIH0KK307CisKK2Z1bmN0aW9u
IG9rKCkgeworICAgIHZhciB2YWx1ZSA9ICdoZWxsbyc7CisgICAgaWYgKG9iamVjdFt2YWx1ZV0g
KyAyMCAhPT0gNjIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigpOworfQorCitub0lubGluZShv
ayk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpCisgICAgb2soKTsK
</data>
<flag name="review"
          id="301113"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>