Closed Bug 986502 Opened 6 years ago Closed Last year

Large OOM in gfxAlphaBoxBlur::Init

Categories

(Core :: Graphics, defect, critical)

x86
Windows NT
defect
Not set
critical

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox31 --- affected
firefox32 - affected

People

(Reporter: wsmwk, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: crash, Whiteboard: [regression?])

Crash Data

I crashed with bp-487a4836-d90e-4f00-8dd1-4ea7d2140321
Total Virtual Memory	 3221094400
Available Virtual Memory 1979318272
System Memory Use Percentage	94
OOM Allocation Size	 737067

most crashes I looked at are only ~70%

First crash of signature is bp-36cdd340-15ad-458f-8373-8bdfc2131203 fx 28.0a1 20131202092621
=============================================================
0	mozalloc.dll	mozalloc_abort(char const * const)	memory/mozalloc/mozalloc_abort.cpp
1	mozalloc.dll	mozalloc_handle_oom(unsigned int)	memory/mozalloc/mozalloc_oom.cpp
2	mozalloc.dll	moz_xmalloc	memory/mozalloc/mozalloc.cpp
3	xul.dll	gfxAlphaBoxBlur::Init(gfxRect const &,nsIntSize const &,nsIntSize const &,gfxRect const *,gfxRect const *)	gfx/thebes/gfxBlur.cpp
4	xul.dll	gfxAlphaBoxBlur::BlurRectangle(gfxContext *,gfxRect const &,gfxCornerSizes *,gfxPoint const &,gfxRGBA const &,gfxRect const &,gfxRect const &)	gfx/thebes/gfxBlur.cpp
5	xul.dll	nsContextBoxBlur::BlurRectangle(gfxContext *,nsRect const &,int,gfxCornerSizes *,int,gfxRGBA const &,nsRect const &,gfxRect const &)	layout/base/nsCSSRendering.cpp
6	xul.dll	nsCSSRendering::PaintBoxShadowOuter(nsPresContext *,nsRenderingContext &,nsIFrame *,nsRect const &,nsRect const &,float)	layout/base/nsCSSRendering.cpp
7	xul.dll	nsDisplayBoxShadowOuter::Paint(nsDisplayListBuilder *,nsRenderingContext *)	layout/base/nsDisplayList.cpp
8	xul.dll	mozilla::FrameLayerBuilder::PaintItems(nsTArray<mozilla::FrameLayerBuilder::ClippedDisplayItem> &,nsIntRect const &,gfxContext *,nsRenderingContext *,nsDisplayListBuilder *,nsPresContext *,nsIntPoint const &,float,float,int)	layout/base/FrameLayerBuilder.cpp
9	xul.dll	mozilla::FrameLayerBuilder::DrawThebesLayer(mozilla::layers::ThebesLayer *,gfxContext *,nsIntRegion const &,mozilla::layers::DrawRegionClip,nsIntRegion const &,void *)	layout/base/FrameLayerBuilder.cpp
10	xul.dll	mozilla::layers::ThebesLayerD3D10::DrawRegion(nsIntRegion &,mozilla::layers::Layer::SurfaceMode)	gfx/layers/d3d10/ThebesLayerD3D10.cpp
11	xul.dll	mozilla::layers::ThebesLayerD3D10::Validate(mozilla::layers::ReadbackProcessor *)	gfx/layers/d3d10/ThebesLayerD3D10.cpp
12	xul.dll	mozilla::layers::ContainerLayerD3D10::Validate()	gfx/layers/d3d10/ContainerLayerD3D10.cpp
13	xul.dll	mozilla::layers::ContainerLayerD3D10::Validate()	gfx/layers/d3d10/ContainerLayerD3D10.cpp
14	xul.dll	mozilla::layers::LayerManagerD3D10::Render(mozilla::layers::LayerManager::EndTransactionFlags)	gfx/layers/d3d10/LayerManagerD3D10.cpp
15	xul.dll	mozilla::layers::LayerManagerD3D10::EndTransaction(void (*)(mozilla::layers::ThebesLayer *,gfxContext *,nsIntRegion const &,mozilla::layers::DrawRegionClip,nsIntRegion const &,void *),void *,mozilla::layers::LayerManager::EndTransactionFlags)	gfx/layers/d3d10/LayerManagerD3D10.cpp
16	xul.dll	nsDisplayList::PaintForFrame(nsDisplayListBuilder *,nsRenderingContext *,nsIFrame *,unsigned int)	layout/base/nsDisplayList.cpp
17	xul.dll	nsDisplayList::PaintRoot(nsDisplayListBuilder *,nsRenderingContext *,unsigned int)	layout/base/nsDisplayList.cpp
18	xul.dll	nsLayoutUtils::PaintFrame(nsRenderingContext *,nsIFrame *,nsRegion const &,unsigned int,unsigned int)	layout/base/nsLayoutUtils.cpp
See Also: → 860676
Just in case, if this memory allocation could be connected to general OOM issues that come from the fact that Mozilla does not support 64-bit Windows version of FireFox and that crashes happen due to fragmentation of virtual memory (however big "free virtual memory" value it can be, it does not matter in this case), I have made an extension: https://addons.mozilla.org/en-US/firefox/addon/prevent-out-of-virtual-memo/ that would automatically restart FireFox on reaching certain configurable threshold of *contagious* free virtual memory, thus allowing to avoid crashes.
Commenting here to track this bug as my SO's Firefox 29.0.1 crashed like this too.

