Closed Bug 1206729 Opened 9 years ago Closed 8 years ago

EXCEPTION_BREAKPOINT crash in nsHTMLReflowState::InitConstraints(nsPresContext*, mozilla::LogicalSize const&, nsMargin const*, nsMargin const*, nsIAtom*) calling mStylePosition->BSize(wm)

Categories

(Core :: Layout, defect)

43 Branch
x86
Windows 7
defect
Not set
critical

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: alex_mayorga, Unassigned)

References

Details

(Keywords: crash)

This bug was filed from the Socorro interface and is 
report bp-28cb7bb9-d98a-4d48-a16d-be17f2150917.
=============================================================

Crashing Thread
Frame 	Module 	Signature 	Source
0 	xul.dll 	nsHTMLReflowState::InitConstraints(nsPresContext*, mozilla::LogicalSize const&, nsMargin const*, nsMargin const*, nsIAtom*) 	layout/generic/nsHTMLReflowState.cpp
1 	xul.dll 	nsHTMLReflowState::Init(nsPresContext*, mozilla::LogicalSize const*, nsMargin const*, nsMargin const*) 	layout/generic/nsHTMLReflowState.cpp
2 	xul.dll 	nsHTMLReflowState::nsHTMLReflowState(nsPresContext*, nsHTMLReflowState const&, nsIFrame*, mozilla::LogicalSize const&, mozilla::LogicalSize const*, unsigned int) 	layout/generic/nsHTMLReflowState.cpp
3 	xul.dll 	nsLineLayout::ReflowFrame(nsIFrame*, unsigned int&, nsHTMLReflowMetrics*, bool&) 	layout/generic/nsLineLayout.cpp
4 	xul.dll 	nsBlockFrame::ReflowInlineFrame(nsBlockReflowState&, nsLineLayout&, nsLineList_iterator, nsIFrame*, LineReflowStatus*) 	layout/generic/nsBlockFrame.cpp
5 	xul.dll 	nsBlockFrame::DoReflowInlineFrames(nsBlockReflowState&, nsLineLayout&, nsLineList_iterator, nsFlowAreaRect&, int&, nsFloatManager::SavedState*, bool*, LineReflowStatus*, bool) 	layout/generic/nsBlockFrame.cpp
6 	xul.dll 	nsBlockFrame::ReflowInlineFrames(nsBlockReflowState&, nsLineList_iterator, bool*) 	layout/generic/nsBlockFrame.cpp
7 	xul.dll 	nsBlockFrame::ReflowLine(nsBlockReflowState&, nsLineList_iterator, bool*) 	layout/generic/nsBlockFrame.cpp
8 	xul.dll 	nsBlockFrame::ReflowDirtyLines(nsBlockReflowState&) 	layout/generic/nsBlockFrame.cpp
9 	xul.dll 	nsBlockFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) 	layout/generic/nsBlockFrame.cpp
10 	xul.dll 	nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, unsigned int, unsigned int&, nsOverflowContinuationTracker*) 	layout/generic/nsContainerFrame.cpp
11 	xul.dll 	nsHTMLScrollFrame::ReflowScrolledFrame(ScrollReflowState*, bool, bool, nsHTMLReflowMetrics*, bool) 	layout/generic/nsGfxScrollFrame.cpp
12 	xul.dll 	nsHTMLScrollFrame::ReflowContents(ScrollReflowState*, nsHTMLReflowMetrics const&) 	layout/generic/nsGfxScrollFrame.cpp
13 	xul.dll 	nsHTMLScrollFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) 	layout/generic/nsGfxScrollFrame.cpp
14 	xul.dll 	nsBlockReflowContext::ReflowBlock(mozilla::LogicalRect const&, bool, nsCollapsingMargin&, int, bool, nsLineBox*, nsHTMLReflowState&, unsigned int&, nsBlockReflowState&) 	layout/generic/nsBlockReflowContext.cpp
15 	xul.dll 	nsBlockFrame::ReflowBlockFrame(nsBlockReflowState&, nsLineList_iterator, bool*) 	layout/generic/nsBlockFrame.cpp
16 	xul.dll 	nsBlockFrame::ReflowLine(nsBlockReflowState&, nsLineList_iterator, bool*) 	layout/generic/nsBlockFrame.cpp
17 	xul.dll 	nsBlockFrame::ReflowDirtyLines(nsBlockReflowState&) 	layout/generic/nsBlockFrame.cpp
18 	xul.dll 	nsBlockFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) 	layout/generic/nsBlockFrame.cpp
19 	xul.dll 	nsBlockReflowContext::ReflowBlock(mozilla::LogicalRect const&, bool, nsCollapsingMargin&, int, bool, nsLineBox*, nsHTMLReflowState&, unsigned int&, nsBlockReflowState&) 	layout/generic/nsBlockReflowContext.cpp
20 	xul.dll 	nsBlockFrame::ReflowBlockFrame(nsBlockReflowState&, nsLineList_iterator, bool*) 	layout/generic/nsBlockFrame.cpp
21 	xul.dll 	nsBlockFrame::ReflowLine(nsBlockReflowState&, nsLineList_iterator, bool*) 	layout/generic/nsBlockFrame.cpp
22 	xul.dll 	nsBlockFrame::ReflowDirtyLines(nsBlockReflowState&) 	layout/generic/nsBlockFrame.cpp
23 	xul.dll 	nsBlockFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) 	layout/generic/nsBlockFrame.cpp
24 	xul.dll 	nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, unsigned int, unsigned int&, nsOverflowContinuationTracker*) 	layout/generic/nsContainerFrame.cpp
25 	xul.dll 	nsHTMLScrollFrame::ReflowScrolledFrame(ScrollReflowState*, bool, bool, nsHTMLReflowMetrics*, bool) 	layout/generic/nsGfxScrollFrame.cpp
26 	xul.dll 	nsHTMLScrollFrame::TryLayout(ScrollReflowState*, nsHTMLReflowMetrics*, bool, bool, bool) 	layout/generic/nsGfxScrollFrame.cpp
27 	xul.dll 	nsHTMLScrollFrame::ReflowContents(ScrollReflowState*, nsHTMLReflowMetrics const&) 	layout/generic/nsGfxScrollFrame.cpp
28 	xul.dll 	nsHTMLScrollFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) 	layout/generic/nsGfxScrollFrame.cpp
29 	xul.dll 	nsAbsoluteContainingBlock::ReflowAbsoluteFrame(nsIFrame*, nsPresContext*, nsHTMLReflowState const&, nsRect const&, bool, nsIFrame*, unsigned int&, nsOverflowAreas*) 	layout/generic/nsAbsoluteContainingBlock.cpp
30 	xul.dll 	nsAbsoluteContainingBlock::Reflow(nsContainerFrame*, nsPresContext*, nsHTMLReflowState const&, unsigned int&, nsRect const&, bool, bool, bool, nsOverflowAreas*) 	layout/generic/nsAbsoluteContainingBlock.cpp
31 	xul.dll 	nsBlockFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) 	layout/generic/nsBlockFrame.cpp
32 	xul.dll 	nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, unsigned int, unsigned int&, nsOverflowContinuationTracker*) 	layout/generic/nsContainerFrame.cpp
33 	xul.dll 	nsFlexContainerFrame::ReflowFlexItem(nsPresContext*, nsFlexContainerFrame::FlexboxAxisTracker const&, nsHTMLReflowState const&, nsFlexContainerFrame::FlexItem const&, mozilla::LogicalPoint&, nsSize const&) 	layout/generic/nsFlexContainerFrame.cpp
34 	xul.dll 	nsFlexContainerFrame::DoFlexLayout(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&, int, int, nsTArray<nsFlexContainerFrame::StrutInfo>&, nsFlexContainerFrame::FlexboxAxisTracker const&) 	layout/generic/nsFlexContainerFrame.cpp
35 	xul.dll 	nsFlexContainerFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) 	layout/generic/nsFlexContainerFrame.cpp
36 	xul.dll 	nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, unsigned int, unsigned int&, nsOverflowContinuationTracker*) 	layout/generic/nsContainerFrame.cpp
37 	xul.dll 	nsFlexContainerFrame::ReflowFlexItem(nsPresContext*, nsFlexContainerFrame::FlexboxAxisTracker const&, nsHTMLReflowState const&, nsFlexContainerFrame::FlexItem const&, mozilla::LogicalPoint&, nsSize const&) 	layout/generic/nsFlexContainerFrame.cpp
38 	xul.dll 	nsFlexContainerFrame::DoFlexLayout(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&, int, int, nsTArray<nsFlexContainerFrame::StrutInfo>&, nsFlexContainerFrame::FlexboxAxisTracker const&) 	layout/generic/nsFlexContainerFrame.cpp
39 	xul.dll 	nsFlexContainerFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) 	layout/generic/nsFlexContainerFrame.cpp
40 	xul.dll 	nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, unsigned int, unsigned int&, nsOverflowContinuationTracker*) 	layout/generic/nsContainerFrame.cpp
41 	xul.dll 	nsFlexContainerFrame::ReflowFlexItem(nsPresContext*, nsFlexContainerFrame::FlexboxAxisTracker const&, nsHTMLReflowState const&, nsFlexContainerFrame::FlexItem const&, mozilla::LogicalPoint&, nsSize const&) 	layout/generic/nsFlexContainerFrame.cpp
42 	xul.dll 	nsFlexContainerFrame::DoFlexLayout(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&, int, int, nsTArray<nsFlexContainerFrame::StrutInfo>&, nsFlexContainerFrame::FlexboxAxisTracker const&) 	layout/generic/nsFlexContainerFrame.cpp
43 	xul.dll 	nsFlexContainerFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) 	layout/generic/nsFlexContainerFrame.cpp
44 	xul.dll 	nsAbsoluteContainingBlock::ReflowAbsoluteFrame(nsIFrame*, nsPresContext*, nsHTMLReflowState const&, nsRect const&, bool, nsIFrame*, unsigned int&, nsOverflowAreas*) 	layout/generic/nsAbsoluteContainingBlock.cpp
45 	xul.dll 	nsAbsoluteContainingBlock::Reflow(nsContainerFrame*, nsPresContext*, nsHTMLReflowState const&, unsigned int&, nsRect const&, bool, bool, bool, nsOverflowAreas*) 	layout/generic/nsAbsoluteContainingBlock.cpp
46 	xul.dll 	nsBlockFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) 	layout/generic/nsBlockFrame.cpp
47 	xul.dll 	nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, unsigned int, unsigned int&, nsOverflowContinuationTracker*) 	layout/generic/nsContainerFrame.cpp
48 	xul.dll 	nsFlexContainerFrame::ReflowFlexItem(nsPresContext*, nsFlexContainerFrame::FlexboxAxisTracker const&, nsHTMLReflowState const&, nsFlexContainerFrame::FlexItem const&, mozilla::LogicalPoint&, nsSize const&) 	layout/generic/nsFlexContainerFrame.cpp
49 	xul.dll 	nsFlexContainerFrame::DoFlexLayout(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&, int, int, nsTArray<nsFlexContainerFrame::StrutInfo>&, nsFlexContainerFrame::FlexboxAxisTracker const&) 	layout/generic/nsFlexContainerFrame.cpp
50 	xul.dll 	nsFlexContainerFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) 	layout/generic/nsFlexContainerFrame.cpp
51 	xul.dll 	nsBlockReflowContext::ReflowBlock(mozilla::LogicalRect const&, bool, nsCollapsingMargin&, int, bool, nsLineBox*, nsHTMLReflowState&, unsigned int&, nsBlockReflowState&) 	layout/generic/nsBlockReflowContext.cpp
52 	xul.dll 	nsBlockFrame::ReflowBlockFrame(nsBlockReflowState&, nsLineList_iterator, bool*) 	layout/generic/nsBlockFrame.cpp
53 	xul.dll 	nsBlockFrame::ReflowLine(nsBlockReflowState&, nsLineList_iterator, bool*) 	layout/generic/nsBlockFrame.cpp
54 	xul.dll 	nsBlockFrame::ReflowDirtyLines(nsBlockReflowState&) 	layout/generic/nsBlockFrame.cpp
55 	xul.dll 	nsBlockFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) 	layout/generic/nsBlockFrame.cpp
56 	xul.dll 	nsBlockReflowContext::ReflowBlock(mozilla::LogicalRect const&, bool, nsCollapsingMargin&, int, bool, nsLineBox*, nsHTMLReflowState&, unsigned int&, nsBlockReflowState&) 	layout/generic/nsBlockReflowContext.cpp
57 	xul.dll 	nsBlockFrame::ReflowBlockFrame(nsBlockReflowState&, nsLineList_iterator, bool*) 	layout/generic/nsBlockFrame.cpp
58 	xul.dll 	nsBlockFrame::ReflowLine(nsBlockReflowState&, nsLineList_iterator, bool*) 	layout/generic/nsBlockFrame.cpp
59 	xul.dll 	nsBlockFrame::ReflowDirtyLines(nsBlockReflowState&) 	layout/generic/nsBlockFrame.cpp
60 	xul.dll 	nsBlockFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) 	layout/generic/nsBlockFrame.cpp
61 	xul.dll 	nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, unsigned int, unsigned int&, nsOverflowContinuationTracker*) 	layout/generic/nsContainerFrame.cpp
62 	xul.dll 	nsCanvasFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) 	layout/generic/nsCanvasFrame.cpp
63 	xul.dll 	nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, unsigned int, unsigned int&, nsOverflowContinuationTracker*) 	layout/generic/nsContainerFrame.cpp
64 	xul.dll 	nsHTMLScrollFrame::ReflowScrolledFrame(ScrollReflowState*, bool, bool, nsHTMLReflowMetrics*, bool) 	layout/generic/nsGfxScrollFrame.cpp
65 	xul.dll 	nsHTMLScrollFrame::ReflowContents(ScrollReflowState*, nsHTMLReflowMetrics const&) 	layout/generic/nsGfxScrollFrame.cpp
66 	xul.dll 	nsHTMLScrollFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) 	layout/generic/nsGfxScrollFrame.cpp
67 	xul.dll 	nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, int, int, unsigned int, unsigned int&, nsOverflowContinuationTracker*) 	layout/generic/nsContainerFrame.cpp
68 	xul.dll 	ViewportFrame::Reflow(nsPresContext*, nsHTMLReflowMetrics&, nsHTMLReflowState const&, unsigned int&) 	layout/generic/nsViewportFrame.cpp
69 	xul.dll 	PresShell::DoReflow(nsIFrame*, bool) 	layout/base/nsPresShell.cpp
70 	xul.dll 	PresShell::ProcessReflowCommands(bool) 	layout/base/nsPresShell.cpp
71 	xul.dll 	PresShell::FlushPendingNotifications(mozilla::ChangesToFlush) 	layout/base/nsPresShell.cpp
72 	xul.dll 	nsDocument::FlushPendingNotifications(mozFlushType) 	dom/base/nsDocument.cpp
73 	xul.dll 	nsDocument::ElementFromPointHelper(float, float, bool, bool) 	dom/base/nsDocument.cpp
74 	xul.dll 	nsIDocument::ElementFromPoint(float, float) 	dom/base/nsDocument.cpp
75 	xul.dll 	mozilla::dom::DocumentBinding::elementFromPoint 	obj-firefox/dom/bindings/DocumentBinding.cpp
76 	xul.dll 	mozilla::dom::GenericBindingMethod(JSContext*, unsigned int, JS::Value*) 	dom/bindings/BindingUtils.cpp
77 	xul.dll 	js::Invoke(JSContext*, JS::CallArgs const&, js::MaybeConstruct) 	js/src/vm/Interpreter.cpp
78 	xul.dll 	Interpret 	js/src/vm/Interpreter.cpp
79 	xul.dll 	js::RunScript(JSContext*, js::RunState&) 	js/src/vm/Interpreter.cpp
80 	xul.dll 	js::Invoke(JSContext*, JS::CallArgs const&, js::MaybeConstruct) 	js/src/vm/Interpreter.cpp
81 	xul.dll 	js::fun_call(JSContext*, unsigned int, JS::Value*) 	js/src/jsfun.cpp
82 	xul.dll 	js::Invoke(JSContext*, JS::CallArgs const&, js::MaybeConstruct) 	js/src/vm/Interpreter.cpp
83 	xul.dll 	Interpret 	js/src/vm/Interpreter.cpp
84 	xul.dll 	js::RunScript(JSContext*, js::RunState&) 	js/src/vm/Interpreter.cpp
85 	xul.dll 	js::Invoke(JSContext*, JS::CallArgs const&, js::MaybeConstruct) 	js/src/vm/Interpreter.cpp
86 	xul.dll 	js::CallOrConstructBoundFunction(JSContext*, unsigned int, JS::Value*) 	js/src/jsfun.cpp
87 	xul.dll 	js::Invoke(JSContext*, JS::CallArgs const&, js::MaybeConstruct) 	js/src/vm/Interpreter.cpp
88 	xul.dll 	js::CallOrConstructBoundFunction(JSContext*, unsigned int, JS::Value*) 	js/src/jsfun.cpp
89 	xul.dll 	js::Invoke(JSContext*, JS::CallArgs const&, js::MaybeConstruct) 	js/src/vm/Interpreter.cpp
131 	xul.dll 	nsAppShell::Run() 	widget/windows/nsAppShell.cpp
132 	xul.dll 	XRE_RunAppShell 	toolkit/xre/nsEmbedFunctions.cpp
133 	xul.dll 	mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) 	ipc/glue/MessagePump.cpp
134 	xul.dll 	MessageLoop::RunHandler() 	ipc/chromium/src/base/message_loop.cc
135 	xul.dll 	MessageLoop::Run() 	ipc/chromium/src/base/message_loop.cc
136 	xul.dll 	XRE_InitChildProcess 	toolkit/xre/nsEmbedFunctions.cpp
137 	plugin-container.exe 	wmain 	toolkit/xre/nsWindowsWMain.cpp
138 	plugin-container.exe 	__tmainCRTStartup 	f:/dd/vctools/crt/crtw32/startup/crt0.c:255
139 	kernel32.dll 	BaseThreadInitThunk 	
140 	ntdll.dll 	RtlUserThreadStart
This doesn't make sense since the line that the stack points to doesn't have any fatal assertions on it.

