<?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>149217</bug_id>
          
          <creation_ts>2015-09-16 09:28:30 -0700</creation_ts>
          <short_desc>AX: DRT crash at WebCore: WebCore::AccessibilityObject::nextSiblingUnignored(int) const</short_desc>
          <delta_ts>2015-09-20 14:18:23 -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>Accessibility</component>
          <version>Safari 9</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=149384</see_also>
          <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="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mario</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1126358</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2015-09-16 09:28:30 -0700</bug_when>
    <thetext>WTF::PtrHash&lt;WebCore::RenderObject*&gt;, WTF::HashMap&lt;WebCore::RenderObject*, unsigned int, WTF::PtrHash&lt;WebCore::RenderObject*&gt;, WTF::HashTraits&lt;WebCore::RenderObject*&gt;, WTF::HashTraits&lt;unsigned int&gt; &gt;::KeyValuePairTraits, WTF::HashTraits&lt;WebCore::RenderObject*&gt; &gt;::lookup&lt;WTF::IdentityHashTranslator&lt;WTF::PtrHash&lt;WebCore::RenderObject*&gt; &gt;, WebCore::RenderObject*&gt;(WebCore::RenderObject* const&amp;) &lt;==
        5 WebCore: WebCore::AXObjectCache::get(WebCore::RenderObject*)
          5 WebCore: WebCore::AXObjectCache::getOrCreate(WebCore::RenderObject*)
            5 WebCore: WebCore::AccessibilityObject::nextSiblingUnignored(int) const
              5 WebCore: WebCore::AXObjectCache::postTextStateChangeNotification(WebCore::Position const&amp;, WebCore::AXTextStateChangeIntent const&amp;, WebCore::VisibleSelection const&amp;)
                5 WebCore: WebCore::FrameSelection::notifyAccessibilityForSelectionChange(WebCore::AXTextStateChangeIntent const&amp;)
                  5 WebCore: WebCore::FrameSelection::updateAndRevealSelection(WebCore::AXTextStateChangeIntent const&amp;)
                    5 WebCore: WebCore::FrameSelection::setSelection(WebCore::VisibleSelection const&amp;, unsigned int, WebCore::AXTextStateChangeIntent, WebCore::FrameSelection::CursorAlignOnScroll, WebCore::TextGranularity)
                      5 WebCore: WebCore::FrameSelection::moveWithoutValidationTo(WebCore::Position const&amp;, WebCore::Position const&amp;, bool, bool, WebCore::AXTextStateChangeIntent const&amp;)
                        5 WebCore: WebCore::HTMLTextFormControlElement::setSelectionRange(int, int, WebCore::TextFieldSelectionDirection, WebCore::AXTextStateChangeIntent const&amp;)
                          5 WebCore: WebCore::HTMLTextAreaElement::setValueCommon(WTF::String const&amp;)
                            5 WebCore: WebCore::HTMLTextAreaElement::setValue(WTF::String const&amp;)
                              5 WebCore: WebCore::setJSHTMLTextAreaElementValue(JSC::ExecState*, JSC::JSObject*, long long, long long)

&lt;rdar://problem/22488928&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126456</commentid>
    <comment_count>1</comment_count>
      <attachid>261325</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2015-09-16 14:07:11 -0700</bug_when>
    <thetext>Created attachment 261325
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126464</commentid>
    <comment_count>2</comment_count>
      <attachid>261325</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-09-16 14:23:50 -0700</bug_when>
    <thetext>Comment on attachment 261325
patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        When DRT runs accessibilityEnabled is turned on and off regularly. As a result, some objects like axObjectCache()
&gt; +        are null unexpectedly. Does not happen to users because once enabled, there&apos;s no way to turn accessibility off.

Can this be fixed in DRT? Adding so much production code just to work around DRT misbehavior seems unfortunate and fragile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126465</commentid>
    <comment_count>3</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2015-09-16 14:26:33 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 261325 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=261325&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        When DRT runs accessibilityEnabled is turned on and off regularly. As a result, some objects like axObjectCache()
&gt; &gt; +        are null unexpectedly. Does not happen to users because once enabled, there&apos;s no way to turn accessibility off.
&gt; 
&gt; Can this be fixed in DRT? Adding so much production code just to work around
&gt; DRT misbehavior seems unfortunate and fragile.

i don&apos;t think so. maybe if we made sure every test was cleaned up completely, the document was torn down and then the next test had a whole clean world it could fix it but that situation is what triggers this bug

