Closed Bug 1508858 Opened 6 years ago Closed 6 months ago

Assertion failure: aURI, at /builds/worker/workspace/build/src/layout/svg/SVGObserverUtils.h:59

Categories

(Core :: SVG, defect, P2)

defect

Tracking

()

RESOLVED FIXED
120 Branch
Tracking Status
firefox-esr115 --- wontfix
firefox65 --- wontfix
firefox118 --- wontfix
firefox119 --- wontfix
firefox120 --- fixed

People

(Reporter: tsmith, Assigned: longsonr)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, testcase)

Attachments

(2 files)

Attached file testcase.html
reduced with m-c:
BuildID=20181120164749
SourceStamp=8eff0a4f5d8f4442ce233d492185a90c460846ef

Assertion failure: aURI, at src/layout/svg/SVGObserverUtils.h:59

#0 0x7fa4072e074d in mozilla::URLAndReferrerInfo::URLAndReferrerInfo(nsIURI*, nsIURI*, mozilla::net::ReferrerPolicy) src/layout/svg/SVGObserverUtils.h:59:5
#1 0x7fa4072e0b51 in mozilla::SVGObserverUtils::GetAndObserveTemplate(nsIFrame*, std::function<void (nsTSubstring<char16_t>&)> const&) src/layout/svg/SVGObserverUtils.cpp:1428:11
#2 0x7fa40731b77f in nsSVGFilterFrame::GetReferencedFilter() src/layout/svg/nsSVGFilterFrame.cpp:133:22
#3 0x7fa40731bbc4 in nsSVGFilterFrame::GetFilterContent(nsIContent*) src/layout/svg/nsSVGFilterFrame.cpp:108:28
#4 0x7fa40731c2e4 in nsSVGFilterInstance::nsSVGFilterInstance(nsStyleFilter const&, nsIFrame*, nsIContent*, mozilla::dom::UserSpaceMetrics const&, mozilla::gfx::RectTyped<mozilla::gfx::UnknownUnits, double> const&, mozilla::gfx::SizeTyped<mozilla::gfx::UnknownUnits, double> const&) src/layout/svg/nsSVGFilterInstance.cpp:52:34
#5 0x7fa40730b2aa in nsFilterInstance::BuildPrimitivesForFilter(nsStyleFilter const&, nsIFrame*, bool, nsTArray<mozilla::gfx::FilterPrimitiveDescription>&) src/layout/svg/nsFilterInstance.cpp:543:25
#6 0x7fa40730abb6 in nsFilterInstance::BuildPrimitives(nsTArray<nsStyleFilter> const&, nsIFrame*, bool) src/layout/svg/nsFilterInstance.cpp:519:19
#7 0x7fa40730a088 in nsFilterInstance::nsFilterInstance(nsIFrame*, nsIContent*, mozilla::dom::UserSpaceMetrics const&, nsTArray<nsStyleFilter> const&, bool, nsSVGFilterPaintCallback*, mozilla::gfx::BaseMatrix<double> const&, nsRegion const*, nsRegion const*, nsRect const*, mozilla::gfx::RectTyped<mozilla::gfx::UnknownUnits, double> const*) src/layout/svg/nsFilterInstance.cpp:447:7
#8 0x7fa407309796 in nsFilterInstance::GetPostFilterBounds(nsIFrame*, mozilla::gfx::RectTyped<mozilla::gfx::UnknownUnits, double> const*, nsRect const*) src/layout/svg/nsFilterInstance.cpp:377:20
#9 0x7fa4073448ee in nsSVGUtils::GetPostFilterVisualOverflowRect(nsIFrame*, nsRect const&) src/layout/svg/nsSVGUtils.cpp:164:10
#10 0x7fa40707779b in ComputeEffectsRect(nsIFrame*, nsRect const&, nsSize const&) src/layout/generic/nsFrame.cpp:7416:11
#11 0x7fa40706df8a in nsIFrame::FinishAndStoreOverflow(nsOverflowAreas&, nsSize, nsSize*, nsStyleDisplay const*) src/layout/generic/nsFrame.cpp:9642:5
#12 0x7fa4072d75ae in mozilla::SVGGeometryFrame::ReflowSVG() src/layout/svg/SVGGeometryFrame.cpp:418:3
#13 0x7fa4072f1c3c in nsSVGDisplayContainerFrame::ReflowSVG() src/layout/svg/nsSVGContainerFrame.cpp:345:17
#14 0x7fa407336ac6 in nsSVGOuterSVGFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/svg/nsSVGOuterSVGFrame.cpp:460:14
#15 0x7fa4071488d4 in nsLineLayout::ReflowFrame(nsIFrame*, nsReflowStatus&, mozilla::ReflowOutput*, bool&) src/layout/generic/nsLineLayout.cpp:933:13
#16 0x7fa406fdd55c in nsBlockFrame::ReflowInlineFrame(mozilla::BlockReflowInput&, nsLineLayout&, nsLineList_iterator, nsIFrame*, LineReflowStatus*) src/layout/generic/nsBlockFrame.cpp:4265:15
#17 0x7fa406fdc044 in nsBlockFrame::DoReflowInlineFrames(mozilla::BlockReflowInput&, nsLineLayout&, nsLineList_iterator, nsFlowAreaRect&, int&, nsFloatManager::SavedState*, bool*, LineReflowStatus*, bool) src/layout/generic/nsBlockFrame.cpp:4065:5
#18 0x7fa406fd4436 in nsBlockFrame::ReflowInlineFrames(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:3938:9
#19 0x7fa406fce33e in nsBlockFrame::ReflowLine(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:2920:5
#20 0x7fa406fc4a93 in nsBlockFrame::ReflowDirtyLines(mozilla::BlockReflowInput&) src/layout/generic/nsBlockFrame.cpp:2454:7
#21 0x7fa406fbf866 in nsBlockFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsBlockFrame.cpp:1288:3
#22 0x7fa406fd98e7 in nsBlockReflowContext::ReflowBlock(mozilla::LogicalRect const&, bool, nsCollapsingMargin&, int, bool, nsLineBox*, mozilla::ReflowInput&, nsReflowStatus&, mozilla::BlockReflowInput&) src/layout/generic/nsBlockReflowContext.cpp:309:11
#23 0x7fa406fd21e4 in nsBlockFrame::ReflowBlockFrame(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:3567:11
#24 0x7fa406fce2f0 in nsBlockFrame::ReflowLine(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:2917:5
#25 0x7fa406fc4a93 in nsBlockFrame::ReflowDirtyLines(mozilla::BlockReflowInput&) src/layout/generic/nsBlockFrame.cpp:2454:7
#26 0x7fa406fbf866 in nsBlockFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsBlockFrame.cpp:1288:3
#27 0x7fa407005604 in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, unsigned int, nsReflowStatus&, nsOverflowContinuationTracker*) src/layout/generic/nsContainerFrame.cpp:951:14
#28 0x7fa4070043b4 in nsCanvasFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsCanvasFrame.cpp:803:5
#29 0x7fa407005604 in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, unsigned int, nsReflowStatus&, nsOverflowContinuationTracker*) src/layout/generic/nsContainerFrame.cpp:951:14
#30 0x7fa4070ce68e in nsHTMLScrollFrame::ReflowScrolledFrame(mozilla::ScrollReflowInput*, bool, bool, mozilla::ReflowOutput*, bool) src/layout/generic/nsGfxScrollFrame.cpp:600:3
#31 0x7fa4070cfcaa in nsHTMLScrollFrame::ReflowContents(mozilla::ScrollReflowInput*, mozilla::ReflowOutput const&) src/layout/generic/nsGfxScrollFrame.cpp:724:3
#32 0x7fa4070d220e in nsHTMLScrollFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsGfxScrollFrame.cpp:1114:3
#33 0x7fa406fadace in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, int, int, unsigned int, nsReflowStatus&, nsOverflowContinuationTracker*) src/layout/generic/nsContainerFrame.cpp:995:14
#34 0x7fa406fad02c in mozilla::ViewportFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/ViewportFrame.cpp:338:7
#35 0x7fa406df73dc in mozilla::PresShell::DoReflow(nsIFrame*, bool) src/layout/base/PresShell.cpp:9021:11
#36 0x7fa406e06de5 in mozilla::PresShell::ProcessReflowCommands(bool) src/layout/base/PresShell.cpp:9194:24
#37 0x7fa406e05d59 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) src/layout/base/PresShell.cpp:4403:11
#38 0x7fa406db2922 in nsRefreshDriver::Tick(mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:1933:16
#39 0x7fa406dbd441 in mozilla::RefreshDriverTimer::TickRefreshDrivers(mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&) src/layout/base/nsRefreshDriver.cpp:301:7
#40 0x7fa406dbd22d in mozilla::RefreshDriverTimer::Tick(mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:319:5
#41 0x7fa406dbfa9e in mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:676:16
#42 0x7fa406dbf0ee in mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync(mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:573:9
#43 0x7fa40741b67f in mozilla::layout::VsyncChild::RecvNotify(mozilla::TimeStamp const&) src/layout/ipc/VsyncChild.cpp:76:16
#44 0x7fa401839361 in mozilla::layout::PVsyncChild::OnMessageReceived(IPC::Message const&) src/obj-firefox/ipc/ipdl/PVsyncChild.cpp:167:20
#45 0x7fa4016e01e3 in mozilla::ipc::PBackgroundChild::OnMessageReceived(IPC::Message const&) src/obj-firefox/ipc/ipdl/PBackgroundChild.cpp:2446:28
#46 0x7fa4012f208e in mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const&) src/ipc/glue/MessageChannel.cpp:2244:25
#47 0x7fa4012efe97 in mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) src/ipc/glue/MessageChannel.cpp:2171:17
#48 0x7fa4012f084e in mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) src/ipc/glue/MessageChannel.cpp:2008:5
#49 0x7fa4012f0f93 in mozilla::ipc::MessageChannel::MessageTask::Run() src/ipc/glue/MessageChannel.cpp:2041:15
#50 0x7fa40057d845 in nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1244:14
#51 0x7fa4005842ec in NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:530:10
#52 0x7fa4012f95f5 in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:97:21
#53 0x7fa401232b0c in MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:325:10
#54 0x7fa401232980 in MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:298:3
#55 0x7fa4069e49aa in nsBaseAppShell::Run() src/widget/nsBaseAppShell.cpp:158:27
#56 0x7fa409ca74a4 in XRE_RunAppShell() src/toolkit/xre/nsEmbedFunctions.cpp:961:22
#57 0x7fa4012fa2c9 in mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:269:9
#58 0x7fa401232b0c in MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:325:10
#59 0x7fa401232980 in MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:298:3
#60 0x7fa409ca6a34 in XRE_InitChildProcess(int, char**, XREChildData const*) src/toolkit/xre/nsEmbedFunctions.cpp:787:34
#61 0x56052c5c0bf7 in content_process_main(mozilla::Bootstrap*, int, char**) src/browser/app/../../ipc/contentproc/plugin-container.cpp:50:30
#62 0x56052c5c0e7e in main src/browser/app/nsBrowserApp.cpp:287:18
#63 0x7fa42190882f in __libc_start_main /build/glibc-Cl5G7W/glibc-2.23/csu/../csu/libc-start.c:291
#64 0x56052c4e69f4 in _start (firefox+0x349f4)
Flags: in-testsuite?
Component: Audio/Video: cubeb → SVG
Assignee: nobody → jwatt
Priority: -- → P2
Severity: normal → S3
Assignee: jwatt → longsonr
Pushed by longsonr@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/468469f54da6
Fix assertion failure in SVGObserverUtils r=emilio
Status: NEW → RESOLVED
Closed: 6 months ago
Resolution: --- → FIXED
Target Milestone: --- → 120 Branch
Flags: in-testsuite? → in-testsuite+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: