<?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>221786</bug_id>
          
          <creation_ts>2021-02-11 17:01:47 -0800</creation_ts>
          <short_desc>Nullopt crash in DOMSelection::getRangeAt</short_desc>
          <delta_ts>2021-02-15 18:02:40 -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>HTML Editing</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=221942</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="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1728369</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-11 17:01:47 -0800</bug_when>
    <thetext>We&apos;re somehow hitting nullptr crash in DOMSelection::getRangeAt:

0   WebCore                       	0x0000000192226334 WebCore::DOMSelection::getRangeAt(unsigned int) + 1332 (DOMSelection.cpp:0)
1   WebCore                       	0x0000000192225fa4 WebCore::DOMSelection::getRangeAt(unsigned int) + 420 (DOMSelection.cpp:370)
2   WebCore                       	0x0000000190d6d624 WebCore::jsDOMSelectionPrototypeFunction_getRangeAt(JSC::JSGlobalObject*, JSC::CallFrame*) + 288 (JSDOMSelection.cpp:406)
3   ???                           	0x0000000e324fcb84 0 + 60973632388

&lt;rdar://problem/73611927&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728370</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-11 17:02:45 -0800</bug_when>
    <thetext>This is probably a regression from https://trac.webkit.org/changeset/266295/webkit/trunk/Source/WebCore/page/DOMSelection.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728372</commentid>
    <comment_count>2</comment_count>
      <attachid>420069</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-11 17:05:27 -0800</bug_when>
    <thetext>Created attachment 420069
Adds a nullptr check</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728402</commentid>
    <comment_count>3</comment_count>
      <attachid>420069</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-02-11 18:04:16 -0800</bug_when>
    <thetext>Comment on attachment 420069
Adds a nullptr check

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Nullptr crash in DOMSelection::getRangeAt

I think that the crash log that I saw showed a break, not nullptr?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728420</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-11 19:27:17 -0800</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #3)
&gt; Comment on attachment 420069 [details]
&gt; Adds a nullptr check
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=420069&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; +        Nullptr crash in DOMSelection::getRangeAt
&gt; 
&gt; I think that the crash log that I saw showed a break, not nullptr?

Ugh... typo. It&apos;s nullopt* crash, not nullptr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728423</commentid>
    <comment_count>5</comment_count>
      <attachid>420081</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-11 19:36:30 -0800</bug_when>
    <thetext>Created attachment 420081
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728492</commentid>
    <comment_count>6</comment_count>
      <attachid>420081</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-12 01:38:20 -0800</bug_when>
    <thetext>Comment on attachment 420081
Patch

Clearing flags on attachment: 420081

Committed r272777: &lt;https://trac.webkit.org/changeset/272777&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728493</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-12 01:38:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728494</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-12 01:39:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/74268861&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729497</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-15 17:57:43 -0800</bug_when>
    <thetext>Now I know the root cause of this bug. Fixing it in https://bugs.webkit.org/show_bug.cgi?id=221942 with a test.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420069</attachid>
            <date>2021-02-11 17:05:27 -0800</date>
            <delta_ts>2021-02-11 19:36:29 -0800</delta_ts>
            <desc>Adds a nullptr check</desc>
            <filename>bug-221786-20210211170526.patch</filename>
            <type>text/plain</type>
            <size>1740</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTYxM2RlZmY0MmZhNjE0