Also, i think this production code changes are a good thing. In theory they could happen to users so better to be safe if layout tests are able to catch these edge case-y things</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126474</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-09-16 14:50:34 -0700</bug_when>
    <thetext>&gt; i don&apos;t think so. maybe if we made sure every test was cleaned up completely, the document was torn down and then the next test had a whole clean world it could fix it but that situation is what triggers this bug

We already do that - we even load about:blank between tests to make sure that the state is reset very well. Could it be just a matter of disabling accessibility a little later than we do it now?

Having in-flight unhandled messages likely also makes accessibility tests flaky in other ways.

&gt; Also, i think this production code changes are a good thing. In theory they could happen to users so better to be safe if layout tests are able to catch these edge case-y things

Could you please elaborate on how this can happen to users? If so, then we certainly need to fix this in code - but the ChangeLog even explains why this can&apos;t happen to users.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126480</commentid>
    <comment_count>5</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2015-09-16 15:13:41 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; &gt; i don&apos;t think so. maybe if we made sure every test was cleaned up completely, the document was torn down and then the next test had a whole clean world it could fix it but that situation is what triggers this bug
&gt; 
&gt; We already do that - we even load about:blank between tests to make sure
&gt; that the state is reset very well. Could it be just a matter of disabling
&gt; accessibility a little later than we do it now?

I think these back traces show that this is not the case. in this crash trace, accessibility is turned off even though the test has not completed.

&gt; 
&gt; Having in-flight unhandled messages likely also makes accessibility tests
&gt; flaky in other ways.
&gt; 
&gt; &gt; Also, i think this production code changes are a good thing. In theory they could happen to users so better to be safe if layout tests are able to catch these edge case-y things
&gt; 
&gt; Could you please elaborate on how this can happen to users? If so, then we
&gt; certainly need to fix this in code - but the ChangeLog even explains why
&gt; this can&apos;t happen to users.

I don&apos;t know how it might happen but there&apos;s lots of variations on usage I am not aware of. Adding checks for objects that can return nil however seems like a good thing through and through</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126486</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-09-16 15:25:42 -0700</bug_when>
    <thetext>&gt; I think these back traces show that this is not the case. in this crash trace, accessibility is turned off even though the test has not completed.

The crash happens while loading about:blank. I think that it will be fixed if we don&apos;t disable accessibility before loading about:blank.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126487</commentid>
    <comment_count>7</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2015-09-16 15:30:12 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; &gt; I think these back traces show that this is not the case. in this crash trace, accessibility is turned off even though the test has not completed.
&gt; 
&gt; The crash happens while loading about:blank. I think that it will be fixed
&gt; if we don&apos;t disable accessibility before loading about:blank.

probably</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127478</commentid>
    <comment_count>8</comment_count>
      <attachid>261325</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-09-19 23:48:57 -0700</bug_when>
    <thetext>Comment on attachment 261325
patch

I&apos;m looking into fixing DumpRenderTree, r- for now.

There is another interesting thing happening - behavior of accessibility/mac/removing-textarea-after-edit-crash.html depends on whether accessibility/mac/loaded-notification.html ran before it. That&apos;s not good too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127513</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-09-20 12:56:04 -0700</bug_when>
    <thetext>Landed just the test fix in r190033. Between that and a DRT fix in bug 149384, the test doesn&apos;t crash any more.

The problem with unexpectedly changing WebCore global state during a test still remains, I&apos;m going to keep working on it. It&apos;s not a simple one-line change - there is some state that we do want to reset before loading about:blank, notably content blocking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127514</commentid>
    <comment_count>10</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2015-09-20 13:11:17 -0700</bug_when>
    <thetext>Thanks for digging deeper on this one

Looks like it will prevent future issues as well


(In reply to comment #9)
&gt; Landed just the test fix in r190033. Between that and a DRT fix in bug
&gt; 149384, the test doesn&apos;t crash any more.
&gt; 
&gt; The problem with unexpectedly changing WebCore global state during a test
&gt; still remains, I&apos;m going to keep working on it. It&apos;s not a simple one-line
&gt; change - there is some state that we do want to reset before loading
&gt; about:blank, notably content blocking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127523</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-09-20 14:18:23 -0700</bug_when>
    <thetext>Another related fix in bug 149391. Naively moving the reset function introduces a problem with user scripts, and turned out that we already had this problem in WebKit2.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261325</attachid>
            <date>2015-09-16 14:07:11 -0700</date>
            <delta_ts>2015-09-19 23:48:57 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>6899</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4OTg4MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA5LTE2ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IERSVCBjcmFzaCBh
dCBXZWJDb3JlOiBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpuZXh0U2libGluZ1VuaWdu
b3JlZChpbnQpIGNvbnN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDkyMTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXaGVuIERSVCBydW5zIGFjY2Vzc2liaWxpdHlFbmFibGVkIGlzIHR1cm5lZCBvbiBh
bmQgb2ZmIHJlZ3VsYXJseS4gQXMgYSByZXN1bHQsIHNvbWUgb2JqZWN0cyBsaWtlIGF4T2JqZWN0
Q2FjaGUoKQorICAgICAgICBhcmUgbnVsbCB1bmV4cGVjdGVkbHkuIERvZXMgbm90IGhhcHBlbiB0
byB1c2VycyBiZWNhdXNlIG9uY2UgZW5hYmxlZCwgdGhlcmUncyBubyB3YXkgdG8gdHVybiBhY2Nl
c3NpYmlsaXR5IG9mZi4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0OjpmaXJzdENoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3Q6Omxhc3RDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpzdGFydE9mQ29udGludWF0aW9u
cyk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpwcmV2aW91
c1NpYmxpbmcpOgorICAgICAgICAoV2ViQ29yZTo6bGFzdENoaWxkSGFzQ29udGludWF0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6Om5leHRTaWJsaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6Om5leHRDb250aW51YXRpb24pOgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjpwb3N0VGV4dFN0YXRlQ2hhbmdlUGxhdGZvcm1Ob3RpZmljYXRpb24pOgorICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFj
Lm1tOgorICAgICAgICAodGV4dE1hcmtlclJhbmdlRnJvbVZpc2libGVQb3NpdGlvbnMpOgorCiAy
MDE1LTA5LTE2ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBI
YXZlIHdpbmRvdy5pbmRleGVkREIuZGVsZXRlRGF0YWJhc2UgcmV0dXJuIGFuIElEQk9wZW5EQlJl
cXVlc3QuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAJKHJldmlzaW9uIDE4OTY4MikKKysrIFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTIzMCw3ICsyMzAsOSBAQAogICAgIGlmICghZmlyc3RDaGlsZCAm
JiAhY2FuSGF2ZUNoaWxkcmVuKCkpCiAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5Tm9kZU9i
amVjdDo6Zmlyc3RDaGlsZCgpOwogCi0gICAgcmV0dXJuIGF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JD
cmVhdGUoZmlyc3RDaGlsZCk7CisgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gYXhPYmpl
Y3RDYWNoZSgpKQorICAgICAgICByZXR1cm4gY2FjaGUtPmdldE9yQ3JlYXRlKGZpcnN0Q2hpbGQp
OworICAgIHJldHVybiBudWxscHRyOwogfQogCiBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0OjpsYXN0Q2hpbGQoKSBjb25zdApAQCAtMjQzLDcgKzI0NSw5IEBA
CiAgICAgaWYgKCFsYXN0Q2hpbGQgJiYgIWNhbkhhdmVDaGlsZHJlbigpKQogICAgICAgICByZXR1
cm4gQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6Omxhc3RDaGlsZCgpOwogCi0gICAgcmV0dXJuIGF4
T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVhdGUobGFzdENoaWxkKTsKKyAgICBpZiAoQVhPYmplY3RD
YWNoZSogY2FjaGUgPSBheE9iamVjdENhY2hlKCkpCisgICAgICAgIHJldHVybiBjYWNoZS0+Z2V0
T3JDcmVhdGUobGFzdENoaWxkKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogc3RhdGljIGlu
bGluZSBSZW5kZXJJbmxpbmUqIHN0YXJ0T2ZDb250aW51YXRpb25zKFJlbmRlck9iamVjdCYgcmVu
ZGVyZXIpCkBAIC0zNDYsNyArMzUwLDkgQEAKICAgICBpZiAoIXByZXZpb3VzU2libGluZykKICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgCi0gICAgcmV0dXJuIGF4T2JqZWN0Q2FjaGUoKS0+
Z2V0T3JDcmVhdGUocHJldmlvdXNTaWJsaW5nKTsKKyAgICBpZiAoQVhPYmplY3RDYWNoZSogY2Fj
aGUgPSBheE9iamVjdENhY2hlKCkpCisgICAgICAgIHJldHVybiBjYWNoZS0+Z2V0T3JDcmVhdGUo
cHJldmlvdXNTaWJsaW5nKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogc3RhdGljIGlubGlu
ZSBib29sIGxhc3RDaGlsZEhhc0NvbnRpbnVhdGlvbihSZW5kZXJFbGVtZW50JiByZW5kZXJlcikK
QEAgLTM5OSwxMCArNDA1LDkgQEAKICAgICAgICAgICAgIG5leHRTaWJsaW5nID0gZmlyc3RDaGls
ZENvbnNpZGVyaW5nQ29udGludWF0aW9uKGNvbnRpbnVhdGlvbik7CiAgICAgfQogCi0gICAgaWYg
KCFuZXh0U2libGluZykKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgCi0gICAgcmV0dXJu
IGF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVhdGUobmV4dFNpYmxpbmcpOworICAgIGlmIChBWE9i
amVjdENhY2hlKiBjYWNoZSA9IGF4T2JqZWN0Q2FjaGUoKSkKKyAgICAgICAgcmV0dXJuIGNhY2hl
LT5nZXRPckNyZWF0ZShuZXh0U2libGluZyk7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIHN0
YXRpYyBSZW5kZXJCb3hNb2RlbE9iamVjdCogbmV4dENvbnRpbnVhdGlvbihSZW5kZXJPYmplY3Qm
IHJlbmRlcmVyKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmpl
Y3RDYWNoZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCShyZXZpc2lvbiAxODk2ODIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0yNjIsNyArMjYyLDkgQEAKICAgICBpZiAoaWQgd3JhcHBlciA9IG9iamVjdC0+d3JhcHBl
cigpKQogICAgICAgICBbdXNlckluZm8gc2V0T2JqZWN0OndyYXBwZXIgZm9yS2V5Ok5TQWNjZXNz
aWJpbGl0eVRleHRDaGFuZ2VFbGVtZW50XTsKIAotICAgIEFYUG9zdE5vdGlmaWNhdGlvbldpdGhV
c2VySW5mbyhyb290V2ViQXJlYSgpLT53cmFwcGVyKCksIE5TQWNjZXNzaWJpbGl0eVNlbGVjdGVk
VGV4dENoYW5nZWROb3RpZmljYXRpb24sIHVzZXJJbmZvKTsKKyAgICBpZiAoQWNjZXNzaWJpbGl0
eU9iamVjdCogcm9vdFdlYkFyZWEgPSB0aGlzLT5yb290V2ViQXJlYSgpKQorICAgICAgICBBWFBv
c3ROb3RpZmljYXRpb25XaXRoVXNlckluZm8ocm9vdFdlYkFyZWEtPndyYXBwZXIoKSwgTlNBY2Nl
c3NpYmlsaXR5U2VsZWN0ZWRUZXh0Q2hhbmdlZE5vdGlmaWNhdGlvbiwgdXNlckluZm8pOworICAg
IAogICAgIEFYUG9zdE5vdGlmaWNhdGlvbldpdGhVc2VySW5mbyhvYmplY3QtPndyYXBwZXIoKSwg
TlNBY2Nlc3NpYmlsaXR5U2VsZWN0ZWRUZXh0Q2hhbmdlZE5vdGlmaWNhdGlvbiwgdXNlckluZm8p
OwogCiAgICAgW3VzZXJJbmZvIHJlbGVhc2VdOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJNYWMubW0JKHJldmlzaW9uIDE4OTY4MikKKysrIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTc3LDYgKzExNzcsOSBAQAogCiBzdGF0aWMgaWQgdGV4dE1hcmtlclJh
bmdlRnJvbVZpc2libGVQb3NpdGlvbnMoQVhPYmplY3RDYWNoZSAqY2FjaGUsIGNvbnN0IFZpc2li
bGVQb3NpdGlvbiYgc3RhcnRQb3NpdGlvbiwgY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBlbmRQb3Np
dGlvbikKIHsKKyAgICBpZiAoIWNhY2hlKQorICAgICAgICByZXR1cm4gbmlsOworICAgIAogICAg
IGlkIHN0YXJ0VGV4dE1hcmtlciA9IHRleHRNYXJrZXJGb3JWaXNpYmxlUG9zaXRpb24oY2FjaGUs
IHN0YXJ0UG9zaXRpb24pOwogICAgIGlkIGVuZFRleHRNYXJrZXIgPSB0ZXh0TWFya2VyRm9yVmlz
aWJsZVBvc2l0aW9uKGNhY2hlLCBlbmRQb3NpdGlvbik7CiAgICAgcmV0dXJuIHRleHRNYXJrZXJS
YW5nZUZyb21NYXJrZXJzKHN0YXJ0VGV4dE1hcmtlciwgZW5kVGV4dE1hcmtlcik7CkluZGV4OiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxODk4ODApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wOS0xNiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXph
Y2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBEUlQgY3Jhc2ggYXQgV2ViQ29yZTogV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6bmV4dFNpYmxpbmdVbmlnbm9yZWQoaW50KSBjb25zdAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5MjE3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGF0aCB0byB0
aGlzIHJlc291cmNlIHdhcyB3cm9uZyAoYWZ0ZXIgbW92aW5nIGZyb20gcGxhdGZvcm0vbWFjL2Fj
Y2Vzc2liaWxpdHkpCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9yZW1vdmluZy10ZXh0
YXJlYS1hZnRlci1lZGl0LWNyYXNoLmh0bWw6CisKIDIwMTUtMDktMTYgIEJyYWR5IEVpZHNvbiAg
PGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEhhdmUgd2luZG93LmluZGV4ZWREQi5kZWxl
dGVEYXRhYmFzZSByZXR1cm4gYW4gSURCT3BlbkRCUmVxdWVzdC4KSW5kZXg6IExheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvbWFjL3JlbW92aW5nLXRleHRhcmVhLWFmdGVyLWVkaXQtY3Jhc2guaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9yZW1vdmluZy10
ZXh0YXJlYS1hZnRlci1lZGl0LWNyYXNoLmh0bWwJKHJldmlzaW9uIDE4OTY4MikKKysrIExheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3JlbW92aW5nLXRleHRhcmVhLWFmdGVyLWVkaXQtY3Jh
c2guaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMzksMTcgKzM5LDE1IEBACiAgICAgdmFyIHJlcSA9
IDA7CiAgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeyAgCiAgICAgICAg
IHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImJvZHkiKS5mb2N1cygpOwotICAgICAgICBib2R5ID0gYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuZm9jdXNlZEVsZW1lbnQ7CiAKICAgICAgICAgLy8gQWNjZXNzIHRoZSB0ZXh0IGFyZWEg
c28gdGhhdCBhbiBhY2Nlc3NpYmlsaXR5IGVsZW1lbnQgaXMgY3JlYXRlZCAoc28gdGhhdCBpdCB3
aWxsIHNlbmQgb3V0IG5vdGlmaWNhdGlvbnMpLiAgICAgICAgCi0gICAgICAgIGJvZHkuY2hpbGRB
dEluZGV4KDApLmNoaWxkQXRJbmRleCgwKTsKKyAgICAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJ0ZXh0YXJlYSIpOwogCiAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXh0YXJlYSIpLmZvY3VzKCk7CiAKICAgICAgICAgcmVxID0gbmV3
IFhNTEh0dHBSZXF1ZXN0OwogICAgICAgICByZXEub25yZWFkeXN0YXRlY2hhbmdlID0gcHJvY2Vz
c1N0YXRlQ2hhbmdlOwotICAgICAgICByZXEub3BlbigiZ2V0IiwgIi4uLy4uLy4uL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvbWV0aG9kcy5jZ2kiLCB0cnVlKTsKKyAgICAgICAgcmVxLm9wZW4o
ImdldCIsICIuLi8uLi9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L21ldGhvZHMuY2dpIiwgdHJ1
ZSk7CiAgICAgICAgIC8vIFNlbmRpbmcgdGhpcyBhZnRlciBhIHRpbWVvdXQgbWFrZXMgaXMgc28g
dGhhdCB0aGUgbGF5b3V0IGRvZXMgbm90IGhhcHBlbiB1bnRpbCB0aGUgdmFsdWUgY2hhbmdlIGlz
IHNlbnQuCiAgICAgICAgIHNldFRpbWVvdXQoInJlcS5zZW5kKCcnKSIsIDEpOwogICAgIH0gZWxz
ZQo=
</data>
<flag name="review"
          id="286533"
          type_id="1"
          status="-"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>