<?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>180373</bug_id>
          
          <creation_ts>2017-12-04 13:12:41 -0800</creation_ts>
          <short_desc>Web Inspector: Crashes seen under Inspector::ScriptCallFrame::~ScriptCallFrame</short_desc>
          <delta_ts>2018-12-21 15:51:49 -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>Web Inspector</component>
          <version>WebKit 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>InRadar</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>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mattbaker</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>xpeng1984</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1377846</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-12-04 13:12:41 -0800</bug_when>
    <thetext>Crashes seen under ScriptCallFrame::~ScriptCallFrame:

&gt;    Responsible:           Safari Technology Preview [9088]
&gt;    OS Version:            Mac OS X 10.12.6 (16G29)
&gt;    Crashed Thread:        0  Dispatch queue: com.apple.main-thread
&gt;
&gt;    Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
&gt;    Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000008
&gt;    Exception Note:        EXC_CORPSE_NOTIFY
&gt;
&gt;    Termination Signal:    Segmentation fault: 11
&gt;    Termination Reason:    Namespace SIGNAL, Code 0xb
&gt;    Terminating Process:   exc handler [0]
&gt;
&gt;
&gt;    Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
&gt;    0   com.apple.JavaScriptCore      	0x0000000111bfa5f9 Inspector::ScriptCallFrame::~ScriptCallFrame() + 9
&gt;    1   com.apple.JavaScriptCore      	0x0000000111bfaaa8 Inspector::ScriptCallStack::~ScriptCallStack() + 40
&gt;    2   com.apple.JavaScriptCore      	0x00000001114c463b Inspector::AsyncStackTrace::~AsyncStackTrace() + 139
&gt;    3   com.apple.JavaScriptCore      	0x00000001114c4848 Inspector::AsyncStackTrace::truncate(unsigned long) + 424
&gt;    4   com.apple.JavaScriptCore      	0x0000000111946f68 Inspector::InspectorDebuggerAgent::willDispatchAsyncCall(int, int) + 136
&gt;    5   com.apple.WebCore             	0x000000010f241fad WebCore::InspectorInstrumentation::willFireTimerImpl(WebCore::InstrumentingAgents&amp;, int, WebCore::ScriptExecutionContext&amp;) + 125
&gt;    6   com.apple.WebCore             	0x000000010eb76e7f WebCore::DOMTimer::fired() + 927
&gt;    7   com.apple.WebCore             	0x000000010eaa7100 WebCore::ThreadTimers::sharedTimerFiredInternal() + 176
&gt;    8   com.apple.WebCore             	0x000000010eaa703f WebCore::timerFired(__CFRunLoopTimer*, void*) + 31
&gt;    9   com.apple.CoreFoundation      	0x00007fff96592c54 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
&gt;    10  com.apple.CoreFoundation      	0x00007fff965928df __CFRunLoopDoTimer + 1071
&gt;    11  com.apple.CoreFoundation      	0x00007fff9659243a __CFRunLoopDoTimers + 298
&gt;    12  com.apple.CoreFoundation      	0x00007fff96589b81 __CFRunLoopRun + 2065
&gt;    13  com.apple.CoreFoundation      	0x00007fff96589114 CFRunLoopRunSpecific + 420
&gt;    14  com.apple.HIToolbox           	0x00007fff95ae9ebc RunCurrentEventLoopInMode + 240
&gt;    15  com.apple.HIToolbox           	0x00007fff95ae9cf1 ReceiveNextEventCommon + 432
&gt;    16  com.apple.HIToolbox           	0x00007fff95ae9b26 _BlockUntilNextEventMatchingListInModeWithFilter + 71
&gt;    17  com.apple.AppKit              	0x00007fff94082a54 _DPSNextEvent + 1120
&gt;    18  com.apple.AppKit              	0x00007fff947fe7ee -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796
&gt;    19  com.apple.AppKit              	0x00007fff940773db -[NSApplication run] + 926
&gt;    20  com.apple.AppKit              	0x00007fff94041e0e NSApplicationMain + 1237
&gt;    21  libxpc.dylib                  	0x00007fffabf628c7 _xpc_objc_main + 775
&gt;    22  libxpc.dylib                  	0x00007fffabf612e4 xpc_main + 494
&gt;    23  com.apple.WebKit.WebContent   	0x10df0b695 main + 492
&gt;    24  libdyld.dylib                 	0x00007fffabd09235 start + 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377847</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-12-04 13:12:53 -0800</bug_when>
    <thetext>&lt;rdar://problem/33894170&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490490</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-12-21 14:39:12 -0800</bug_when>
    <thetext>*** Bug 179998 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490491</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-12-21 14:39:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/33726908&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490496</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-12-21 14:41:36 -0800</bug_when>
    <thetext>Was able to reproduce this with LayoutTests:

    $ run-webkit-tests --debug --no-retry-failures --no-sample-on-timeout --additional-env-var=JSC_slowPathAllocsBetweenGCs=10 --force --verbose --iterations=100 --exit-after-n-failures=1 --guard-malloc -1 --time-out-ms=50000 inspector/debugger/truncate-async-stack-trace.html