OGZjN2VlNWE1NmMzOTFjOWQ5M2Y1MTMzNS4uZTIxOGE4ZDI1OTYyZjY1NGM1MWQ0Y2ZmOTMyNWE2
Y2ZmYTQ5MmM4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAyLTExICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE51bGxwdHIgY3Jhc2ggaW4g
RE9NU2VsZWN0aW9uOjpnZXRSYW5nZUF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjE3ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBhbnkgd2F5
IHRvIHJlcHJvZHVjZSB0aGlzIGNyYXNoLgorCisgICAgICAgICogcGFnZS9ET01TZWxlY3Rpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VsZWN0aW9uOjpnZXRSYW5nZUF0KTogQWRkZWQg
YSBudWxscHRyIGNoZWNrIHdpdGggYW4gYXNzZXJ0aW9uLgorCiAyMDIxLTAyLTA4ICBEb24gT2xt
c3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5jb20+CiAKICAgICAgICAgW0NNYWtlXSBDbGVhbnVw
IEVOQUJMRV9FTkNSWVBURURfTUVESUEgYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NU2VsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9u
LmNwcAppbmRleCAwZGY3ZDliNjEwNzc3YzY0ZGRhNzVhYTAyNjJmNzQ5MmJhMDBhOTIxLi40MTE2
MWM5ZjJjYzA2NDcyZDY0N2IzMjg4OTA5OGE3OWFlZmUxZTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01TZWxlY3Rpb24uY3BwCkBAIC0zNjcsNyArMzY3LDExIEBAIEV4Y2VwdGlvbk9yPFJlZjxSYW5n
ZT4+IERPTVNlbGVjdGlvbjo6Z2V0UmFuZ2VBdCh1bnNpZ25lZCBpbmRleCkKICAgICAgICAgcmV0
dXJuIGZyYW1lLT5zZWxlY3Rpb24oKS5hc3NvY2lhdGVkTGl2ZVJhbmdlKCkucmVsZWFzZU5vbk51
bGwoKTsKICAgICBpZiAoYXV0byBzaGFkb3dBbmNlc3RvciA9IHNlbGVjdGlvblNoYWRvd0FuY2Vz
dG9yKGZyYW1lKSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZUxpdmVSYW5nZShtYWtlU2ltcGxlUmFu
Z2UoKm1ha2VCb3VuZGFyeVBvaW50QmVmb3JlTm9kZSgqc2hhZG93QW5jZXN0b3IpKSk7Ci0gICAg
cmV0dXJuIGNyZWF0ZUxpdmVSYW5nZSgqZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmZp
cnN0UmFuZ2UoKSk7CisgICAgYXV0byBzaW1wbGVSYW5nZSA9IGZyYW1lLT5zZWxlY3Rpb24oKS5z
ZWxlY3Rpb24oKS5maXJzdFJhbmdlKCk7CisgICAgQVNTRVJUKHNpbXBsZVJhbmdlKTsgLy8gc2Vs
ZWN0aW9uIGlzIG9ycGhhbmVkIGJ1dCB0aGlzIHNob3VsZG4ndCBoYXBwZW4uCisgICAgaWYgKCFz
aW1wbGVSYW5nZSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEluZGV4U2l6ZUVycm9yIH07
CisgICAgcmV0dXJuIGNyZWF0ZUxpdmVSYW5nZSgqc2ltcGxlUmFuZ2UpOwogfQogCiB2b2lkIERP
TVNlbGVjdGlvbjo6cmVtb3ZlQWxsUmFuZ2VzKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420081</attachid>
            <date>2021-02-11 19:36:30 -0800</date>
            <delta_ts>2021-02-12 01:38:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221786-20210211193630.patch</filename>
            <type>text/plain</type>
            <size>1715</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNzYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODFkZGJlNzc0NTg4YzNh
NjBmMWRiZTgyZDhhZDJmODYyY2U1MTYxMi4uYWRjNzEyY2VkZWYyNDk3NjZlNzhhYmMwNmViYjFl
MWY2ZmExNjM4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAyLTExICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE51bGxvcHQgY3Jhc2ggaW4g
RE9NU2VsZWN0aW9uOjpnZXRSYW5nZUF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjE3ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBhbnkgd2F5
IHRvIHJlcHJvZHVjZSB0aGlzIGNyYXNoLgorCisgICAgICAgICogcGFnZS9ET01TZWxlY3Rpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VsZWN0aW9uOjpnZXRSYW5nZUF0KTogQWRkZWQg
YSBudWxsb3B0IGNoZWNrIHdpdGggYW4gYXNzZXJ0aW9uLgorCiAyMDIxLTAyLTExICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3IHVzYWdlIG9mIGFkb3B0
TlMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3BwCmluZGV4IDBkZjdkOWI2MTA3Nzdj
NjRkZGE3NWFhMDI2MmY3NDkyYmEwMGE5MjEuLjQxMTYxYzlmMmNjMDY0NzJkNjQ3YjMyODg5MDk4
YTc5YWVmZTFlNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAKQEAgLTM2Nyw3
ICszNjcsMTEgQEAgRXhjZXB0aW9uT3I8UmVmPFJhbmdlPj4gRE9NU2VsZWN0aW9uOjpnZXRSYW5n
ZUF0KHVuc2lnbmVkIGluZGV4KQogICAgICAgICByZXR1cm4gZnJhbWUtPnNlbGVjdGlvbigpLmFz
c29jaWF0ZWRMaXZlUmFuZ2UoKS5yZWxlYXNlTm9uTnVsbCgpOwogICAgIGlmIChhdXRvIHNoYWRv
d0FuY2VzdG9yID0gc2VsZWN0aW9uU2hhZG93QW5jZXN0b3IoZnJhbWUpKQogICAgICAgICByZXR1
cm4gY3JlYXRlTGl2ZVJhbmdlKG1ha2VTaW1wbGVSYW5nZSgqbWFrZUJvdW5kYXJ5UG9pbnRCZWZv
cmVOb2RlKCpzaGFkb3dBbmNlc3RvcikpKTsKLSAgICByZXR1cm4gY3JlYXRlTGl2ZVJhbmdlKCpm
cmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkuZmlyc3RSYW5nZSgpKTsKKyAgICBhdXRvIHNp
bXBsZVJhbmdlID0gZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmZpcnN0UmFuZ2UoKTsK
KyAgICBBU1NFUlQoc2ltcGxlUmFuZ2UpOyAvLyBzZWxlY3Rpb24gaXMgb3JwaGFuZWQgYnV0IHRo
aXMgc2hvdWxkbid0IGhhcHBlbi4KKyAgICBpZiAoIXNpbXBsZVJhbmdlKQorICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSW5kZXhTaXplRXJyb3IgfTsKKyAgICByZXR1cm4gY3JlYXRlTGl2ZVJh
bmdlKCpzaW1wbGVSYW5nZSk7CiB9CiAKIHZvaWQgRE9NU2VsZWN0aW9uOjpyZW1vdmVBbGxSYW5n
ZXMoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>