Fix {min,max}-{width,height} stylo bustage

RESOLVED FIXED

Status

()

Core
CSS Parsing and Computation
RESOLVED FIXED
a year ago
3 months ago

People

(Reporter: manishearth, Assigned: manishearth)

Tracking

(Blocks: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

MozReview Requests

()

Submitter Diff Changes Open Issues Last Updated
Loading...
Error loading review requests:

Attachments

(1 attachment)

59 bytes, text/x-review-board-request
Bobby Holley (On Leave Until June 11th)
: review+
Details | Review
Comment hidden (empty)
Comment hidden (mozreview-request)

Comment 2

a year ago
mozreview-review
Comment on attachment 8841139 [details]
Bug 1342596 - Fix test expectations for min/max-width/height;

https://reviewboard.mozilla.org/r/115470/#review116918

r=me assuming we follow up on the crash.
Attachment #8841139 - Flags: review?(bobbyholley) → review+

Comment 3

a year ago
Pushed by manishearth@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/84c8d6936cad
Fix test expectations for min/max-width/height; r=bholley
(Assignee)

Comment 4

a year ago
That patch is a quickfix to make the tree green.

I don't really understand the actual bug here. It seems like some code paths (Specifically http://searchfox.org/mozilla-central/source/layout/generic/ReflowInput.cpp#2956) expect these properties to not have keyword values. However, nsRuleNode sets them, and in other layout code this is expected.

Furthermore, it seems to only happen in grid code. I haven't really figured out why, I might need to look at this with a debugger.


Backtrace:

#01: nsLayoutUtils::ComputeBSizeValue(int, int, nsStyleCoord const&)[/Users/manishearth/mozilla/gluino/obj-x86_64-apple-darwin15.6.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4e2165f]
#02: mozilla::SizeComputationInput::ComputeBSizeValue(int, mozilla::StyleBoxSizing, nsStyleCoord const&) const[/Users/manishearth/mozilla/gluino/obj-x86_64-apple-darwin15.6.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4e2158e]
#03: mozilla::ReflowInput::ComputeMinMaxValues(mozilla::LogicalSize const&)[/Users/manishearth/mozilla/gluino/obj-x86_64-apple-darwin15.6.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4e2b252]
#04: mozilla::ReflowInput::InitConstraints(nsPresContext*, mozilla::LogicalSize const&, nsMargin const*, nsMargin const*, nsIAtom*)[/Users/manishearth/mozilla/gluino/obj-x86_64-apple-darwin15.6.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4e236ba]
#05: mozilla::ReflowInput::Init(nsPresContext*, mozilla::LogicalSize const*, nsMargin const*, nsMargin const*)[/Users/manishearth/mozilla/gluino/obj-x86_64-apple-darwin15.6.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4e1fc80]
#06: mozilla::ReflowInput::ReflowInput(nsPresContext*, mozilla::ReflowInput const&, nsIFrame*, mozilla::LogicalSize const&, mozilla::LogicalSize const*, unsigned int)[/Users/manishearth/mozilla/gluino/obj-x86_64-apple-darwin15.6.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4e212f7]
#07: mozilla::ReflowInput::ReflowInput(nsPresContext*, mozilla::ReflowInput const&, nsIFrame*, mozilla::LogicalSize const&, mozilla::LogicalSize const*, unsigned int)[/Users/manishearth/mozilla/gluino/obj-x86_64-apple-darwin15.6.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4e213b9]
#08: MeasuringReflow(nsIFrame*, mozilla::ReflowInput const*, nsRenderingContext*, mozilla::LogicalSize const&, mozilla::LogicalSize const&, int, int)[/Users/manishearth/mozilla/gluino/obj-x86_64-apple-darwin15.6.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4f0b723]
#09: ContentContribution(nsGridContainerFrame::GridItemInfo const&, nsGridContainerFrame::GridReflowInput const&, nsRenderingContext*, mozilla::WritingMode, mozilla::LogicalAxis, nsLayoutUtils::IntrinsicISizeType, int, unsigned int)[/Users/manishearth/mozilla/gluino/obj-x86_64-apple-darwin15.6.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4f0d84b]
#10: MaxContentContribution(nsGridContainerFrame::GridItemInfo const&, nsGridContainerFrame::GridReflowInput const&, nsRenderingContext*, mozilla::WritingMode, mozilla::LogicalAxis, CachedIntrinsicSizes*)[/Users/manishearth/mozilla/gluino/obj-x86_64-apple-darwin15.6.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4f0a7b4]
#11: nsGridContainerFrame::Tracks::ResolveIntrinsicSizeStep1(nsGridContainerFrame::GridReflowInput&, nsGridContainerFrame::TrackSizingFunctions const&, int, SizingConstraint, nsGridContainerFrame::LineRange const&, nsGridContainerFrame::GridItemInfo const&)[/Users/manishearth/mozilla/gluino/obj-x86_64-apple-darwin15.6.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4f0a21e]
#12: nsGridContainerFrame::Tracks::ResolveIntrinsicSize(nsGridContainerFrame::GridReflowInput&, nsTArray<nsGridContainerFrame::GridItemInfo>&, nsGridContainerFrame::TrackSizingFunctions const&, nsGridContainerFrame::LineRange nsGridContainerFrame::GridArea::*,[/Users/manishearth/mozilla/gluino/obj-x86_64-apple-darwin15.6.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4f07368]
#13: nsGridContainerFrame::Tracks::CalculateSizes(nsGridContainerFrame::GridReflowInput&, nsTArray<nsGridContainerFrame::GridItemInfo>&, nsGridContainerFrame::TrackSizingFunctions const&, int, nsGridContainerFrame::LineRange nsGridContainerFrame::GridArea::*, [/Users/manishearth/mozilla/gluino/obj-x86_64-apple-darwin15.6.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4efe44c]
#14: nsGridContainerFrame::GridReflowInput::CalculateTrackSizes(nsGridContainerFrame::Grid const&, mozilla::LogicalSize&, SizingConstraint)[/Users/manishearth/mozilla/gluino/obj-x86_64-apple-darwin15.6.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4efe146]
#15: nsGridContainerFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&)[/Users/manishearth/mozilla/gluino/obj-x86_64-apple-darwin15.6.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4f15bec]
#16: nsLineLayout::ReflowFrame(nsIFrame*, nsReflowStatus&, mozilla::ReflowOutput*, bool&)[/Users/manishearth/mozilla/gluino/obj-x86_64-apple-darwin15.6.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4e01cc2]
(Assignee)

Updated

a year ago
Keywords: leave-open
BTW, the normal way to annotate tests that crash is to mark them as "skip" rather than commenting them out.
(Assignee)

Comment 6

a year ago
We've had trouble with the parser not recognizing skip in Stylo files before (when used in conjugation with fails, etc). Anyway, this is temporary.
The last directive wins, so the skip should be after any fails/fails-if()/etc.
Actually, according the spec [1], those keyword values are computed to 'auto' for size on block axis.

[1] https://drafts.csswg.org/css-sizing-3/#width-height-keywords
(Assignee)

Comment 12

a year ago
Next steps in bug 1342710
Status: NEW → RESOLVED
Last Resolved: a year ago
Resolution: --- → FIXED
(Assignee)

Updated

a year ago
Assignee: nobody → manishearth

Comment 13

a year ago
Pushed by manishearth@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/970eb52865f5
Update expectations for absolute length serialization ; r=manishearth
Removing leave-open keyword from resolved bugs, per :sylvestre.
Keywords: leave-open
You need to log in before you can comment on or make changes to this bug.