Closed Bug 1543140 Opened 7 years ago Closed 3 years ago

Stack overflow due to new Reflow requests when ChildrenHavePerspective() updates overflow

Categories

(Core :: Layout, defect, P3)

51 Branch
defect

Tracking

()

RESOLVED DUPLICATE of bug 1756826
Tracking Status
firefox-esr60 --- wontfix
firefox66 --- wontfix
firefox67 --- wontfix
firefox68 --- fix-optional

People

(Reporter: jkratzer, Unassigned)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: crash, regression, testcase)

Attachments

(2 files)

Attached file testcase.html

Testcase found while fuzzing mozilla-central rev 98b223de0543.

==21223==ERROR: AddressSanitizer: stack-overflow on address 0x7ffcadf31ff8 (pc 0x55d46a208de6 bp 0x000000000120 sp 0x7ffcadf32000 T0)
#0 0x55d46a208de5 in __sanitizer::CombinedAllocator<__sanitizer::SizeClassAllocator64<__asan::AP64>, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<__asan::AP64> >, __sanitizer::LargeMmapAllocator<__asan::AsanMapUnmapCallback, __sanitizer::LargeMmapAllocatorPtrArrayDynamic> >::Allocate(__sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<__asan::AP64> >, unsigned long, unsigned long) /builds/worker/workspace/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/../sanitizer_common/sanitizer_allocator_combined.h:39
#1 0x55d46a204613 in __asan::Allocator::Allocate(unsigned long, unsigned long, __sanitizer::BufferedStackTrace
, __asan::AllocType, bool) /builds/worker/workspace/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_allocator.cc:453:29
#2 0x55d46a204dca in Calloc /builds/worker/workspace/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_allocator.cc:682:17
#3 0x55d46a204dca in __asan::asan_calloc(unsigned long, unsigned long, __sanitizer::BufferedStackTrace*) /builds/worker/workspace/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_allocator.cc:880
#4 0x55d46a2ab01c in calloc /builds/worker/workspace/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:156:10
#5 0x7f6f4c2787ec in PLDHashTable::Add(void const*, std::nothrow_t const&) /builds/worker/workspace/build/src/xpcom/ds/PLDHashTable.cpp:528:28
#6 0x7f6f4c2793ce in PLDHashTable::Add(void const*) /builds/worker/workspace/build/src/xpcom/ds/PLDHashTable.cpp:581:28
#7 0x7f6f574a7566 in PutEntry /builds/worker/workspace/build/src/obj-firefox/dist/include/nsTHashtable.h:152:43
#8 0x7f6f574a7566 in nsBidiPresUtils::InitContinuationStates(nsIFrame*, nsTHashtable<nsFrameContinuationState>) /builds/worker/workspace/build/src/layout/base/nsBidiPresUtils.cpp:1674
#9 0x7f6f574a172d in nsBidiPresUtils::RepositionInlineFrames(BidiLineData
, mozilla::WritingMode, nsSize const&, int) /builds/worker/workspace/build/src/layout/base/nsBidiPresUtils.cpp:1697:5
#10 0x7f6f5749f25c in nsBidiPresUtils::ReorderFrames(nsIFrame*, int, mozilla::WritingMode, nsSize const&, int) /builds/worker/workspace/build/src/layout/base/nsBidiPresUtils.cpp:1330:10
#11 0x7f6f579b042b in nsLineLayout::TextAlignLine(nsLineBox*, bool) /builds/worker/workspace/build/src/layout/generic/nsLineLayout.cpp:3186:5
#12 0x7f6f576f9ad1 in nsBlockFrame::PlaceLine(mozilla::BlockReflowInput&, nsLineLayout&, nsLineList_iterator, nsFloatManager::SavedState*, nsFlowAreaRect&, int&, bool*) /builds/worker/workspace/build/src/layout/generic/nsBlockFrame.cpp:4488:15
#13 0x7f6f576f71b4 in nsBlockFrame::DoReflowInlineFrames(mozilla::BlockReflowInput&, nsLineLayout&, nsLineList_iterator, nsFlowAreaRect&, int&, nsFloatManager::SavedState*, bool*, LineReflowStatus*, bool) /builds/worker/workspace/build/src/layout/generic/nsBlockFrame.cpp:3982:12
#14 0x7f6f576eab1d in nsBlockFrame::ReflowInlineFrames(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) /builds/worker/workspace/build/src/layout/generic/nsBlockFrame.cpp:3740:9
#15 0x7f6f576e221b in nsBlockFrame::ReflowLine(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) /builds/worker/workspace/build/src/layout/generic/nsBlockFrame.cpp:2797:5
#16 0x7f6f576d4a97 in nsBlockFrame::ReflowDirtyLines(mozilla::BlockReflowInput&) /builds/worker/workspace/build/src/layout/generic/nsBlockFrame.cpp:2339:7
#17 0x7f6f576c9444 in nsBlockFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) /builds/worker/workspace/build/src/layout/generic/nsBlockFrame.cpp:1199:3
#18 0x7f6f5773aeea in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, unsigned int, nsReflowStatus&, nsOverflowContinuationTracker*) /builds/worker/workspace/build/src/layout/generic/nsContainerFrame.cpp:893:14
#19 0x7f6f578932d1 in nsHTMLScrollFrame::ReflowScrolledFrame(mozilla::ScrollReflowInput*, bool, bool, mozilla::ReflowOutput*) /builds/worker/workspace/build/src/layout/generic/nsGfxScrollFrame.cpp:587:3
#20 0x7f6f57894bb7 in nsHTMLScrollFrame::ReflowContents(mozilla::ScrollReflowInput*, mozilla::ReflowOutput const&) /builds/worker/workspace/build/src/layout/generic/nsGfxScrollFrame.cpp:700:3
#21 0x7f6f5789cd33 in nsHTMLScrollFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) /builds/worker/workspace/build/src/layout/generic/nsGfxScrollFrame.cpp:1101:3
#22 0x7f6f576f2bfe in nsBlockReflowContext::ReflowBlock(mozilla::LogicalRect const&, bool, nsCollapsingMargin&, int, bool, nsLineBox*, mozilla::ReflowInput&, nsReflowStatus&, mozilla::BlockReflowInput&) /builds/worker/workspace/build/src/layout/generic/nsBlockReflowContext.cpp:297:11
#23 0x7f6f576e552b in nsBlockFrame::ReflowBlockFrame(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) /builds/worker/workspace/build/src/layout/generic/nsBlockFrame.cpp:3377:11
#24 0x7f6f576e2285 in nsBlockFrame::ReflowLine(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) /builds/worker/workspace/build/src/layout/generic/nsBlockFrame.cpp:2794:5
#25 0x7f6f576d4a97 in nsBlockFrame::ReflowDirtyLines(mozilla::BlockReflowInput&) /builds/worker/workspace/build/src/layout/generic/nsBlockFrame.cpp:2339:7
#26 0x7f6f576c9444 in nsBlockFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) /builds/worker/workspace/build/src/layout/generic/nsBlockFrame.cpp:1199:3
#27 0x7f6f5773aeea in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, unsigned int, nsReflowStatus&, nsOverflowContinuationTracker*) /builds/worker/workspace/build/src/layout/generic/nsContainerFrame.cpp:893:14
#28 0x7f6f57738ef8 in nsCanvasFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) /builds/worker/workspace/build/src/layout/generic/nsCanvasFrame.cpp:730:5
#29 0x7f6f5773aeea in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, unsigned int, nsReflowStatus&, nsOverflowContinuationTracker*) /builds/worker/workspace/build/src/layout/generic/nsContainerFrame.cpp:893:14
#30 0x7f6f578932d1 in nsHTMLScrollFrame::ReflowScrolledFrame(mozilla::ScrollReflowInput*, bool, bool, mozilla::ReflowOutput*) /builds/worker/workspace/build/src/layout/generic/nsGfxScrollFrame.cpp:587:3
#31 0x7f6f57894bb7 in nsHTMLScrollFrame::ReflowContents(mozilla::ScrollReflowInput*, mozilla::ReflowOutput const&) /builds/worker/workspace/build/src/layout/generic/nsGfxScrollFrame.cpp:700:3
#32 0x7f6f5789cd33 in nsHTMLScrollFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) /builds/worker/workspace/build/src/layout/generic/nsGfxScrollFrame.cpp:1101:3
#33 0x7f6f576b019f in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, int, int, unsigned int, nsReflowStatus&, nsOverflowContinuationTracker*) /builds/worker/workspace/build/src/layout/generic/nsContainerFrame.cpp:932:14
#34 0x7f6f576aed84 in mozilla::ViewportFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) /builds/worker/workspace/build/src/layout/generic/ViewportFrame.cpp:307:7
#35 0x7f6f573ec3bb in nsIPresShell::DoReflow(nsIFrame*, bool, mozilla::OverflowChangedTracker*) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9128:11
#36 0x7f6f5740bc50 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9298:24
#37 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#38 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#39 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#40 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#41 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#42 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#43 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#44 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#45 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#46 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#47 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#48 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#49 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#50 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#51 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#52 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#53 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#54 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#55 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#56 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#57 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#58 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#59 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#60 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#61 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#62 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#63 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#64 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#65 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#66 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#67 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#68 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#69 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#70 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#71 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#72 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#73 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#74 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#75 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#76 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#77 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#78 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#79 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#80 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#81 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#82 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#83 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#84 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#85 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#86 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#87 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#88 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#89 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#90 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#91 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#92 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#93 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#94 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#95 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#96 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#97 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#98 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#99 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#100 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#101 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#102 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#103 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#104 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#105 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#106 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#107 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#108 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#109 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#110 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#111 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#112 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#113 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#114 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#115 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#116 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#117 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#118 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#119 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#120 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#121 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#122 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#123 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#124 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#125 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#126 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#127 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#128 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#129 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#130 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#131 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#132 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#133 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#134 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#135 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#136 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#137 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#138 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#139 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#140 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#141 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#142 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#143 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#144 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#145 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#146 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#147 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#148 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#149 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#150 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#151 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#152 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#153 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#154 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#155 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#156 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#157 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#158 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#159 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#160 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#161 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#162 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#163 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#164 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#165 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#166 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#167 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#168 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#169 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#170 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#171 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#172 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#173 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#174 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#175 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#176 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#177 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#178 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#179 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#180 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#181 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#182 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#183 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#184 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#185 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#186 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#187 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#188 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#189 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#190 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#191 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#192 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#193 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#194 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#195 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#196 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#197 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#198 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#199 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#200 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#201 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#202 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#203 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#204 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#205 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#206 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#207 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#208 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#209 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#210 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#211 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#212 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#213 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#214 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#215 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#216 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#217 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#218 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#219 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#220 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#221 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#222 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#223 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#224 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#225 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#226 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#227 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#228 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#229 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#230 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#231 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#232 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#233 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#234 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#235 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#236 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#237 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#238 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#239 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#240 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#241 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#242 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#243 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#244 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#245 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#246 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7
#247 0x7f6f57408cf9 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4157:11
#248 0x7f6f573ef429 in nsIPresShell::DidDoReflow(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:8944:3
#249 0x7f6f5740bf11 in nsIPresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9312:7

