<?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>76812</bug_id>
          
          <creation_ts>2012-01-23 00:13:28 -0800</creation_ts>
          <short_desc>Crash in previousLinePosition when moving into a root inline box without leaves</short_desc>
          <delta_ts>2012-01-30 16:18:28 -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>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows Vista</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Berend-Jan Wever">skylined</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>hyatt</cc>
    
    <cc>leviw</cc>
    
    <cc>mitz</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>540407</commentid>
    <comment_count>0</comment_count>
    <who name="Berend-Jan Wever">skylined</who>
    <bug_when>2012-01-23 00:13:28 -0800</bug_when>
    <thetext>Chromium: http://code.google.com/p/chromium/issues/detail?id=111026
Detailed report: https://cluster-fuzz.appspot.com/testcase?key=15314965

Uploader: skylined@chromium.org

Crash Type: UNKNOWN
Crash Address: 0x000000000035
Crash State:
  - crash stack -
  WebCore::RootInlineBox::closestLeafChildForLogicalLeftPosition
  WebCore::nextLinePosition
  WebCore::nextParagraphPosition
  
Regressed: https://cluster-fuzz.appspot.com/revisions?range=108839:108881

There are two variations, the first one crashes in nextLinePosition, the second one calls RootInlineBox::closestLeafChildForLogicalLeftPosition from nextLinePosition and crashes in the later. The repro from is almost the same; one turns &quot;design-mode&quot; off before modifying the selection, the other does not. Given the similarity in stack and repro, I assume the root cause is the same, so I&apos;m not filing a separate bug for the variation.
&lt;script&gt;
window.onload=function(){
  document.designMode=&quot;on&quot;;
  document.write(&quot;\x3Clabel style=\&quot;-webkit-mask-attachment: locarit; -webkit-margin-start: inherit;\&quot; class=\&quot;class_2\&quot; ondurationchange/\x3E&quot;);
  document.execCommand(&quot;selectall&quot;, false);
  document.execCommand(&quot;inserthorizontalrule&quot;, false);
  document.execCommand(&quot;selectall&quot;);
  document.execCommand(&quot;ForwardDelete&quot;, false);
  document.designMode=&quot;off&quot;; // Remove to get a different crash
  window.getSelection().modify(&quot;move&quot;,&quot;forward&quot;,&quot;paragraph&quot;);
}
&lt;/script&gt;

Stack:
id:             chrome.dll!WebCore::RootInlineBox::closestLeafChildForLogicalLeftPosition ReadAV@NULL (2e192a450f79a729ce10a9a093aa98c7)
description:    Attempt to read from unallocated NULL pointer+0x21 in chrome.dll!WebCore::RootInlineBox::closestLeafChildForLogicalLeftPosition
application:    Chromium 18.0.1011.0
stack:          chrome.dll!WebCore::RootInlineBox::closestLeafChildForLogicalLeftPosition
                chrome.dll!WebCore::nextLinePosition
                chrome.dll!WebCore::nextParagraphPosition
                chrome.dll!WebCore::FrameSelection::modifyMovingForward
                chrome.dll!WebCore::FrameSelection::modify
                chrome.dll!WebCore::DOMSelection::modify
                chrome.dll!WebCore::DOMSelectionInternal::modifyCallback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545430</commentid>
    <comment_count>1</comment_count>
      <attachid>124603</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-30 14:45:01 -0800</bug_when>
    <thetext>Created attachment 124603
fixes the crash</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545546</commentid>
    <comment_count>2</comment_count>
      <attachid>124603</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-01-30 16:10:29 -0800</bug_when>
    <thetext>Comment on attachment 124603
fixes the crash

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545553</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-30 16:15:54 -0800</bug_when>
    <thetext>Thanks for review! Landing it now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545560</commentid>
    <comment_count>4</comment_count>
      <attachid>124603</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-30 16:18:24 -0800</bug_when>
    <thetext>Comment on attachment 124603
fixes the crash

Clearing flags on attachment: 124603

Committed r106298: &lt;http://trac.webkit.org/changeset/106298&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545561</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-30 16:18:28 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124603</attachid>
            <date>2012-01-30 14:45:01 -0800</date>
            <delta_ts>2012-01-30 16:18:24 -0800</delta_ts>
            <desc>fixes the crash</desc>
            <filename>bug-76812-20120130144500.patch</filename>
            <type>text/plain</type>
            <size>3999</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjI4OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAxLTMwICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIENyYXNoIGluIHByZXZpb3VzTGlu
