Bug 132884

Summary: [New multicolumn] Spin in RenderMultiColumnSet::repaintFlowThreadContent()
Product: WebKit Reporter: Jon Lee <jonlee>
Component: Layout and RenderingAssignee: Dave Hyatt <hyatt>
Status: RESOLVED FIXED    
Severity: Normal CC: abucur, bdakin, commit-queue, esprehn+autocc, glenn, kondapallykalyan, simon.fraser, thorton, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
URL: http://en.wikipedia.org/wiki/Ch%C3%A2teau_de_Chambord
Attachments:
Description Flags
Patch bdakin: review+

Description Jon Lee 2014-05-13 14:51:16 PDT
<rdar://problem/16828118>

We're seeing hangs:

967 WebCore::RenderFlowThread::repaintRectangleInRegions(WebCore::LayoutRect const&) const  (in WebCore) + 204  [0x192ea066c]
   466 WebCore::RenderMultiColumnSet::repaintFlowThreadContent(WebCore::LayoutRect const&)  (in WebCore) + 788  [0x192ede774]

on app.ft.com, http://en.wikipedia.org/wiki/Château_de_Chambord, http://en.m.wikipedia.org/wiki/IAC/InterActiveCorp', on various iOS devices
Comment 1 Jon Lee 2014-05-13 14:51:32 PDT
Simon believes it may be related to bug 132725.
Comment 2 Simon Fraser (smfr) 2014-05-14 15:58:42 PDT
More context:
           967 WebCore::RenderBlockFlow::layoutSpecialExcludedChild(bool)  (in WebCore) + 192  [0x192e739c4]
             967 WebCore::RenderMultiColumnFlowThread::layout()  (in WebCore) + 76  [0x192eda680]
               967 WebCore::RenderFlowThread::layout()  (in WebCore) + 280  [0x192e9fae8]
                 967 WebCore::RenderBlock::layout()  (in WebCore) + 68  [0x1923b1634]
                   967 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)  (in WebCore) + 756  [0x192e68be0]
                     967 WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&)  (in WebCore) + 520  [0x192e69920]
                       967 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)  (in WebCore) + 812  [0x192e6a830]
                         967 WebCore::RenderBlock::layout()  (in WebCore) + 68  [0x1923b1634]
                           967 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)  (in WebCore) + 756  [0x192e68be0]
                             967 WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&)  (in WebCore) + 520  [0x192e69920]
                               967 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)  (in WebCore) + 1820  [0x192e6ac20]
                                 967 WebCore::RenderObject::repaint() const  (in WebCore) + 132  [0x192ee9264]
                                   967 WebCore::RenderObject::repaintUsingContainer(WebCore::RenderLayerModelObject const*, WebCore::LayoutRect const&, bool) const  (in WebCore) + 72  [0x192ee8fe4]
                                     967 WebCore::RenderFlowThread::repaintRectangleInRegions(WebCore::LayoutRect const&) const  (in WebCore) + 204  [0x192ea066c]
                                       466 WebCore::RenderMultiColumnSet::repaintFlowThreadContent(WebCore::LayoutRect const&)  (in WebCore) + 788  [0x192ede774]
                                       ! 175 WebCore::RenderMultiColumnSet::columnRectAt(unsigned int) const  (in WebCore) + 68  [0x192edd75c]
                                       ! : 124 WebCore::RenderBoxModelObject::paddingBefore() const  (in WebCore) + 52  [0x1923b1188]
                                       ! : | 99 WebCore::RenderBoxModelObject::computedCSSPadding(WebCore::Length const&) const  (in WebCore) + 92  [0x192e83f34]
                                       ! : | + 91 WebCore::RenderBoxModelObject::computedCSSPadding(WebCore::Length const&) const  (in WebCore) + 92  [0x192e83f34]
                                       ! : | + ! 91 WebCore::minimumValueForLength(WebCore::Length const&, WebCore::LayoutUnit, WebCore::RenderView*, bool)  (in WebCore) + 396,36,...  [0x1923a1070,0x1923a0f08,...]
                                       ! : | + 7 WebCore::minimumValueForLength(WebCore::Length const&, WebCore::LayoutUnit, WebCore::RenderView*, bool)  (in WebCore) + 408  [0x1923a107c]
Comment 3 Simon Fraser (smfr) 2014-05-14 19:30:51 PDT
Created attachment 231480 [details]
Patch
Comment 4 Simon Fraser (smfr) 2014-05-14 19:34:22 PDT
http://trac.webkit.org/changeset/168882
Comment 5 Andrei Bucur 2014-05-15 08:52:35 PDT
Just a hunch: this may be related with https://codereview.chromium.org/263203003/
Comment 6 Dave Hyatt 2014-05-16 01:29:12 PDT
Yeah seems related.