Maybe it meant to point to the previous line?
Summary: crash in nsHTMLReflowState::InitConstraints(nsPresContext*, mozilla::LogicalSize const&, nsMargin const*, nsMargin const*, nsIAtom*) → EXCEPTION_BREAKPOINT crash in nsHTMLReflowState::InitConstraints(nsPresContext*, mozilla::LogicalSize const&, nsMargin const*, nsMargin const*, nsIAtom*) calling mStylePosition->BSize(wm)
Also, only one occurrence of the crash in crash-stats, without steps to reproduce, so not a priority.
Crash Signature: [@ nsHTMLReflowState::InitConstraints(nsPresContext*, mozilla::LogicalSize const&, nsMargin const*, nsMargin const*, nsIAtom*)] → [@ nsHTMLReflowState::InitConstraints(nsPresContext*, mozilla::LogicalSize const&, nsMargin const*, nsMargin const*, nsIAtom*)] [@ nsHTMLReflowState::InitConstraints]
Updating crash signature to reflect changes to signature generation made in bug 1269817 (although reports older than a week will not be reprocessed), and adding dependency to ShutDownKill metabug.

(These probably shouldn't all be separate bugs, but I'm not going to fix that up in a mass-change.)
Blocks: shutdownkill
Crash Signature: [@ nsHTMLReflowState::InitConstraints(nsPresContext*, mozilla::LogicalSize const&, nsMargin const*, nsMargin const*, nsIAtom*)] [@ nsHTMLReflowState::InitConstraints] → [@ IPCError-browser | ShutDownKill ]
You need to log in before you can comment on or make changes to this bug.