Open Bug 942383 Opened 12 years ago Updated 3 years ago

NS_PRECONDITION predicates are shown with macros expanded

Categories

(Core :: XPCOM, defect)

x86_64
macOS
defect

Tracking

()

People

(Reporter: jruderman, Unassigned)

References

Details

(Keywords: regression)

I'm now seeing ###!!! ASSERTION: containing block height must be constrained: 'containingBlockHeight != nscoord(1 << 30)', file layout/generic/nsHTMLReflowState.cpp, line 1319 where the code is NS_PRECONDITION(containingBlockHeight != NS_AUTOHEIGHT, "containing block height must be constrained"); This makes my fuzzer think it's a different assertion than the one it knows about, and it can also be ugly with more complex macros. All of the assertions where I hit this are NS_PRECONDITION rather than NS_ASSERTION: http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsHTMLReflowState.cpp#1318 http://mxr.mozilla.org/mozilla-central/source/layout/forms/nsFieldSetFrame.cpp#426 http://mxr.mozilla.org/mozilla-central/source/layout/forms/nsHTMLButtonControlFrame.cpp#174 I think this is a regression from http://hg.mozilla.org/mozilla-central/rev/88b2741cd866
Flags: needinfo?(benjamin)
NS_PRECONDITION is now going through an extra layer of #define evaluation. I *think* you can avoid evaluating by doing: #define NS_PRECONDITION NS_ASSERTION
Probably yes. r=me for that change if it does the right thing, Jesse.
Flags: needinfo?(benjamin)
See Also: → 1457813
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.