Seems the relevant code is:

----
    auto* previousNode = lastUnlockedAncestor;

    // The subtree being truncated must be removed from it&apos;s parent before
    // updating its parent pointer chain.
    auto* sourceNode = lastUnlockedAncestor-&gt;m_parent.get();
    lastUnlockedAncestor-&gt;remove();

    while (sourceNode) {
        previousNode-&gt;m_parent = AsyncStackTrace::create(sourceNode-&gt;m_callStack.copyRef(), true, nullptr);
        ...
    }
----

The `lastUnlockedAncestor-&gt;remove()` releases the last reference on `lastUnlockedAncestor-&gt;m_parent` so it gets destroyed and sourceNode is invalid.

We should protect it or use RefPtr throughout this code. It looks like we can get away with protecting just that top level parent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490502</commentid>
    <comment_count>5</comment_count>
      <attachid>357982</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-12-21 14:47:19 -0800</bug_when>
    <thetext>Created attachment 357982
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490505</commentid>
    <comment_count>6</comment_count>
      <attachid>357982</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-12-21 14:56:26 -0800</bug_when>
    <thetext>Comment on attachment 357982
[PATCH] Proposed Fix

rs=me, I think it&apos;s &quot;safer&quot; to just not call `.get()`, but as you pointed out, there&apos;s nothing really happening in the loop, so I guess it&apos;s fine.  Hopefully our future selves don&apos;t mess it up 😛</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490506</commentid>
    <comment_count>7</comment_count>
      <attachid>357982</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-12-21 14:59:23 -0800</bug_when>
    <thetext>Comment on attachment 357982
[PATCH] Proposed Fix

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

&gt; Source/JavaScriptCore/inspector/AsyncStackTrace.cpp:172
&gt; +    RefPtr&lt;AsyncStackTrace&gt; protect(lastUnlockedAncestor-&gt;m_parent);
&gt;      auto* sourceNode = lastUnlockedAncestor-&gt;m_parent.get();

Why not just
  RefPtr&lt;AsyncStackTrace&gt; sourceNode = lastUnlockedAncestor-&gt;m_parent; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490512</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-12-21 15:02:47 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #7)
&gt; Comment on attachment 357982 [details]
&gt; [PATCH] Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=357982&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/inspector/AsyncStackTrace.cpp:172
&gt; &gt; +    RefPtr&lt;AsyncStackTrace&gt; protect(lastUnlockedAncestor-&gt;m_parent);
&gt; &gt;      auto* sourceNode = lastUnlockedAncestor-&gt;m_parent.get();
&gt; 
&gt; Why not just
&gt;   RefPtr&lt;AsyncStackTrace&gt; sourceNode = lastUnlockedAncestor-&gt;m_parent; ?

Okay will do. It has a bit more ref churn in the loop but is ultimately safer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490513</commentid>
    <comment_count>9</comment_count>
      <attachid>357987</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-12-21 15:03:54 -0800</bug_when>
    <thetext>Created attachment 357987