SUMMARY: AddressSanitizer: stack-overflow /builds/worker/workspace/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/../sanitizer_common/sanitizer_allocator_combined.h:39 in __sanitizer::CombinedAllocator<__sanitizer::SizeClassAllocator64<__asan::AP64>, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<__asan::AP64> >, __sanitizer::LargeMmapAllocator<__asan::AsanMapUnmapCallback, __sanitizer::LargeMmapAllocatorPtrArrayDynamic> >::Allocate(__sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<__asan::AP64> >*, unsigned long, unsigned long)
==21223==ABORTING

Flags: in-testsuite?

This looks like a version of bug 1403656. nsBidiPresUtils::InitContinuationStates isn't particularly special; that just happens to be what's running when we go past the stack limit here. But the real fault lies with the ProcessReflowCommands->DidDoReflow->DoFlushPendingNotifications->[repeat] nesting.

Status: NEW → RESOLVED
Closed: 7 years ago
Component: Layout: Text and Fonts → Layout
Resolution: --- → DUPLICATE

So the problem in this particular instance is that we post
this ReflowCallback during nsHTMLScrollFrame::Reflow:
https://searchfox.org/mozilla-central/rev/dd7e27f4a805e4115d0dbee70e1220b23b23c567/layout/generic/nsGfxScrollFrame.cpp#1121
which calls ScrollToImpl, which does this:
#0 nsIPresShell::FrameNeedsReflow
#1 mozilla::ScrollFrameHelper::ComputeCustomOverflow
#2 nsIFrame::UpdateOverflow()
#3 mozilla::ScrollFrameHelper::ScrollToImpl
#4 mozilla::ScrollFrameHelper::ReflowFinished()
...
https://searchfox.org/mozilla-central/rev/dd7e27f4a805e4115d0dbee70e1220b23b23c567/layout/generic/nsGfxScrollFrame.cpp#2882
https://searchfox.org/mozilla-central/rev/dd7e27f4a805e4115d0dbee70e1220b23b23c567/layout/generic/nsGfxScrollFrame.cpp#5867-5868

