Bug 152114 - ASSERTION FAILED: !m_visibleDescendantStatusDirty in WebCore::RenderLayer::isVisuallyNonEmpty
Summary: ASSERTION FAILED: !m_visibleDescendantStatusDirty in WebCore::RenderLayer::is...
Status: RESOLVED WORKSFORME
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Local Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 116980
  Show dependency treegraph
 
Reported: 2015-12-10 02:29 PST by Renata Hodovan
Modified: 2016-01-14 13:35 PST (History)
2 users (show)

See Also:


Attachments
Test (447 bytes, text/html)
2015-12-10 02:29 PST, Renata Hodovan
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Renata Hodovan 2015-12-10 02:29:38 PST
Created attachment 267084 [details]
Test

Load the attached test with debug MiniBrowser:

<script>
window.onload = function() {
    document.designMode = 'on'
    document.execCommand('selectAll')
    document.execCommand('indent')
}
</script>
<style>
* {
    overflow: scroll
}
#id_0 {
    will-change:top, opacity 
}
* {
    will-change:-webkit-box-reflect;
    position: absolute;
}
</style>
<a>
    <font-face-format id="id_0"></font-face-format>
    <font-face-name ></font-face-name>
    <font-face-name ></font-face-name>
</a>    

OS: Ubuntu 15.10 x86_64
Checked build: debug EFL
Checked version: 2559fac


Backtrace:

ASSERTION FAILED: !m_visibleDescendantStatusDirty
../../Source/WebCore/rendering/RenderLayer.cpp(6561) : bool WebCore::RenderLayer::isVisuallyNonEmpty() const
1   0x7f45e2b1ffb8 WTFCrash
2   0x7f45e19a65b6 WebCore::RenderLayer::isVisuallyNonEmpty() const
3   0x7f45e19c0254
4   0x7f45e19c02f0 WebCore::RenderLayerBacking::isPaintDestinationForDescendantLayers() const
5   0x7f45e19bfc99 WebCore::RenderLayerBacking::paintsChildren() const
6   0x7f45e19bfe1f WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer() const
7   0x7f45e19b8eea WebCore::RenderLayerBacking::updateConfiguration()
8   0x7f45e19c8a39 WebCore::RenderLayerCompositor::updateLayerCompositingState(WebCore::RenderLayer&, WebCore::RenderLayerCompositor::CompositingChangeRepaint)
9   0x7f45e1996d23 WebCore::RenderLayer::updateScrollInfoAfterLayout()
10  0x7f45e1870b0e WebCore::RenderBlock::updateScrollInfoAfterLayout()
11  0x7f45e18723b2 WebCore::RenderBlock::simplifiedLayout()
12  0x7f45e189e977 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
13  0x7f45e1870bb2 WebCore::RenderBlock::layout()
14  0x7f45e1843cdd WebCore::RenderElement::layoutIfNeeded()
15  0x7f45e18729d6 WebCore::RenderBlock::layoutPositionedObject(WebCore::RenderBox&, bool, bool)
16  0x7f45e1872b4e WebCore::RenderBlock::layoutPositionedObjects(bool, bool)
17  0x7f45e187232f WebCore::RenderBlock::simplifiedLayout()
18  0x7f45e189e977 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
19  0x7f45e1870bb2 WebCore::RenderBlock::layout()
20  0x7f45e1843cdd WebCore::RenderElement::layoutIfNeeded()
21  0x7f45e18729d6 WebCore::RenderBlock::layoutPositionedObject(WebCore::RenderBox&, bool, bool)
22  0x7f45e1872b4e WebCore::RenderBlock::layoutPositionedObjects(bool, bool)
23  0x7f45e189f15b WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
24  0x7f45e1870bb2 WebCore::RenderBlock::layout()
25  0x7f45e1a87d77 WebCore::RenderView::layoutContent(WebCore::LayoutState const&)
26  0x7f45e1a8846f WebCore::RenderView::layout()
27  0x7f45e164d7dc WebCore::FrameView::layout(bool)
28  0x7f45e10a07f5 WebCore::Document::updateLayout()
29  0x7f45e10a090c WebCore::Document::updateLayoutIgnorePendingStylesheets(WebCore::Document::RunPostLayoutTasks)
30  0x7f45e1257fe0 WebCore::VisiblePosition::canonicalPosition(WebCore::Position const&)
31  0x7f45e12559e4 WebCore::VisiblePosition::init(WebCore::Position const&, WebCore::EAffinity)
Aborted (core dumped)

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f45e2b1ffbd in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321
321     *(int *)(uintptr_t)0xbbadbeef = 0;
[Current thread is 1 (Thread 0x7f45e6655a80 (LWP 22460))]
#0  0x00007f45e2b1ffbd in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321
#1  0x00007f45e19a65b6 in WebCore::RenderLayer::isVisuallyNonEmpty (this=0x7f45c236aea0) at ../../Source/WebCore/rendering/RenderLayer.cpp:6561
#2  0x00007f45e19c0254 in WebCore::descendantLayerPaintsIntoAncestor (parent=...) at ../../Source/WebCore/rendering/RenderLayerBacking.cpp:1928
#3  0x00007f45e19c02f0 in WebCore::RenderLayerBacking::isPaintDestinationForDescendantLayers (this=0x7f457a1ef9d8) at ../../Source/WebCore/rendering/RenderLayerBacking.cpp:1940
#4  0x00007f45e19bfc99 in WebCore::RenderLayerBacking::paintsChildren (this=0x7f457a1ef9d8) at ../../Source/WebCore/rendering/RenderLayerBacking.cpp:1817
#5  0x00007f45e19bfe1f in WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer (this=0x7f457a1ef9d8) at ../../Source/WebCore/rendering/RenderLayerBacking.cpp:1851
#6  0x00007f45e19b8eea in WebCore::RenderLayerBacking::updateConfiguration (this=0x7f457a1ef9d8) at ../../Source/WebCore/rendering/RenderLayerBacking.cpp:615
#7  0x00007f45e19c8a39 in WebCore::RenderLayerCompositor::updateLayerCompositingState (this=0x7f45c235a230, layer=..., shouldRepaint=WebCore::RenderLayerCompositor::CompositingChangeRepaintNow) at ../../Source/WebCore/rendering/RenderLayerCompositor.cpp:1118
#8  0x00007f45e1996d23 in WebCore::RenderLayer::updateScrollInfoAfterLayout (this=0x7f45c236ad80) at ../../Source/WebCore/rendering/RenderLayer.cpp:3509
#9  0x00007f45e1870b0e in WebCore::RenderBlock::updateScrollInfoAfterLayout (this=0x7f45c23b6398) at ../../Source/WebCore/rendering/RenderBlock.cpp:918
#10 0x00007f45e18723b2 in WebCore::RenderBlock::simplifiedLayout (this=0x7f45c23b6398) at ../../Source/WebCore/rendering/RenderBlock.cpp:1250
#11 0x00007f45e189e977 in WebCore::RenderBlockFlow::layoutBlock (this=0x7f45c23b6398, relayoutChildren=false, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:433
#12 0x00007f45e1870bb2 in WebCore::RenderBlock::layout (this=0x7f45c23b6398) at ../../Source/WebCore/rendering/RenderBlock.cpp:931
#13 0x00007f45e1843cdd in WebCore::RenderElement::layoutIfNeeded (this=0x7f45c23b6398) at ../../Source/WebCore/rendering/RenderElement.h:135
#14 0x00007f45e18729d6 in WebCore::RenderBlock::layoutPositionedObject (this=0x7f45c23b62e0, r=..., relayoutChildren=false, fixedPositionObjectsOnly=false) at ../../Source/WebCore/rendering/RenderBlock.cpp:1345
#15 0x00007f45e1872b4e in WebCore::RenderBlock::layoutPositionedObjects (this=0x7f45c23b62e0, relayoutChildren=false, fixedPositionObjectsOnly=false) at ../../Source/WebCore/rendering/RenderBlock.cpp:1368
#16 0x00007f45e187232f in WebCore::RenderBlock::simplifiedLayout (this=0x7f45c23b62e0) at ../../Source/WebCore/rendering/RenderBlock.cpp:1234
#17 0x00007f45e189e977 in WebCore::RenderBlockFlow::layoutBlock (this=0x7f45c23b62e0, relayoutChildren=false, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:433
#18 0x00007f45e1870bb2 in WebCore::RenderBlock::layout (this=0x7f45c23b62e0) at ../../Source/WebCore/rendering/RenderBlock.cpp:931
#19 0x00007f45e1843cdd in WebCore::RenderElement::layoutIfNeeded (this=0x7f45c23b62e0) at ../../Source/WebCore/rendering/RenderElement.h:135
#20 0x00007f45e18729d6 in WebCore::RenderBlock::layoutPositionedObject (this=0x7f45c235c250, r=..., relayoutChildren=false, fixedPositionObjectsOnly=false) at ../../Source/WebCore/rendering/RenderBlock.cpp:1345
#21 0x00007f45e1872b4e in WebCore::RenderBlock::layoutPositionedObjects (this=0x7f45c235c250, relayoutChildren=false, fixedPositionObjectsOnly=false) at ../../Source/WebCore/rendering/RenderBlock.cpp:1368
#22 0x00007f45e189f15b in WebCore::RenderBlockFlow::layoutBlock (this=0x7f45c235c250, relayoutChildren=false, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:524
#23 0x00007f45e1870bb2 in WebCore::RenderBlock::layout (this=0x7f45c235c250) at ../../Source/WebCore/rendering/RenderBlock.cpp:931
#24 0x00007f45e1a87d77 in WebCore::RenderView::layoutContent (this=0x7f45c235c250, state=...) at ../../Source/WebCore/rendering/RenderView.cpp:253
#25 0x00007f45e1a8846f in WebCore::RenderView::layout (this=0x7f45c235c250) at ../../Source/WebCore/rendering/RenderView.cpp:378
#26 0x00007f45e164d7dc in WebCore::FrameView::layout (this=0x7f45c220c000, allowSubtree=true) at ../../Source/WebCore/page/FrameView.cpp:1427
#27 0x00007f45e10a07f5 in WebCore::Document::updateLayout (this=0x7f45c221d9c0) at ../../Source/WebCore/dom/Document.cpp:1916
#28 0x00007f45e10a090c in WebCore::Document::updateLayoutIgnorePendingStylesheets (this=0x7f45c221d9c0, runPostLayoutTasks=WebCore::Document::RunPostLayoutTasks::Asynchronously) at ../../Source/WebCore/dom/Document.cpp:1948
#29 0x00007f45e1257fe0 in WebCore::VisiblePosition::canonicalPosition (this=0x7ffca1313020, passedPosition=...) at ../../Source/WebCore/editing/VisiblePosition.cpp:519
#30 0x00007f45e12559e4 in WebCore::VisiblePosition::init (this=0x7ffca1313020, position=..., affinity=WebCore::DOWNSTREAM) at ../../Source/WebCore/editing/VisiblePosition.cpp:58
#31 0x00007f45e125597a in WebCore::VisiblePosition::VisiblePosition (this=0x7ffca1313020, pos=..., affinity=WebCore::DOWNSTREAM) at ../../Source/WebCore/editing/VisiblePosition.cpp:51
#32 0x00007f45e23dd98b in WebCore::CompositeEditCommand::moveParagraphWithClones (this=0x7f45c2327108, startOfParagraphToMove=..., endOfParagraphToMove=..., blockElement=0x7f45c23e2d68, outerNode=0x7f45c23a8d80) at ../../Source/WebCore/editing/CompositeEditCommand.cpp:1199
#33 0x00007f45e1220e38 in WebCore::IndentOutdentCommand::indentIntoBlockquote (this=0x7f45c2327108, start=..., end=..., targetBlockquote=...) at ../../Source/WebCore/editing/IndentOutdentCommand.cpp:117
#34 0x00007f45e12226da in WebCore::IndentOutdentCommand::formatRange (this=0x7f45c2327108, start=..., end=..., blockquoteForNextIndent=...) at ../../Source/WebCore/editing/IndentOutdentCommand.cpp:236
#35 0x00007f45e23c0b8d in WebCore::ApplyBlockElementCommand::formatSelection (this=0x7f45c2327108, startOfSelection=..., endOfSelection=...) at ../../Source/WebCore/editing/ApplyBlockElementCommand.cpp:145
#36 0x00007f45e122265b in WebCore::IndentOutdentCommand::formatSelection (this=0x7f45c2327108, startOfSelection=..., endOfSelection=...) at ../../Source/WebCore/editing/IndentOutdentCommand.cpp:226
#37 0x00007f45e23bfdfc in WebCore::ApplyBlockElementCommand::doApply (this=0x7f45c2327108) at ../../Source/WebCore/editing/ApplyBlockElementCommand.cpp:90
#38 0x00007f45e23d5f86 in WebCore::CompositeEditCommand::apply (this=0x7f45c2327108) at ../../Source/WebCore/editing/CompositeEditCommand.cpp:227
#39 0x00007f45e23d5d4d in WebCore::applyCommand (command=...) at ../../Source/WebCore/editing/CompositeEditCommand.cpp:186
#40 0x00007f45e12086f6 in WebCore::executeIndent (frame=...) at ../../Source/WebCore/editing/EditorCommand.cpp:456
#41 0x00007f45e120c99e in WebCore::Editor::Command::execute (this=0x7ffca13139f0, parameter=..., triggeringEvent=0x0) at ../../Source/WebCore/editing/EditorCommand.cpp:1703
#42 0x00007f45e10ac33d in WebCore::Document::execCommand (this=0x7f45c221d9c0, commandName=..., userInterface=false, value=...) at ../../Source/WebCore/dom/Document.cpp:4656
#43 0x00007f45e281090f in WebCore::jsDocumentPrototypeFunctionExecCommand (state=0x7ffca1313ac0) at DerivedSources/WebCore/JSDocument.cpp:5066
#44 0x00007f457bfff0c8 in ?? ()
#45 0x00007ffca1313b50 in ?? ()
#46 0x00007f45d62e757c in llint_entry () from webkit/WebKitBuild/Debug/lib/libjavascriptcore_efl.so.1
Comment 1 zalan 2016-01-14 13:35:07 PST
Can't repro with r195071