<?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>141032</bug_id>
          
          <creation_ts>2015-01-29 07:18:16 -0800</creation_ts>
          <short_desc>ASSERTION FAILED: !root-&gt;needsLayout() in WebCore::FrameView::layout</short_desc>
          <delta_ts>2015-05-07 05:50:59 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>116980</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Renata Hodovan">rhodovan.u-szeged</reporter>
          <assigned_to name="Hyungwook Lee">hyungwook.lee</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>hyungwook.lee</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1065227</commentid>
    <comment_count>0</comment_count>
      <attachid>245618</attachid>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2015-01-29 07:18:16 -0800</bug_when>
    <thetext>Created attachment 245618
Test case

Load this with debug WK:

&lt;style&gt;
* {
    display:list-item;
}
&lt;/style&gt;
&lt;marquee&gt;
    &lt;font&gt;&lt;/font&gt;
&lt;/marquee&gt;


Backtrace:

ASSERTION FAILED: !root-&gt;needsLayout()
../../Source/WebCore/page/FrameView.cpp(1379) : void WebCore::FrameView::layout(bool)

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff8affd700 (LWP 10698)]
0x00007fffed72443d in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321
321	    *(int *)(uintptr_t)0xbbadbeef = 0;
#0  0x00007fffed72443d in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321
#1  0x00007ffff3520215 in WebCore::FrameView::layout (this=0x7ffff7ec4b00, allowSubtree=true) at ../../Source/WebCore/page/FrameView.cpp:1379
#2  0x00007ffff2ec5963 in WebCore::Document::implicitClose (this=0x7fff9851c000) at ../../Source/WebCore/dom/Document.cpp:2497
#3  0x00007ffff33c6915 in WebCore::FrameLoader::checkCallImplicitClose (this=0x7ffff7f37a98) at ../../Source/WebCore/loader/FrameLoader.cpp:901
#4  0x00007ffff33c6681 in WebCore::FrameLoader::checkCompleted (this=0x7ffff7f37a98) at ../../Source/WebCore/loader/FrameLoader.cpp:847
#5  0x00007ffff33c63ea in WebCore::FrameLoader::finishedParsing (this=0x7ffff7f37a98) at ../../Source/WebCore/loader/FrameLoader.cpp:767
#6  0x00007ffff2ece858 in WebCore::Document::finishedParsing (this=0x7fff9851c000) at ../../Source/WebCore/dom/Document.cpp:4629
#7  0x00007ffff32372b3 in WebCore::HTMLConstructionSite::finishedParsing (this=0x7ffff7f31800) at ../../Source/WebCore/html/parser/HTMLConstructionSite.cpp:404
#8  0x00007ffff3273c26 in WebCore::HTMLTreeBuilder::finished (this=0x7ffff7f317e0) at ../../Source/WebCore/html/parser/HTMLTreeBuilder.cpp:2941
#9  0x00007ffff323fb32 in WebCore::HTMLDocumentParser::end (this=0x7ffff7ecc100) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:402
#10 0x00007ffff323fc00 in WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd (this=0x7ffff7ecc100) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:411
#11 0x00007ffff323e8b0 in WebCore::HTMLDocumentParser::prepareToStopParsing (this=0x7ffff7ecc100) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:132
#12 0x00007ffff323fc37 in WebCore::HTMLDocumentParser::attemptToEnd (this=0x7ffff7ecc100) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:423
#13 0x00007ffff323fce5 in WebCore::HTMLDocumentParser::finish (this=0x7ffff7ecc100) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:451
#14 0x00007ffff33b6ac7 in WebCore::DocumentWriter::end (this=0x7ffff7eb7aa0) at ../../Source/WebCore/loader/DocumentWriter.cpp:247
#15 0x00007ffff33a212b in WebCore::DocumentLoader::finishedLoading (this=0x7ffff7eb7a00, finishTime=0) at ../../Source/WebCore/loader/DocumentLoader.cpp:440
#16 0x00007ffff33a1e94 in WebCore::DocumentLoader::notifyFinished (this=0x7ffff7eb7a00, resource=0x7ffff7ec4680) at ../../Source/WebCore/loader/DocumentLoader.cpp:374
#17 0x00007ffff345619c in WebCore::CachedResource::checkNotify (this=0x7ffff7ec4680) at ../../Source/WebCore/loader/cache/CachedResource.cpp:296
#18 0x00007ffff345629a in WebCore::CachedResource::finishLoading (this=0x7ffff7ec4680) at ../../Source/WebCore/loader/cache/CachedResource.cpp:312
#19 0x00007ffff34528a1 in WebCore::CachedRawResource::finishLoading (this=0x7ffff7ec4680, data=0x7fff98514570) at ../../Source/WebCore/loader/cache/CachedRawResource.cpp:104
#20 0x00007ffff34050fd in WebCore::SubresourceLoader::didFinishLoading (this=0x7ffff7ec4200, finishTime=0) at ../../Source/WebCore/loader/SubresourceLoader.cpp:364
#21 0x00007ffff3400a37 in WebCore::ResourceLoader::didFinishLoading (this=0x7ffff7ec4200, finishTime=0) at ../../Source/WebCore/loader/ResourceLoader.cpp:502
#22 0x00007ffff3db16a5 in WebCore::readCallback (asyncResult=0x6ba1f0, data=0x7fff9850c100) at ../../Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1295
#23 0x00007fffeb26d7e6 in async_ready_callback_wrapper (source_object=0x7c72d0, res=0x6ba1f0, user_data=user_data@entry=0x7fff9850c100) at ginputstream.c:523
#24 0x00007fffeb2930e5 in g_task_return_now (task=0x6ba1f0) at gtask.c:1077
#25 0x00007fffeb293109 in complete_in_idle_cb (task=0x6ba1f0) at gtask.c:1086
#26 0x00007fffea54ba1d in g_main_dispatch (context=0x478b00) at gmain.c:3064
#27 g_main_context_dispatch (context=context@entry=0x478b00) at gmain.c:3663
#28 0x00007fffea54bd88 in g_main_context_iterate (context=0x478b00, block=block@entry=1, dispatch=dispatch@entry=1, self=&lt;optimized out&gt;) at gmain.c:3734
#29 0x00007fffea54c04a in g_main_loop_run (loop=0x901bd0) at gmain.c:3928
#30 0x00007ffff44b40b6 in WTF::RunLoop::run () at ../../Source/WTF/wtf/gtk/RunLoopGtk.cpp:59
#31 0x00007ffff299deac in WebKit::ChildProcessMain&lt;WebKit::WebProcess, WebKit::WebProcessMain&gt; (argc=2, argv=0x7fffffffd988) at ../../Source/WebKit2/Shared/unix/ChildProcessMain.h:61
#32 0x00007ffff299dd11 in WebKit::WebProcessMainUnix (argc=2, argv=0x7fffffffd988) at ../../Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp:77
#33 0x00000000004008d1 in main (argc=2, argv=0x7fffffffd988) at ../../Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp:44</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065557</commentid>
    <comment_count>1</comment_count>
    <who name="Hyungwook Lee">hyungwook.lee</who>
    <bug_when>2015-01-30 05:59:00 -0800</bug_when>
    <thetext>I&apos;ve start to look at this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066405</commentid>
    <comment_count>2</comment_count>
      <attachid>245934</attachid>
    <who name="Hyungwook Lee">hyungwook.lee</who>
    <bug_when>2015-02-03 05:52:18 -0800</bug_when>
    <thetext>Created attachment 245934
patch

patch for this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066448</commentid>
    <comment_count>3</comment_count>
      <attachid>245934</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-02-03 08:47:35 -0800</bug_when>
    <thetext>Comment on attachment 245934
patch

This patch doesn’t apply. Could you rebase and attach one that does apply? That change looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066675</commentid>
    <comment_count>4</comment_count>
      <attachid>245998</attachid>
    <who name="Hyungwook Lee">hyungwook.lee</who>
    <bug_when>2015-02-03 17:45:32 -0800</bug_when>
    <thetext>Created attachment 245998
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066824</commentid>
    <comment_count>5</comment_count>
      <attachid>245998</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-02-04 09:12:44 -0800</bug_when>
    <thetext>Comment on attachment 245998
patch

I think this change is OK;I am a little bit unclear on this. If one layout can cause the need for another layout, maybe we have a real problem here, not just a misplaced assert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067066</commentid>
    <comment_count>6</comment_count>
    <who name="Hyungwook Lee">hyungwook.lee</who>
    <bug_when>2015-02-05 01:05:13 -0800</bug_when>
    <thetext>In my understanding RenderLayer::updateLayerPositionsAfterLayout() can makes another layout when we have Marquee Element.

I think FrameView::layout() looks allowing another layout internally if needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067260</commentid>
    <comment_count>7</comment_count>
      <attachid>245998</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-05 17:05:14 -0800</bug_when>
    <thetext>Comment on attachment 245998
patch

Clearing flags on attachment: 245998

Committed r179726: &lt;http://trac.webkit.org/changeset/179726&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067261</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-05 17:05:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>245618</attachid>
            <date>2015-01-29 07:18:16 -0800</date>
            <delta_ts>2015-01-29 07:18:16 -0800</delta_ts>
            <desc>Test case</desc>
            <filename>crash.html</filename>
            <type>text/html</type>
            <size>84</size>
            <attacher name="Renata Hodovan">rhodovan.u-szeged</attacher>
            
              <data encoding="base64">PHN0eWxlPgoqIHsKICAgIGRpc3BsYXk6bGlzdC1pdGVtOwp9Cjwvc3R5bGU+CjxtYXJxdWVlPgog
ICAgPGZvbnQ+PC9mb250Pgo8L21hcnF1ZWU+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245934</attachid>
            <date>2015-02-03 05:52:18 -0800</date>
            <delta_ts>2015-02-03 17:45:32 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1467</size>
            <attacher name="Hyungwook Lee">hyungwook.lee</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE3OTU0
NikKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE1LTAy
LTAzICBIeXVuZ3dvb2sgTGVlICA8aHl1bmd3b29rLmxlZUBuYXZlcmNvcnAuY29tPgorCisgICAg
ICAgIEZpeCBBU1NFUlRJT04gRkFJTEVEOiAhcm9vdC0+bmVlZHNMYXlvdXQoKSBpbiBGcmFtZVZp
ZXc6OmxheW91dCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDEwMzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIHBhdGNoIG1vdmVzIHRoZSAhcm9vdC0+bmVlZHNMYXlvdXQoKSBhc3NlcnQgc3Rh
dGVtZW50IGFib3ZlCisgICAgICAgIHVwZGF0ZUxheWVyUG9zaXRpb25zQWZ0ZXJMYXlvdXQoKSB0
aGF0IGNhbiBtb2RpZnkgZGlydHkgYml0IHN5c3RlbQorICAgICAgICB3aGVuIHdlIGhhdmUgUmVu
ZGVyTWFycXVlZS4KKworICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0KToKKwogMjAxNS0wMi0wMiAgRGFyaW4gQWRsZXIgIDxk
YXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjE3MDU3Nik6IFN0b3JhZ2Ug
bGVha3MgaW4gcGFyc2luZyBvZiBDU1MgaW1hZ2Ugc2l6ZXMKSW5kZXg6IHBhZ2UvRnJhbWVWaWV3
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBwYWdlL0ZyYW1lVmlldy5jcHAJKHJldmlzaW9uIDE3OTIzNykK
KysrIHBhZ2UvRnJhbWVWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM1NSw2ICsxMzU1LDgg
QEAKICAgICBpZiAobV9uZWVkc0Z1bGxSZXBhaW50KQogICAgICAgICByb290LT52aWV3KCkucmVw
YWludFJvb3RDb250ZW50cygpOwogCisgICAgQVNTRVJUKCFyb290LT5uZWVkc0xheW91dCgpKTsK
KwogICAgIGxheWVyLT51cGRhdGVMYXllclBvc2l0aW9uc0FmdGVyTGF5b3V0KHJlbmRlclZpZXco
KS0+bGF5ZXIoKSwgdXBkYXRlTGF5ZXJQb3NpdGlvbkZsYWdzKGxheWVyLCBzdWJ0cmVlLCBtX25l
ZWRzRnVsbFJlcGFpbnQpKTsKIAogICAgIHVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzQWZ0ZXJMYXlv
dXQoKTsKQEAgLTEzNzYsOCArMTM3OCw2IEBACiAgICAgZG9jdW1lbnQuZGlydHlUb3VjaEV2ZW50
UmVjdHMoKTsKICNlbmRpZgogCi0gICAgQVNTRVJUKCFyb290LT5uZWVkc0xheW91dCgpKTsKLQog
ICAgIHVwZGF0ZUNhbkJsaXRPblNjcm9sbFJlY3Vyc2l2ZWx5KCk7CiAKICAgICBoYW5kbGVEZWZl
cnJlZFNjcm9sbFVwZGF0ZUFmdGVyQ29udGVudFNpemVDaGFuZ2UoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245998</attachid>
            <date>2015-02-03 17:45:32 -0800</date>
            <delta_ts>2015-02-05 17:05:14 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1578</size>
            <attacher name="Hyungwook Lee">hyungwook.lee</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3OTU4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE1LTAyLTA0ICBIeXVuZ3dv
