Open Bug 1686076 Opened 3 years ago Updated 3 years ago

[main process] Unreported heap-unclassified memory for "SkSurface::MakeRaster"

Categories

(Core :: Graphics: Layers, defect, P5)

defect

Tracking

()

People

(Reporter: whimboo, Unassigned)

Details

Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:86.0) Gecko/20100101 Firefox/86.0 ID:20210108215736

As seen today in a DMD enabled Nightly build:

Unreported {
  9 blocks in heap block record 2 of 29,314
  11,423,744 bytes (11,405,024 requested / 18,720 slop)
  Individual block sizes: 4,878,336; 2,482,176; 2,256,896; 745,472; 409,600; 315,392; 221,184; 69,632; 45,056
  1.82% of the heap (9.27% cumulative)
  5.26% of unreported (26.87% cumulative)
  Allocated at {
    #01: SkMallocPixelRef::MakeAllocate(SkImageInfo const&, unsigned long) (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x146f804)
    #02: SkSurface::MakeRaster(SkImageInfo const&, unsigned long, SkSurfaceProps const*) (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x145fc00)
    #03: mozilla::gfx::DrawTargetSkia::Init(mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::SurfaceFormat) (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x9f6767)
    #04: mozilla::gfx::Factory::CreateDrawTarget(mozilla::gfx::BackendType, mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::SurfaceFormat) (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x9f8bce)
    #05: mozilla::layers::ContentClientBasic::CreateBuffer(gfxContentType, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, unsigned int) (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x2e1dbd6)
    #06: mozilla::layers::ContentClient::BeginPaint(mozilla::layers::PaintedLayer*, unsigned int) (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0xab093e)
    #07: mozilla::layers::BasicPaintedLayer::Validate(void (*)(mozilla::layers::PaintedLayer*, gfxContext*, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::layers::DrawRegio (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0xaacd16)
    #08: non-virtual thunk to mozilla::layers::BasicContainerLayer::Validate(void (*)(mozilla::layers::PaintedLayer*, gfxContext*, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, moz (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0xaa918c)
    #09: mozilla::layers::BasicLayerManager::EndTransactionInternal(void (*)(mozilla::layers::PaintedLayer*, gfxContext*, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::lay (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0xaa97a0)
    #10: nsDisplayList::PaintRoot(nsDisplayListBuilder*, gfxContext*, unsigned int) (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x13c6b73)
    #11: nsLayoutUtils::PaintFrame(gfxContext*, nsIFrame*, nsRegion const&, unsigned int, nsDisplayListBuilderMode, nsLayoutUtils::PaintFrameFlags) (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x1208f4d)
    #12: mozilla::PresShell::Paint(nsView*, nsRegion const&, mozilla::PaintFlags) (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x11abf2a)
    #13: nsViewManager::ProcessPendingUpdatesPaint(nsIWidget*) (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x10cf4d2)
    #14: nsViewManager::ProcessPendingUpdatesForView(nsView*, bool) (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x10ce3c7)
    #15: nsViewManager::ProcessPendingUpdates() (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x10d0e95)
    #16: nsRefreshDriver::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x11871c8)
    #17: mozilla::RefreshDriverTimer::TickRefreshDrivers(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&) (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x118c347)
    #18: mozilla::RefreshDriverTimer::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x118c197)
    #19: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x118bd90)
    #20: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyParentProcessVsync() (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x118b902)
    #21: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::ParentProcessVsyncNotifier::Run() (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x118b2c0)
    #22: mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x556f6e)
    #23: mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_4>::Run() (/Applications/FirefoxNightly.app/Contents/MacOS/XUL + 0x55b06c)
  }
}
Severity: -- → S3
Priority: -- → P3

Jimm, should this be more about SkMallocPixelRef::MakeAllocate instead of SkSurface::MakeRaster, or is that hard to tell without further investigation?

Flags: needinfo?(jmathies)
Blocks: gfx-triage
Flags: needinfo?(jmathies)

(In reply to Henrik Skupin (:whimboo) [⌚️UTC+1] from comment #1)

Jimm, should this be more about SkMallocPixelRef::MakeAllocate instead of SkSurface::MakeRaster, or is that hard to tell without further investigation?

It's fine, but since this is Basic layers, it's fairly low priority right now.

Severity: S3 → S4
Priority: P3 → P5
Component: Graphics → Graphics: Layers
No longer blocks: gfx-triage
You need to log in before you can comment on or make changes to this bug.