So this seems to be a regression from bug 1198135 which added
the UpdateOverflow() calls that introduced this circular dependency.

Bug 1403656 comment 6 seems to indicate a different source of
circularity, so I'm reopening this bug so that we can address
them separately.

I'm not convinced the ReflowCallback is the culprit here,
since that's just restoring the scroll position after reflow,
which seems like a reasonable order. The bug is that we've
made scrolling trigger new reflows.

Blocks: 1198135
Status: RESOLVED → REOPENED
Depends on: 1403656
Keywords: regression
Resolution: DUPLICATE → ---
Summary: AddressSanitizer: stack-overflow near [@nsBidiPresUtils::InitContinuationStates] → Stack overflow due to new Reflow requests when ChildrenHavePerspective() updates overflow
Priority: -- → P4

Bulk moving bugs that have been triaged P4 to P3 (P4 is reserved for WPT bugs).

Priority: P4 → P3
No longer blocks: 1198135
Regressed by: 1198135
Version: Trunk → 51 Branch

Hey Jason,
Can you still reproduce this issue or should we close it?

Flags: needinfo?(jkratzer)

(In reply to Andrei Purice from comment #4)

Hey Jason,
Can you still reproduce this issue or should we close it?

Andrei, this issue still reproduces on mozilla-central rev 152fdda295bb (built with --enable-address-sanitzer --enable-fuzzing).

Testcase can be reproduced using the following commands:

$ pip install fuzzfetch grizzly-framework
$ python -m fuzzfetch --build 152fdda295bb --asan --fuzzing -n build
$ python -m grizzly.replay ./build/firefox ./testcase.html
Flags: needinfo?(jkratzer)
Whiteboard: qa-not-actionable
Has Regression Range: --- → yes
QA Whiteboard: qa-not-actionable
Whiteboard: qa-not-actionable
Severity: critical → S2

This doesn't reproduce anymore in trunk.

Fix range: https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=d2647082c823595eddd3e051bd99c3cbfc53ae73&tochange=1fa7d333934df4565b097c4a100af99288d2ac8d

--> Fixed by bug 1756826. Duping.

(Also, downgrading to S3, given that this was stack exhaustion, i.e. a safe crash triggered by a fuzzer testcase.)

Severity: S2 → S3
Status: REOPENED → RESOLVED
Closed: 7 years ago3 years ago
Duplicate of bug: 1756826
Resolution: --- → DUPLICATE
Pushed by dholbert@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/51f6063839c5 Add crashtest for this no-longer-reproducible bug. (no review, crashtest-only)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: