<?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>187528</bug_id>
          
          <creation_ts>2018-07-10 10:51:26 -0700</creation_ts>
          <short_desc>AX: Crash in accessing AXObjectCache in textMarkerDataForVisiblePosition</short_desc>
          <delta_ts>2018-07-10 14:56:11 -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>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="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>n_wang</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1440905</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2018-07-10 10:51:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/37231941&gt; CrashTracer: com.apple.WebKit.WebContent.Development at com.apple.WebCore: WebCore::AXObjectCache::get + 75

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000020
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [0]

VM Regions Near 0x20:
--&gt; 
    __TEXT                 0000000102505000-0000000102507000 [    8K] r-x/rwx SM=COW  /Volumes/VOLUME/*/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent.Development

Application Specific Information:
CRASHING TEST: accessibility/mac/search-field-cancel-button.html

Thread 0 Crashed:
0   com.apple.WebCore             	0x00000007a0aae5db WebCore::AXObjectCache::get(WebCore::Node*) + 75
1   com.apple.WebCore             	0x00000007a0aadf4b WebCore::AXObjectCache::getOrCreate(WebCore::Node*) + 43
2   com.apple.WebCore             	0x00000007a0ab48e2 WebCore::AXObjectCache::textMarkerDataForVisiblePosition(WebCore::VisiblePosition const&amp;) + 290
3   com.apple.WebCore             	0x00000007a15a7dfe -[WebAccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:] + 62
4   com.apple.WebCore             	0x00000007a03401ce WebCore::AXObjectCache::postTextStateChangePlatformNotification(WebCore::AccessibilityObject*, WebCore::AXTextStateChangeIntent const&amp;, WebCore::VisibleSelection const&amp;) + 494
5   com.apple.WebCore             	0x00000007a0ab0c5c WebCore::AXObjectCache::postTextStateChangeNotification(WebCore::AccessibilityObject*, WebCore::AXTextStateChangeIntent const&amp;, WebCore::VisibleSelection const&amp;) + 188
6   com.apple.WebCore             	0x00000007a037bfcb WebCore::FrameSelection::notifyAccessibilityForSelectionChange(WebCore::AXTextStateChangeIntent const&amp;) + 203
7   com.apple.WebCore             	0x00000007a0e02f87 WebCore::FrameSelection::updateAndRevealSelection(WebCore::AXTextStateChangeIntent const&amp;) + 167
8   com.apple.WebCore             	0x00000007a0e087e9 WebCore::FrameSelection::updateAppearanceAfterLayout() + 73
9   com.apple.WebCore             	0x00000007a0040c25 WebCore::FrameView::performPostLayoutTasks() + 37
10  com.apple.WebCore             	0x00000007a109b3ff WebCore::LayoutContext::runOrScheduleAsynchronousTasks() + 239
11  com.apple.WebCore             	0x00000007a10910bc WebCore::LayoutContext::layout() + 1612
12  com.apple.WebCore             	0x00000007a0098070 WebCore::Document::updateLayout() + 256
13  com.apple.WebCore             	0x00000007a0d29e5c WebCore::Document::updateLayoutIgnorePendingStylesheets(WebCore::Document::RunPostLayoutTasks) + 92
14  com.apple.WebCore             	0x00000007a0d55f36 WebCore::Element::boundingClientRect() + 38
1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440906</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-10 10:52:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/42031055&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440909</commentid>
    <comment_count>2</comment_count>
      <attachid>344712</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2018-07-10 10:59:21 -0700</bug_when>
    <thetext>Created attachment 344712
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440913</commentid>
    <comment_count>3</comment_count>
      <attachid>344712</attachid>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2018-07-10 11:07:12 -0700</bug_when>
    <thetext>Comment on attachment 344712
patch

r=me
There are other instances of calling someobject-&gt;document().axObjectCache(). Do we need to null check those as well? Or is there a better way to know that document is being destructed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440914</commentid>
    <comment_count>4</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2018-07-10 11:10:20 -0700</bug_when>
    <thetext>(In reply to Nan Wang from comment #3)
&gt; Comment on attachment 344712 [details]
&gt; patch
&gt; 
&gt; r=me
&gt; There are other instances of calling someobject-&gt;document().axObjectCache().
&gt; Do we need to null check those as well? Or is there a better way to know
&gt; that document is being destructed.

I&apos;ll check those other instances in this area. we could check if the document is destroyed, but checking the cache seems a bit more straight-forward and does the same thing for our purposes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440916</commentid>
    <comment_count>5</comment_count>
      <attachid>344713</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2018-07-10 11:12:48 -0700</bug_when>
    <thetext>Created attachment 344713
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440977</commentid>
    <comment_count>6</comment_count>
      <attachid>344713</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-10 14:56:09 -0700</bug_when>
    <thetext>Comment on attachment 344713
patch

Clearing flags on attachment: 344713

Committed r233699: &lt;https://trac.webkit.org/changeset/233699&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440978</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-10 14:56:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>344712</attachid>
            <date>2018-07-10 10:59:21 -0700</date>
            <delta_ts>2018-07-10 11:12:48 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1515</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzMzY5MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE4LTA3LTEwICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IENyYXNoIGluIGFj
Y2Vzc2luZyBBWE9iamVjdENhY2hlIGluIHRleHRNYXJrZXJEYXRhRm9yVmlzaWJsZVBvc2l0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODc1MjgK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM3MjMxOTQxPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9jY2FzaW9uYWwgY3Jhc2hlcyByZXBvcnRlZCB3
aGVuIHJ1bm5pbmcgYWNjZXNzaWJpbGl0eS9tYWMvc2VhcmNoLWZpZWxkLWNhbmNlbC1idXR0b24u
aHRtbC4KKyAgICAgICAgTG9va3MgbGlrZSB0aGUgY2FjaGUgb2JqZWN0IHJldHJpZXZlZCB3YXMg
bm90IHZhbGlkIGFuZCB3ZSB3ZXJlbid0IGNoZWNraW5nIGZvciBpdC4KKworICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVj
dENhY2hlOjp0ZXh0TWFya2VyRGF0YUZvclZpc2libGVQb3NpdGlvbik6CisKIDIwMTgtMDctMTAg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRGlzYWJsZSBjcm9z
cy1vcmlnaW4td2luZG93LXBvbGljeSBieSBkZWZhdWx0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAJKHJldmlzaW9uIDIzMzY3MikKKysr
IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTIyMDQsNiArMjIwNCw4IEBACiAKICAgICAvLyBmaW5kIG9yIGNyZWF0ZSBhbiBh
Y2Nlc3NpYmlsaXR5IG9iamVjdCBmb3IgdGhpcyBub2RlCiAgICAgQVhPYmplY3RDYWNoZSogY2Fj
aGUgPSBkb21Ob2RlLT5kb2N1bWVudCgpLmF4T2JqZWN0Q2FjaGUoKTsKKyAgICBpZiAoIWNhY2hl
KQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIFJlZlB0cjxBY2Nlc3NpYmlsaXR5
T2JqZWN0PiBvYmogPSBjYWNoZS0+Z2V0T3JDcmVhdGUoZG9tTm9kZSk7CiAKICAgICAvLyBUaGlz
IG1lbW9yeSBtdXN0IGJlIHplcm8nZCBzbyBpbnN0YW5jZXMgb2YgVGV4dE1hcmtlckRhdGEgY2Fu
IGJlIHRlc3RlZCBmb3IgYnl0ZS1lcXVpdmFsZW5jZS4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>344713</attachid>
            <date>2018-07-10 11:12:48 -0700</date>
            <delta_ts>2018-07-10 14:56:09 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>2270</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzMzY5MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDE4LTA3LTEwICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IENyYXNoIGluIGFj
Y2Vzc2luZyBBWE9iamVjdENhY2hlIGluIHRleHRNYXJrZXJEYXRhRm9yVmlzaWJsZVBvc2l0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODc1MjgK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM3MjMxOTQxPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9jY2FzaW9uYWwgY3Jhc2hlcyByZXBvcnRlZCB3
aGVuIHJ1bm5pbmcgYWNjZXNzaWJpbGl0eS9tYWMvc2VhcmNoLWZpZWxkLWNhbmNlbC1idXR0b24u
aHRtbC4KKyAgICAgICAgTG9va3MgbGlrZSB0aGUgY2FjaGUgb2JqZWN0IHJldHJpZXZlZCB3YXMg
bm90IHZhbGlkIGFuZCB3ZSB3ZXJlbid0IGNoZWNraW5nIGZvciBpdC4KKworICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVj
dENhY2hlOjp2aXNpYmxlUG9zaXRpb25Gb3JUZXh0TWFya2VyRGF0YSk6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjp0ZXh0TWFya2VyRGF0YUZvclZpc2libGVQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjp0ZXh0TWFya2VyRGF0YUZvckZpcnN0UG9z
aXRpb25JblRleHRDb250cm9sKToKKwogMjAxOC0wNy0xMCAgUnlvc3VrZSBOaXdhICA8cm5pd2FA
d2Via2l0Lm9yZz4KIAogICAgICAgICBEaXNhYmxlIGNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5
IGJ5IGRlZmF1bHQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RD
YWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9i
amVjdENhY2hlLmNwcAkocmV2aXNpb24gMjMzNjcyKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU5MSw3ICsxNTkx
LDcgQEAKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwogICAgIAogICAgIEFYT2Jq
ZWN0Q2FjaGUqIGNhY2hlID0gcmVuZGVyZXItPmRvY3VtZW50KCkuYXhPYmplY3RDYWNoZSgpOwot
ICAgIGlmICghY2FjaGUtPm1faWRzSW5Vc2UuY29udGFpbnModGV4dE1hcmtlckRhdGEuYXhJRCkp
CisgICAgaWYgKGNhY2hlICYmICFjYWNoZS0+bV9pZHNJblVzZS5jb250YWlucyh0ZXh0TWFya2Vy
RGF0YS5heElEKSkKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwogCiAgICAgcmV0
dXJuIHZpc2libGVQb3M7CkBAIC0yMjA0LDYgKzIyMDQsOCBAQAogCiAgICAgLy8gZmluZCBvciBj
cmVhdGUgYW4gYWNjZXNzaWJpbGl0eSBvYmplY3QgZm9yIHRoaXMgbm9kZQogICAgIEFYT2JqZWN0
Q2FjaGUqIGNhY2hlID0gZG9tTm9kZS0+ZG9jdW1lbnQoKS5heE9iamVjdENhY2hlKCk7CisgICAg
aWYgKCFjYWNoZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICBSZWZQdHI8QWNj
ZXNzaWJpbGl0eU9iamVjdD4gb2JqID0gY2FjaGUtPmdldE9yQ3JlYXRlKGRvbU5vZGUpOwogCiAg
ICAgLy8gVGhpcyBtZW1vcnkgbXVzdCBiZSB6ZXJvJ2Qgc28gaW5zdGFuY2VzIG9mIFRleHRNYXJr
ZXJEYXRhIGNhbiBiZSB0ZXN0ZWQgZm9yIGJ5dGUtZXF1aXZhbGVuY2UuCkBAIC0yMjMxLDYgKzIy
MzMsOSBAQAogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCiAgICAgQVhPYmplY3RDYWNo
ZSogY2FjaGUgPSB0ZXh0Q29udHJvbC5kb2N1bWVudCgpLmF4T2JqZWN0Q2FjaGUoKTsKKyAgICBp
ZiAoIWNhY2hlKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCiAgICAgUmVmUHRyPEFj
Y2Vzc2liaWxpdHlPYmplY3Q+IG9iaiA9IGNhY2hlLT5nZXRPckNyZWF0ZSgmdGV4dENvbnRyb2wp
OwogICAgIGlmICghb2JqKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>