b2sgTGVlICA8aHl1bmd3b29rLmxlZUBuYXZlcmNvcnAuY29tPgorCisgICAgICAgIEZpeCBBU1NF
UlRJT04gRkFJTEVEOiAhcm9vdC0+bmVlZHNMYXlvdXQoKSBpbiBGcmFtZVZpZXc6OmxheW91dCgp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDEwMzIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBh
dGNoIG1vdmVzIHRoZSAhcm9vdC0+bmVlZHNMYXlvdXQoKSBhc3NlcnQgc3RhdGVtZW50IGFib3Zl
CisgICAgICAgIHVwZGF0ZUxheWVyUG9zaXRpb25zQWZ0ZXJMYXlvdXQoKSB0aGF0IGNhbiBtb2Rp
ZnkgZGlydHkgYml0IHN5c3RlbQorICAgICAgICB3aGVuIHdlIGhhdmUgUmVuZGVyTWFycXVlZS4K
KworICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
Vmlldzo6bGF5b3V0KToKKwogMjAxNS0wMi0wMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIERyb3AgUmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVkIHJlc291
cmNlIGxvYWQgcHJpb3JpdHkgYW5kIHVzZSBPcHRpb25hbDw+IGluc3RlYWQKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHJldmlzaW9uIDE3OTU4NSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM1NSw2ICsxMzU1LDggQEAK
ICAgICBpZiAobV9uZWVkc0Z1bGxSZXBhaW50KQogICAgICAgICByb290LT52aWV3KCkucmVwYWlu
dFJvb3RDb250ZW50cygpOwogCisgICAgQVNTRVJUKCFyb290LT5uZWVkc0xheW91dCgpKTsKKwog
ICAgIGxheWVyLT51cGRhdGVMYXllclBvc2l0aW9uc0FmdGVyTGF5b3V0KHJlbmRlclZpZXcoKS0+
bGF5ZXIoKSwgdXBkYXRlTGF5ZXJQb3NpdGlvbkZsYWdzKGxheWVyLCBzdWJ0cmVlLCBtX25lZWRz
RnVsbFJlcGFpbnQpKTsKIAogICAgIHVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzQWZ0ZXJMYXlvdXQo
KTsKQEAgLTEzNzYsOCArMTM3OCw2IEBACiAgICAgZG9jdW1lbnQuZGlydHlUb3VjaEV2ZW50UmVj
dHMoKTsKICNlbmRpZgogCi0gICAgQVNTRVJUKCFyb290LT5uZWVkc0xheW91dCgpKTsKLQogICAg
IHVwZGF0ZUNhbkJsaXRPblNjcm9sbFJlY3Vyc2l2ZWx5KCk7CiAKICAgICBoYW5kbGVEZWZlcnJl
ZFNjcm9sbFVwZGF0ZUFmdGVyQ29udGVudFNpemVDaGFuZ2UoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>