Closed Bug 1618351 Opened 2 years ago Closed 2 years ago

AddressSanitizer: SEGV /builds/worker/workspace/build/src/xpcom/base/nsDebugImpl.cpp:608:3 in NS_ABORT_OOM(unsigned long)

Categories

(Core :: Layout: Grid, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla75
Tracking Status
firefox-esr68 --- unaffected
firefox73 --- wontfix
firefox74 --- wontfix
firefox75 --- fixed

People

(Reporter: jkratzer, Assigned: MatsPalmgren_bugz)

References

(Blocks 2 open bugs, Regression)

Details

(Keywords: crash, regression, testcase, Whiteboard: [jsbugmon:confirm], [wptsync upstream])

Attachments

(3 files)

Attached file testcase.html

Testcase found while fuzzing mozilla-central rev 7f41334e1044.

==27187==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000001 (pc 0x7f06fb2fadef bp 0x7fff886a6a90 sp 0x7fff886a6a90 T0)
==27187==The signal is caused by a WRITE memory access.
==27187==Hint: address points to the zero page.
    #0 0x7f06fb2fadee in NS_ABORT_OOM(unsigned long) /builds/worker/workspace/build/src/xpcom/base/nsDebugImpl.cpp:608:3
    #1 0x7f06fb2b3c16 in SizeTooBig /builds/worker/workspace/build/src/obj-firefox/dist/include/nsTArray.h:210:42
    #2 0x7f06fb2b3c16 in nsTArrayInfallibleAllocator::ResultTypeProxy nsTArray_base<nsTArrayInfallibleAllocator, nsTArray_CopyWithMemutils>::EnsureCapacity<nsTArrayInfallibleAllocator>(unsigned long, unsigned long) /builds/worker/workspace/build/src/obj-firefox/dist/include/nsTArray-inl.h:136:5
    #3 0x7f07040c8de1 in mozilla::SmallPointerArray<mozilla::StyleOwnedSlice<mozilla::StyleCustomIdent> const>* nsTArray_Impl<mozilla::SmallPointerArray<mozilla::StyleOwnedSlice<mozilla::StyleCustomIdent> const>, nsTArrayInfallibleAllocator>::AppendElement<mozilla::SmallPointerArray<mozilla::StyleOwnedSlice<mozilla::StyleCustomIdent> const>, nsTArrayInfallibleAllocator>(mozilla::SmallPointerArray<mozilla::StyleOwnedSlice<mozilla::StyleCustomIdent> const>&&) /builds/worker/workspace/build/src/obj-firefox/dist/include/nsTArray.h:2456:47
    #4 0x7f07040c810e in nsGridContainerFrame::LineNameMap::ExpandRepeatLineNames(bool, nsGridContainerFrame::TrackSizingFunctions const&) /builds/worker/workspace/build/src/layout/generic/nsGridContainerFrame.cpp:1360:32
    #5 0x7f0704052726 in nsGridContainerFrame::LineNameMap::LineNameMap(nsStylePosition const*, mozilla::HashMap<nsGridContainerFrame::AtomKey, mozilla::StyleNamedArea, nsGridContainerFrame::AtomKey, mozilla::MallocAllocPolicy> const*, nsGridContainerFrame::TrackSizingFunctions const&, nsGridContainerFrame::LineNameMap const*, nsGridContainerFrame::LineRange const*, bool) /builds/worker/workspace/build/src/layout/generic/nsGridContainerFrame.cpp:1333:5
    #6 0x7f070404d3f3 in nsGridContainerFrame::Grid::PlaceGridItems(nsGridContainerFrame::GridReflowInput&, RepeatTrackSizingInput const&) /builds/worker/workspace/build/src/layout/generic/nsGridContainerFrame.cpp:4284:15
    #7 0x7f0704049b4c in nsGridContainerFrame::Grid::SubgridPlaceGridItems(nsGridContainerFrame::GridReflowInput&, nsGridContainerFrame::Grid*, nsGridContainerFrame::GridItemInfo const&) /builds/worker/workspace/build/src/layout/generic/nsGridContainerFrame.cpp:4200:3
    #8 0x7f070404e5ea in nsGridContainerFrame::Grid::PlaceGridItems(nsGridContainerFrame::GridReflowInput&, RepeatTrackSizingInput const&) /builds/worker/workspace/build/src/layout/generic/nsGridContainerFrame.cpp:4469:14
    #9 0x7f070407d456 in nsGridContainerFrame::IntrinsicISize(gfxContext*, nsLayoutUtils::IntrinsicISizeType) /builds/worker/workspace/build/src/layout/generic/nsGridContainerFrame.cpp:7974:10
    #10 0x7f070407dcd0 in nsGridContainerFrame::GetMinISize(gfxContext*) /builds/worker/workspace/build/src/layout/generic/nsGridContainerFrame.cpp:8008:29
    #11 0x7f0703df97bc in nsLayoutUtils::IntrinsicForAxis(mozilla::PhysicalAxis, gfxContext*, nsIFrame*, nsLayoutUtils::IntrinsicISizeType, mozilla::Maybe<mozilla::LogicalSize> const&, unsigned int, int) /builds/worker/workspace/build/src/layout/base/nsLayoutUtils.cpp
    #12 0x7f07040649ed in ContentContribution(nsGridContainerFrame::GridItemInfo const&, nsGridContainerFrame::GridReflowInput const&, gfxContext*, mozilla::WritingMode, mozilla::LogicalAxis, mozilla::Maybe<mozilla::LogicalSize> const&, nsLayoutUtils::IntrinsicISizeType, int, unsigned int) /builds/worker/workspace/build/src/layout/generic/nsGridContainerFrame.cpp:4804:18
    #13 0x7f070405c799 in MinContentContribution(nsGridContainerFrame::GridItemInfo const&, nsGridContainerFrame::GridReflowInput const&, gfxContext*, mozilla::WritingMode, mozilla::LogicalAxis, CachedIntrinsicSizes*) /builds/worker/workspace/build/src/layout/generic/nsGridContainerFrame.cpp:4958:15
    #14 0x7f070405b7da in nsGridContainerFrame::Tracks::ResolveIntrinsicSizeStep1(nsGridContainerFrame::GridReflowInput&, nsGridContainerFrame::TrackSizingFunctions const&, int, SizingConstraint, nsGridContainerFrame::LineRange const&, nsGridContainerFrame::GridItemInfo const&) /builds/worker/workspace/build/src/layout/generic/nsGridContainerFrame.cpp:5126:13
    #15 0x7f0704056a32 in nsGridContainerFrame::Tracks::ResolveIntrinsicSize(nsGridContainerFrame::GridReflowInput&, nsTArray<nsGridContainerFrame::GridItemInfo>&, nsGridContainerFrame::TrackSizingFunctions const&, nsGridContainerFrame::LineRange nsGridContainerFrame::GridArea::*, int, SizingConstraint) /builds/worker/workspace/build/src/layout/generic/nsGridContainerFrame.cpp:5569:11
    #16 0x7f0704041395 in nsGridContainerFrame::Tracks::CalculateSizes(nsGridContainerFrame::GridReflowInput&, nsTArray<nsGridContainerFrame::GridItemInfo>&, nsGridContainerFrame::TrackSizingFunctions const&, int, nsGridContainerFrame::LineRange nsGridContainerFrame::GridArea::*, SizingConstraint) /builds/worker/workspace/build/src/layout/generic/nsGridContainerFrame.cpp:5067:3
    #17 0x7f070403f55b in nsGridContainerFrame::GridReflowInput::CalculateTrackSizesForAxis(mozilla::LogicalAxis, nsGridContainerFrame::Grid const&, int, SizingConstraint) /builds/worker/workspace/build/src/layout/generic/nsGridContainerFrame.cpp:3397:12
    #18 0x7f070404342c in nsGridContainerFrame::GridReflowInput::CalculateTrackSizes(nsGridContainerFrame::Grid const&, mozilla::LogicalSize const&, SizingConstraint) /builds/worker/workspace/build/src/layout/generic/nsGridContainerFrame.cpp:3433:3
    #19 0x7f070407171f in nsGridContainerFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) /builds/worker/workspace/build/src/layout/generic/nsGridContainerFrame.cpp:7388:21
    #20 0x7f0703f20cc4 in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, nsIFrame::ReflowChildFlags, nsReflowStatus&, nsOverflowContinuationTracker*) /builds/worker/workspace/build/src/layout/generic/nsContainerFrame.cpp:906:14
    #21 0x7f0703f1fd3b in nsCanvasFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) /builds/worker/workspace/build/src/layout/generic/nsCanvasFrame.cpp:750:5
    #22 0x7f0703f20cc4 in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, nsIFrame::ReflowChildFlags, nsReflowStatus&, nsOverflowContinuationTracker*) /builds/worker/workspace/build/src/layout/generic/nsContainerFrame.cpp:906:14
    #23 0x7f0704001de8 in nsHTMLScrollFrame::ReflowScrolledFrame(mozilla::ScrollReflowInput*, bool, bool, mozilla::ReflowOutput*) /builds/worker/workspace/build/src/layout/generic/nsGfxScrollFrame.cpp:653:3
    #24 0x7f0704003675 in nsHTMLScrollFrame::ReflowContents(mozilla::ScrollReflowInput*, mozilla::ReflowOutput const&) /builds/worker/workspace/build/src/layout/generic/nsGfxScrollFrame.cpp:767:3
    #25 0x7f0704007762 in nsHTMLScrollFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) /builds/worker/workspace/build/src/layout/generic/nsGfxScrollFrame.cpp:1154:3
    #26 0x7f0703ec33e1 in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, int, int, nsIFrame::ReflowChildFlags, nsReflowStatus&, nsOverflowContinuationTracker*) /builds/worker/workspace/build/src/layout/generic/nsContainerFrame.cpp:946:14
    #27 0x7f0703ec2980 in mozilla::ViewportFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) /builds/worker/workspace/build/src/layout/generic/ViewportFrame.cpp:299:7
    #28 0x7f0703ce4919 in mozilla::PresShell::DoReflow(nsIFrame*, bool, mozilla::OverflowChangedTracker*) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9241:11
    #29 0x7f0703cf7b77 in mozilla::PresShell::ProcessReflowCommands(bool) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:9414:24
    #30 0x7f0703cf63ed in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/workspace/build/src/layout/base/PresShell.cpp:4126:11
    #31 0x7f0703c84ae9 in nsRefreshDriver::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) /builds/worker/workspace/build/src/layout/base/nsRefreshDriver.cpp:2061:20
    #32 0x7f0703c93986 in TickDriver /builds/worker/workspace/build/src/layout/base/nsRefreshDriver.cpp:374:13
    #33 0x7f0703c93986 in mozilla::RefreshDriverTimer::TickRefreshDrivers(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&) /builds/worker/workspace/build/src/layout/base/nsRefreshDriver.cpp:351:7
    #34 0x7f0703c9351c in mozilla::RefreshDriverTimer::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) /builds/worker/workspace/build/src/layout/base/nsRefreshDriver.cpp:368:5
    #35 0x7f0703c92502 in RunRefreshDrivers /builds/worker/workspace/build/src/layout/base/nsRefreshDriver.cpp:825:5
    #36 0x7f0703c92502 in mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) /builds/worker/workspace/build/src/layout/base/nsRefreshDriver.cpp:743:16
    #37 0x7f0703c918a3 in mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync(mozilla::VsyncEvent const&) /builds/worker/workspace/build/src/layout/base/nsRefreshDriver.cpp:642:9
    #38 0x7f0704408ce9 in mozilla::layout::VsyncChild::RecvNotify(mozilla::VsyncEvent const&) /builds/worker/workspace/build/src/layout/ipc/VsyncChild.cpp:64:16
    #39 0x7f06fd495af0 in mozilla::layout::PVsyncChild::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/build/src/obj-firefox/ipc/ipdl/PVsyncChild.cpp:187:54
    #40 0x7f06fcec9d60 in mozilla::ipc::PBackgroundChild::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/build/src/obj-firefox/ipc/ipdl/PBackgroundChild.cpp:5806:32
    #41 0x7f06fc762ff2 in mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) /builds/worker/workspace/build/src/ipc/glue/MessageChannel.cpp:2214:25
    #42 0x7f06fc75e1fa in mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) /builds/worker/workspace/build/src/ipc/glue/MessageChannel.cpp:2136:9
    #43 0x7f06fc7606ff in mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) /builds/worker/workspace/build/src/ipc/glue/MessageChannel.cpp:1975:3
    #44 0x7f06fc761600 in mozilla::ipc::MessageChannel::MessageTask::Run() /builds/worker/workspace/build/src/ipc/glue/MessageChannel.cpp:2006:13
    #45 0x7f06fb50dc98 in nsThread::ProcessNextEvent(bool, bool*) /builds/worker/workspace/build/src/xpcom/threads/nsThread.cpp:1220:14
    #46 0x7f06fb518afc in NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/workspace/build/src/xpcom/threads/nsThreadUtils.cpp:481:10
    #47 0x7f06fc76ee9f in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/workspace/build/src/ipc/glue/MessagePump.cpp:87:21
    #48 0x7f06fc6620c7 in RunInternal /builds/worker/workspace/build/src/ipc/chromium/src/base/message_loop.cc:315:10
    #49 0x7f06fc6620c7 in RunHandler /builds/worker/workspace/build/src/ipc/chromium/src/base/message_loop.cc:308:3
    #50 0x7f06fc6620c7 in MessageLoop::Run() /builds/worker/workspace/build/src/ipc/chromium/src/base/message_loop.cc:290:3
    #51 0x7f07037f63d8 in nsBaseAppShell::Run() /builds/worker/workspace/build/src/widget/nsBaseAppShell.cpp:137:27
    #52 0x7f07073293c6 in XRE_RunAppShell() /builds/worker/workspace/build/src/toolkit/xre/nsEmbedFunctions.cpp:944:20
    #53 0x7f06fc6620c7 in RunInternal /builds/worker/workspace/build/src/ipc/chromium/src/base/message_loop.cc:315:10
    #54 0x7f06fc6620c7 in RunHandler /builds/worker/workspace/build/src/ipc/chromium/src/base/message_loop.cc:308:3
    #55 0x7f06fc6620c7 in MessageLoop::Run() /builds/worker/workspace/build/src/ipc/chromium/src/base/message_loop.cc:290:3
    #56 0x7f0707328989 in XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/workspace/build/src/toolkit/xre/nsEmbedFunctions.cpp:779:34
    #57 0x55b34b572433 in content_process_main /builds/worker/workspace/build/src/browser/app/../../ipc/contentproc/plugin-container.cpp:56:28
    #58 0x55b34b572433 in main /builds/worker/workspace/build/src/browser/app/nsBrowserApp.cpp:303:18
    #59 0x7f071e0e2b96 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /builds/worker/workspace/build/src/xpcom/base/nsDebugImpl.cpp:608:3 in NS_ABORT_OOM(unsigned long)
Flags: in-testsuite?
Attached file prefs.js

Also related to sub-grid.

Priority: -- → P3
Pushed by mpalmgren@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ab55651ab243
Floor subgrid auto-fill repeat count at zero to avoid underflow of unsigned integer mRepeatAutoEnd.  r=dholbert
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/22013 for changes under testing/web-platform/tests
Whiteboard: [jsbugmon:confirm] → [jsbugmon:confirm], [wptsync upstream]
Whiteboard: [jsbugmon:confirm], [wptsync upstream] → [jsbugmon:confirm], [wptsync upstream error]
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla75
Regressions: 1618826
Flags: in-testsuite? → in-testsuite+
Regressed by: 1581106
Has Regression Range: --- → yes
Flags: needinfo?(mats)
Upstream PR was closed without merging
Whiteboard: [jsbugmon:confirm], [wptsync upstream error] → [jsbugmon:confirm], [wptsync upstream]
Upstream PR merged by moz-wptsync-bot
You need to log in before you can comment on or make changes to this bug.