bp-b7e906fc-e878-4cd9-bfe1-4e1352140606	06/06/2014	02:25 p.m.
Crash Signature: [@ mozalloc_abort(char const* const) | mozalloc_handle_oom(unsigned int) | moz_xmalloc | gfxAlphaBoxBlur::Init(gfxRect const&, nsIntSize const&, nsIntSize const&, gfxRect const*, gfxRect const*)] → [@ mozalloc_abort(char const* const) | mozalloc_handle_oom(unsigned int) | moz_xmalloc | gfxAlphaBoxBlur::Init(gfxRect const&, nsIntSize const&, nsIntSize const&, gfxRect const*, gfxRect const*)] [@ OOM | large | mozalloc_abort(char const* const) | mozal…
Summary: crash in mozalloc_abort(char const* const) | mozalloc_handle_oom(unsigned int) | moz_xmalloc | gfxAlphaBoxBlur::Init(gfxRect const&, nsIntSize const&, nsIntSize const&, gfxRect const*, gfxRect const*) → Large OOM in gfxAlphaBoxBlur::Init
Crash Signature: , gfxRect const*)] [@ OOM | large | mozalloc_abort(char const* const) | mozalloc_handle_oom(unsigned int) | moz_xmalloc | gfxAlphaBoxBlur::Init(gfxRect const&, nsIntSize const&, nsIntSize const&, gfxRect const*, gfxRect const*)] → , gfxRect const*)] [@ OOM | large | mozalloc_abort(char const* const) | mozalloc_handle_oom(unsigned int) | moz_xmalloc | gfxAlphaBoxBlur::Init(gfxRect const&, nsIntSize const&, nsIntSize const&, gfxRect const*, gfxRect const*)] [@ OOM | large | mozallo…
Filing comment from sumo question https://support.mozilla.org/en-US/questions/1013057 
bp-5b2fe9f5-f48e-4dd6-a5e3-58ad22140723 
System Memory Use Percentage 66
Total Virtual Memory         4294836224
Available Virtual Memory     191561728
Available Physical Memory    2872082432
OOM Allocation Size          743603

That was a Fx 30 crash. Possibly in that users case current release Fx31 is stuttering but not crashing frequently.
[Tracking Requested - why for this release]:

My SO's Firefox beta 32.0 crashed like this:

bp-8c073830-00d2-494a-a8e8-79fb82140731	31/07/2014	01:02 p.m.
This bug goes back several releases at this point. Without this being a high volume crash I don't think it needs to track Firefox 32 specifically. This bug should be prioritized and addressed via the normal gfx team process.
I'm using Seamonkey 2.26.1 and this crash occurs very often.
Since build: https://hg.mozilla.org/mozilla-central/rev/64c4ec2df3d4 I'm able to crash Nightly on YT with this crash sig:
https://crash-stats.mozilla.com/report/index/f8850b2c-337d-4b21-b1b7-99db62140823
https://crash-stats.mozilla.com/report/index/4cdbd23b-e3aa-48bd-a251-800132140823
https://crash-stats.mozilla.com/report/index/1821c553-5ed8-4ce7-abc8-cabd12140823

Just play some random vid, try to skip some minute or two on time progress bar in vid. Nightly hangs or crash with posted sigs. It is bit random, sometimes plays fine and sometimes crash or hangs.
This is the 24th topcrasher among sessions attempting D3D11 layers, so blocking bug 1061693.

Sample D3D11 crash report:
https://crash-stats.mozilla.com/report/index/45528f3c-3584-499b-82e0-223ba2140901
Crash Signature: , gfxRect const*)] [@ OOM | large | mozalloc_abort(char const*) | mozalloc_handle_oom(unsigned int) | moz_xmalloc | gfxAlphaBoxBlur::Init(gfxRect const&, nsIntSize const&, nsIntSize const&, gfxRect const*, gfxRect const*)] → , gfxRect const*)] [@ OOM | large | mozalloc_abort(char const*) | mozalloc_handle_oom(unsigned int) | moz_xmalloc | gfxAlphaBoxBlur::Init(gfxRect const&, nsIntSize const&, nsIntSize const&, gfxRect const*, gfxRect const*)] [@ mozalloc_abort | mozalloc_h…
Closing because no crash reported since 12 weeks.
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → WONTFIX
Closing because no crash reported since 12 weeks.
You need to log in before you can comment on or make changes to this bug.