ZVBvc2l0aW9uIHdoZW4gbW92aW5nIGludG8gYSByb290IGlubGluZSBib3ggd2l0aG91dCBsZWF2
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODEy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGNy
YXNoIHdhcyBjYXVzZWQgYnkgdXMgYXNzdW1pbmcgdGhhdCBldmVyeSByb290IGlubGluZSBib3gg
aGFzIGF0IGxlYXN0IG9uZSBsZWFmLAorICAgICAgICB3aGljaCBpc24ndCB0cnVlIHdoZW4gd2Ug
Y3JlYXRlIGlubGluZSBib3hlcyBmb3IgYW4gZW1wdHkgdGV4dCBydW4gd2l0aCBtYXJnaW4sIGJv
cmRlciwgZXRjLi4uCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9zZWxlY3Rpb24vbW92ZS1pbnRv
LWVtcHR5LXJvb3QtaW5saW5lLWJveC5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL3Zpc2libGVf
dW5pdHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cHJldmlvdXNMaW5lUG9zaXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6bmV4dExpbmVQb3NpdGlvbik6CisKIDIwMTItMDEtMzAgIEFkcmllbm5l
IFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIEFsd2F5cyBw
cmUtcmVzZXJ2ZSBzY3JvbGxiYXIgYW5kIHNjcm9sbCBjb3JuZXIgdGV4dHVyZXMKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcAkocmV2aXNpb24gMTA2MjcwKQor
KysgU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTc2LDcgKzU3Niw3IEBAIFZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlv
bihjb24KICAgICAgICAgcm9vdCA9IGJveC0+cm9vdCgpLT5wcmV2Um9vdEJveCgpOwogICAgICAg
ICAvLyBXZSB3YW50IHRvIHNraXAgemVybyBoZWlnaHQgYm94ZXMuCiAgICAgICAgIC8vIFRoaXMg
Y291bGQgaGFwcGVuIGluIGNhc2UgaXQgaXMgYSBUcmFpbGluZ0Zsb2F0c1Jvb3RJbmxpbmVCb3gu
Ci0gICAgICAgIGlmICghcm9vdCB8fCAhcm9vdC0+bG9naWNhbEhlaWdodCgpKQorICAgICAgICBp
ZiAoIXJvb3QgfHwgIXJvb3QtPmxvZ2ljYWxIZWlnaHQoKSB8fCAhcm9vdC0+Zmlyc3RMZWFmQ2hp
bGQoKSkKICAgICAgICAgICAgIHJvb3QgPSAwOwogICAgIH0KIApAQCAtNjc3LDcgKzY3Nyw3IEBA
IFZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFYKICAgICAgICAgcm9vdCA9
IGJveC0+cm9vdCgpLT5uZXh0Um9vdEJveCgpOwogICAgICAgICAvLyBXZSB3YW50IHRvIHNraXAg
emVybyBoZWlnaHQgYm94ZXMuCiAgICAgICAgIC8vIFRoaXMgY291bGQgaGFwcGVuIGluIGNhc2Ug
aXQgaXMgYSBUcmFpbGluZ0Zsb2F0c1Jvb3RJbmxpbmVCb3guCi0gICAgICAgIGlmICghcm9vdCB8
fCAhcm9vdC0+bG9naWNhbEhlaWdodCgpKQorICAgICAgICBpZiAoIXJvb3QgfHwgIXJvb3QtPmxv
Z2ljYWxIZWlnaHQoKSB8fCAhcm9vdC0+Zmlyc3RMZWFmQ2hpbGQoKSkKICAgICAgICAgICAgIHJv
b3QgPSAwOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTA2Mjg5KQorKysgTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDEtMzAg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ3Jhc2ggaW4gcHJl
dmlvdXNMaW5lUG9zaXRpb24gd2hlbiBtb3ZpbmcgaW50byBhIHJvb3QgaW5saW5lIGJveCB3aXRo
b3V0IGxlYXZlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzY4MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgYSByZWdyZXNzaW9uIHRlc3QgZm9yIHRoZSBjcmFzaC4gVW5mb3J0dW5hdGVseSwgd2Ug
Y2FuIG9ubHkgdGVzdCBwcmV2aW91c0xpbmVQb3NpdGlvbi4KKworICAgICAgICAqIGVkaXRpbmcv
c2VsZWN0aW9uL21vdmUtaW50by1lbXB0eS1yb290LWlubGluZS1ib3gtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9tb3ZlLWludG8tZW1wdHktcm9vdC1p
bmxpbmUtYm94Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTAxLTMwICBMZXZpIFdlaW50cmF1YiAgPGxl
dml3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZy4gTWFya2lu
ZyBmYXN0L2pzL2RmZy1pbnQzMmFycmF5LW92ZXJmbG93LXZhbHVlcy5odG1sIGFzIHNsb3cKSW5k
ZXg6IExheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21vdmUtaW50by1lbXB0eS1yb290LWlu
bGluZS1ib3gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL21vdmUtaW50by1lbXB0eS1yb290LWlubGluZS1ib3gtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbW92ZS1pbnRvLWVt
cHR5LXJvb3QtaW5saW5lLWJveC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MiBAQAorCitUaGlzIHRlc3RzIG1vdmluZyBpbnRvIGFuIGVtcHR5IHJvb3QgaW5saW5lIGJveGVz
LiBUaGUgdGVzdCBwYXNzZXMgYXMgbG9uZyBhcyBXZWJLaXQgZG9lc24ndCBjcmFzaC4KSW5kZXg6
IExheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21vdmUtaW50by1lbXB0eS1yb290LWlubGlu
ZS1ib3guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9t
b3ZlLWludG8tZW1wdHktcm9vdC1pbmxpbmUtYm94Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tb3ZlLWludG8tZW1wdHktcm9vdC1pbmxpbmUtYm94
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPjxodG1s
Pjxib2R5Pjxicj48bGFiZWwgc3R5bGU9Im1hcmdpbi1sZWZ0OiBpbmhlcml0OyI+PC9sYWJlbD48
c2NyaXB0PgorCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24o
ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYnInKSwgMCk7CitnZXRTZWxlY3Rpb24oKS5tb2RpZnko
Im1vdmUiLCJmb3J3YXJkIiwicGFyYWdyYXBoIik7Citkb2N1bWVudC53cml0ZWxuKCJUaGlzIHRl
c3RzIG1vdmluZyBpbnRvIGFuIGVtcHR5IHJvb3QgaW5saW5lIGJveGVzLiBUaGUgdGVzdCBwYXNz
ZXMgYXMgbG9uZyBhcyBXZWJLaXQgZG9lc24ndCBjcmFzaC4iKTsKKworPC9zY3JpcHQ+PC9ib2R5
PjwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>