[PATCH] For Landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490520</commentid>
    <comment_count>10</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-12-21 15:25:03 -0800</bug_when>
    <thetext>(In reply to Joseph Pecoraro from comment #9)
&gt; Created attachment 357987 [details]
&gt; [PATCH] For Landing

Nice work!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490533</commentid>
    <comment_count>11</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-12-21 15:49:48 -0800</bug_when>
    <thetext>&lt;https://trac.webkit.org/r239525&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490536</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-21 15:51:49 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 357987:

http/wpt/css/css-animations/start-animation-001.html bug 190903 (authors: dino@apple.com, fred.wang@free.fr, and graouts@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357982</attachid>
            <date>2018-12-21 14:47:19 -0800</date>
            <delta_ts>2018-12-21 15:03:07 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>protect-1.patch</filename>
            <type>text/plain</type>
            <size>1685</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDJlN2MzZWExMzFhLi5mNmYwZDE5ZmQ0OCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMTItMjEgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBDcmFzaGVzIHNlZW4gdW5kZXIgSW5zcGVjdG9yOjpTY3JpcHRDYWxsRnJhbWU6On5TY3JpcHRD
YWxsRnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4MDM3MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzM4OTQxNzA+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvQXN5bmNTdGFj
a1RyYWNlLmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6QXN5bmNTdGFja1RyYWNlOjp0cnVuY2F0
ZSk6CisgICAgICAgIFRoZSBgbGFzdFVubG9ja2VkQW5jZXN0b3ItPnJlbW92ZSgpYCBtYXkgcmVs
ZWFzZSB0aGUgb25seSByZWZlcmVuY2UgdG8gaXQncworICAgICAgICBwYXJlbnQgd2hpY2ggd2Ug
aW50ZW5kIHRvIHVzZSBsYXRlciBidXQgZG9uJ3QgaG9sZCBhIFJlZlB0ciB0by4gS2VlcCB0aGUK
KyAgICAgICAgcGFyZW50IGFsaXZlIGV4cGxpY2l0bHkgYnkgcHJvdGVjdGluZyBpdC4KKwogMjAx
OC0xMi0yMCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZGQgc3VwcG9ydCBmb3IgZ2xvYmFsVGhpcwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9Bc3luY1N0YWNrVHJhY2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9Bc3luY1N0YWNrVHJhY2UuY3BwCmluZGV4IDhjYjA5Nzk2ZjEyLi5iNTZl
ZjFkNTdiNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Bc3lu
Y1N0YWNrVHJhY2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQXN5
bmNTdGFja1RyYWNlLmNwcApAQCAtMTY2LDcgKzE2Niw5IEBAIHZvaWQgQXN5bmNTdGFja1RyYWNl
Ojp0cnVuY2F0ZShzaXplX3QgbWF4RGVwdGgpCiAgICAgYXV0byogcHJldmlvdXNOb2RlID0gbGFz
dFVubG9ja2VkQW5jZXN0b3I7CiAKICAgICAvLyBUaGUgc3VidHJlZSBiZWluZyB0cnVuY2F0ZWQg
bXVzdCBiZSByZW1vdmVkIGZyb20gaXQncyBwYXJlbnQgYmVmb3JlCi0gICAgLy8gdXBkYXRpbmcg
aXRzIHBhcmVudCBwb2ludGVyIGNoYWluLgorICAgIC8vIHVwZGF0aW5nIGl0cyBwYXJlbnQgcG9p
bnRlciBjaGFpbi4gUHJvdGVjdCB0aGUgcGFyZW50IG5vZGUgaW4gY2FzZQorICAgIC8vIHRoaXMg
aG9sZHMgdGhlIG9ubHkgcmVmZXJlbmNlIHRvIGl0LgorICAgIFJlZlB0cjxBc3luY1N0YWNrVHJh
Y2U+IHByb3RlY3QobGFzdFVubG9ja2VkQW5jZXN0b3ItPm1fcGFyZW50KTsKICAgICBhdXRvKiBz
b3VyY2VOb2RlID0gbGFzdFVubG9ja2VkQW5jZXN0b3ItPm1fcGFyZW50LmdldCgpOwogICAgIGxh
c3RVbmxvY2tlZEFuY2VzdG9yLT5yZW1vdmUoKTsKIAo=
</data>
<flag name="review"
          id="374871"
          type_id="1"
          status="+"
          setter="hi"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357987</attachid>
            <date>2018-12-21 15:03:54 -0800</date>
            <delta_ts>2018-12-21 15:48:50 -0800</delta_ts>
            <desc>[PATCH] For Landing</desc>
            <filename>for-landing-1.patch</filename>
            <type>text/plain</type>
            <size>1990</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDJlN2MzZWExMzFhLi5hNzYwZTM5MTdlNiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMTItMjEgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBDcmFzaGVzIHNlZW4gdW5kZXIgSW5zcGVjdG9yOjpTY3JpcHRDYWxsRnJhbWU6On5TY3JpcHRD
YWxsRnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4MDM3MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzM4OTQxNzA+CisKKyAgICAgICAgUnVi
YmVyLXN0YW1wZWQgYnkgRGV2aW4gUm91c3NvLgorCisgICAgICAgICogaW5zcGVjdG9yL0FzeW5j
U3RhY2tUcmFjZS5jcHA6CisgICAgICAgIChJbnNwZWN0b3I6OkFzeW5jU3RhY2tUcmFjZTo6dHJ1
bmNhdGUpOgorICAgICAgICBUaGUgYGxhc3RVbmxvY2tlZEFuY2VzdG9yLT5yZW1vdmUoKWAgbWF5
IHJlbGVhc2UgdGhlIG9ubHkgcmVmZXJlbmNlIHRvIGl0J3MKKyAgICAgICAgcGFyZW50IHdoaWNo
IHdlIGludGVuZCB0byB1c2UgbGF0ZXIgYnV0IGRvbid0IGhvbGQgYSBSZWZQdHIgdG8uIEtlZXAg
dGhlCisgICAgICAgIHBhcmVudCBhbGl2ZSBleHBsaWNpdGx5IGJ5IHByb3RlY3RpbmcgaXQuCisK
IDIwMTgtMTItMjAgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRkIHN1cHBvcnQgZm9yIGdsb2JhbFRoaXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvQXN5bmNTdGFja1RyYWNlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvQXN5bmNTdGFja1RyYWNlLmNwcAppbmRleCA4Y2IwOTc5NmYxMi4u
NTQ1MGUyZjNjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
QXN5bmNTdGFja1RyYWNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0FzeW5jU3RhY2tUcmFjZS5jcHAKQEAgLTE2Nyw3ICsxNjcsNyBAQCB2b2lkIEFzeW5jU3RhY2tU
cmFjZTo6dHJ1bmNhdGUoc2l6ZV90IG1heERlcHRoKQogCiAgICAgLy8gVGhlIHN1YnRyZWUgYmVp
bmcgdHJ1bmNhdGVkIG11c3QgYmUgcmVtb3ZlZCBmcm9tIGl0J3MgcGFyZW50IGJlZm9yZQogICAg
IC8vIHVwZGF0aW5nIGl0cyBwYXJlbnQgcG9pbnRlciBjaGFpbi4KLSAgICBhdXRvKiBzb3VyY2VO
b2RlID0gbGFzdFVubG9ja2VkQW5jZXN0b3ItPm1fcGFyZW50LmdldCgpOworICAgIFJlZlB0cjxB
c3luY1N0YWNrVHJhY2U+IHNvdXJjZU5vZGUgPSBsYXN0VW5sb2NrZWRBbmNlc3Rvci0+bV9wYXJl
bnQ7CiAgICAgbGFzdFVubG9ja2VkQW5jZXN0b3ItPnJlbW92ZSgpOwogCiAgICAgd2hpbGUgKHNv
dXJjZU5vZGUpIHsKQEAgLTE3NSwxMCArMTc1LDEwIEBAIHZvaWQgQXN5bmNTdGFja1RyYWNlOjp0
cnVuY2F0ZShzaXplX3QgbWF4RGVwdGgpCiAgICAgICAgIHByZXZpb3VzTm9kZS0+bV9wYXJlbnQt
Pm1fY2hpbGRDb3VudCA9IDE7CiAgICAgICAgIHByZXZpb3VzTm9kZSA9IHByZXZpb3VzTm9kZS0+
bV9wYXJlbnQuZ2V0KCk7CiAKLSAgICAgICAgaWYgKHNvdXJjZU5vZGUgPT0gbmV3U3RhY2tUcmFj
ZVJvb3QpCisgICAgICAgIGlmIChzb3VyY2VOb2RlLmdldCgpID09IG5ld1N0YWNrVHJhY2VSb290
KQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgc291cmNlTm9kZSA9IHNvdXJjZU5vZGUt
Pm1fcGFyZW50LmdldCgpOworICAgICAgICBzb3VyY2VOb2RlID0gc291cmNlTm9kZS0+bV9wYXJl
bnQ7CiAgICAgfQogCiAgICAgcHJldmlvdXNOb2RlLT5tX3RydW5jYXRlZCA9IHRydWU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>