Bug 108594

Summary: [Chromium] table-section-overflow-clip-crash.html hits an assert
Product: WebKit Reporter: Hajime Morrita <morrita>
Component: Layout and RenderingAssignee: Ojan Vafai <ojan>
Status: RESOLVED FIXED    
Severity: Normal CC: dbarton, eric, hyatt, jchaffraix, leviw, ojan.autocc, ojan, tony, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Hajime Morrita 2013-02-01 00:21:57 PST
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=@ToT - chromium.org&tests=fast/js/kde/inbuilt_function_tostring.html,tables/table-section-overflow-clip-crash.html
Blamed range: http://trac.webkit.org/log/?verbose=on&rev=141517&stop_rev=141505
It looks the culprit is http://trac.webkit.org/changeset/141517

Stack  trace:
-----------
STDERR: ASSERTION FAILED: !object->isSetNeedsLayoutForbidden()
STDERR: ../../third_party/WebKit/Source/WebCore/rendering/RenderObject.cpp(682) : void WebCore::RenderObject::markContainingBlocksForLayout(bool, WebCore::RenderObject *)
STDERR: 1   0x764b319 WebCore::RenderObject::markContainingBlocksForLayout(bool, WebCore::RenderObject*)
STDERR: 2   0x6288d73 WebCore::RenderObject::setNeedsLayout(bool, WebCore::MarkingBehavior)
STDERR: 3   0x6211656 WebCore::RenderObject::setNeedsLayoutAndPrefWidthsRecalc()
STDERR: 4   0x75260b5 WebCore::RenderCounter::invalidate()
STDERR: 5   0x73a9b74 WebCore::CounterNode::resetRenderers()
STDERR: 6   0x73a9af6 WebCore::CounterNode::~CounterNode()
STDERR: 7   0x73a98eb WebCore::CounterNode::~CounterNode()
STDERR: 8   0x7530149 WTF::RefCounted<WebCore::CounterNode>::deref()
STDERR: 9   0x75300c8 void WTF::derefIfNotNull<WebCore::CounterNode>(WebCore::CounterNode*)
STDERR: 10  0x753005d WTF::RefPtr<WebCore::CounterNode>::~RefPtr()
STDERR: 11  0x7529ecb WTF::RefPtr<WebCore::CounterNode>::~RefPtr()
STDERR: 12  0x752ae46 WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> >::~KeyValuePair()
STDERR: 13  0x752adeb WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> >::~KeyValuePair()
STDERR: 14  0x752a76b WTF::HashTable<WTF::AtomicString, WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> > >, WTF::AtomicStringHash, WTF::HashMapValueTraits<WTF::HashTraits<WTF::AtomicString>, WTF::HashTraits<WTF::RefPtr<WebCore::CounterNode> > >, WTF::HashTraits<WTF::AtomicString> >::deleteBucket(WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> >&)
STDERR: 15  0x752a6d8 WTF::HashTable<WTF::AtomicString, WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> > >, WTF::AtomicStringHash, WTF::HashMapValueTraits<WTF::HashTraits<WTF::AtomicString>, WTF::HashTraits<WTF::RefPtr<WebCore::CounterNode> > >, WTF::HashTraits<WTF::AtomicString> >::remove(WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> >*)
STDERR: 16  0x752a5a7 WTF::HashTable<WTF::AtomicString, WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> > >, WTF::AtomicStringHash, WTF::HashMapValueTraits<WTF::HashTraits<WTF::AtomicString>, WTF::HashTraits<WTF::RefPtr<WebCore::CounterNode> > >, WTF::HashTraits<WTF::AtomicString> >::removeAndInvalidateWithoutEntryConsistencyCheck(WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> >*)
STDERR: 17  0x752a1f8 WTF::HashTable<WTF::AtomicString, WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> > >, WTF::AtomicStringHash, WTF::HashMapValueTraits<WTF::HashTraits<WTF::AtomicString>, WTF::HashTraits<WTF::RefPtr<WebCore::CounterNode> > >, WTF::HashTraits<WTF::AtomicString> >::removeWithoutEntryConsistencyCheck(WTF::HashTableIterator<WTF::AtomicString, WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> > >, WTF::AtomicStringHash, WTF::HashMapValueTraits<WTF::HashTraits<WTF::AtomicString>, WTF::HashTraits<WTF::RefPtr<WebCore::CounterNode> > >, WTF::HashTraits<WTF::AtomicString> >)
STDERR: 18  0x7529c6d WTF::HashMap<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode>, WTF::AtomicStringHash, WTF::HashTraits<WTF::AtomicString>, WTF::HashTraits<WTF::RefPtr<WebCore::CounterNode> > >::remove(WTF::HashTableIteratorAdapter<WTF::HashTable<WTF::AtomicString, WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> > >, WTF::AtomicStringHash, WTF::HashMapValueTraits<WTF::HashTraits<WTF::AtomicString>, WTF::HashTraits<WTF::RefPtr<WebCore::CounterNode> > >, WTF::HashTraits<WTF::AtomicString> >, WTF::KeyValuePair<WTF::AtomicString, WTF::RefPtr<WebCore::CounterNode> > >)
STDERR: 19  0x752679d WebCore::RenderCounter::destroyCounterNode(WebCore::RenderObject*, WTF::AtomicString const&)
STDERR: 20  0x73aa84f WebCore::CounterNode::insertAfter(WebCore::CounterNode*, WebCore::CounterNode*, WTF::AtomicString const&)
STDERR: 21  0x7525a8a _ZN7WebCoreL15makeCounterNodeEPNS_12RenderObjectERKN3WTF12AtomicStringEb
STDERR: 22  0x752551d WebCore::RenderCounter::originalText() const
STDERR: 23  0x7525f76 WebCore::RenderCounter::computePreferredLogicalWidths(float)
STDERR: 24  0x76eeb56 WebCore::RenderText::trimmedPrefWidths(float, float&, bool&, float&, bool&, bool&, bool&, float&, float&, float&, float&, bool&)
STDERR: 25  0x7433a25 WebCore::RenderBlock::computeInlinePreferredLogicalWidths()
STDERR: 26  0x74326b5 WebCore::RenderBlock::computePreferredLogicalWidths()
STDERR: 27  0x74c6eba WebCore::RenderBox::minPreferredLogicalWidth() const
STDERR: 28  0x7434346 WebCore::RenderBlock::computeBlockPreferredLogicalWidths()
STDERR: 29  0x74326c8 WebCore::RenderBlock::computePreferredLogicalWidths()
STDERR: 30  0x74c6eba WebCore::RenderBox::minPreferredLogicalWidth() const
STDERR: 31  0x7434346 WebCore::RenderBlock::computeBlockPreferredLogicalWidths()
-----------
Comment 1 Ojan Vafai 2013-02-01 21:12:00 PST
Ugh. Sorry. I don't understand how it's possible we're hitting this assert. I'll have to try to reproduce this on my Mac on Monday. In the meantime, feel free to rollout or mark the test as Skip or Crash on Mac Debug.
Comment 2 Ojan Vafai 2013-02-05 15:38:54 PST
Created attachment 186716 [details]
Patch
Comment 3 Build Bot 2013-02-05 22:27:19 PST
Comment on attachment 186716 [details]
Patch

Attachment 186716 [details] did not pass win-ews (win):
Output: http://queues.webkit.org/results/16378933
Comment 4 WebKit Review Bot 2013-02-06 16:56:47 PST
Comment on attachment 186716 [details]
Patch

Clearing flags on attachment: 186716

Committed r142056: <http://trac.webkit.org/changeset/142056>
Comment 5 WebKit Review Bot 2013-02-06 16:56:51 PST
All reviewed patches have been landed.  Closing bug.