Closed Bug 1217186 Opened 9 years ago Closed 9 years ago

Assert fail in CreateBoxShadow when using Firefox Hello

Categories

(Core :: Graphics, defect)

41 Branch
x86
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1181028

People

(Reporter: q1, Unassigned)

Details

I often (but not always) experience an assert fail in CreateBoxShadow (gfx\thebes\gfxBlur.cpp#445) in FF 41 x86 debug (my build, no mods) when I do the following:

1. Start FF 41.0 with one window and one tab open
2. Click the Hello icon and create a new conversation
3. Copy the conversation link and paste it into the same browser window and hit enter
4. Undock the Hello box
5. Wait for the Hello connection to be established
6. Share tabs, video, and audio and wait for the tabs to be displayed
7. Open a new tab.

At this point, FF displays a selection of places to browse in the new tab, but before I can do anything it triggers the assert. Since I've attached the VS debugger to FF, it breaks into the debugger at line 445:

  MOZ_ASSERT(boxShadowDT->GetType() == aDT.GetType());

Both |boxShadowDT| and |aDT| appear uncorrupted at this point, but |boxShadowDT->GetType()| == |HARDWARE_RASTER| and |aDT.GetType()| == |SOFTWARE_RASTER|.

I am using an NVIDIA GeForce GT 610 video card with drivers 353.30 on Win7 SP1 x64:

The call stack at the assert is:

 >	xul.dll!CreateBoxShadow(mozilla::gfx::DrawTarget & aDT, mozilla::gfx::SourceSurface * aBlurMask, const gfxRGBA & aShadowColor) Line 445	C++
 	xul.dll!GetBlur(mozilla::gfx::DrawTarget & aDT, const mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> & aRectSize, const mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> & aBlurRadius, mozilla::gfx::RectCornerRadii * aCornerRadii, const gfxRGBA & aShadowColor, mozilla::gfx::IntMarginTyped<mozilla::gfx::UnknownUnits> & aExtendDestBy, mozilla::gfx::IntMarginTyped<mozilla::gfx::UnknownUnits> & aSlice) Line 485	C++
 	xul.dll!gfxAlphaBoxBlur::BlurRectangle(gfxContext * aDestinationCtx, const gfxRect & aRect, mozilla::gfx::RectCornerRadii * aCornerRadii, const gfxPoint & aBlurStdDev, const gfxRGBA & aShadowColor, const gfxRect & aDirtyRect, const gfxRect & aSkipRect) Line 577	C++
 	xul.dll!nsContextBoxBlur::BlurRectangle(gfxContext * aDestinationCtx, const nsRect & aRect, int aAppUnitsPerDevPixel, mozilla::gfx::RectCornerRadii * aCornerRadii, int aBlurRadius, const gfxRGBA & aShadowColor, const nsRect & aDirtyRect, const gfxRect & aSkipRect) Line 5439	C++
 	xul.dll!nsCSSRendering::PaintBoxShadowOuter(nsPresContext * aPresContext, nsRenderingContext & aRenderingContext, nsIFrame * aForFrame, const nsRect & aFrameArea, const nsRect & aDirtyRect, float aOpacity) Line 1445	C++
 	xul.dll!nsDisplayBoxShadowOuter::Paint(nsDisplayListBuilder * aBuilder, nsRenderingContext * aCtx) Line 3404	C++
 	xul.dll!mozilla::FrameLayerBuilder::PaintItems(nsTArray<mozilla::FrameLayerBuilder::ClippedDisplayItem> & aItems, const mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> & aRect, gfxContext * aContext, nsRenderingContext * aRC, nsDisplayListBuilder * aBuilder, nsPresContext * aPresContext, const mozilla::gfx::IntPointTyped<mozilla::gfx::UnknownUnits> & aOffset, float aXScale, float aYScale, int aCommonClipCount) Line 5317	C++
 	xul.dll!mozilla::FrameLayerBuilder::DrawPaintedLayer(mozilla::layers::PaintedLayer * aLayer, gfxContext * aContext, const nsIntRegion & aRegionToDraw, mozilla::layers::DrawRegionClip aClip, const nsIntRegion & aRegionToInvalidate, void * aCallbackData) Line 5516	C++
 	xul.dll!mozilla::layers::BasicPaintedLayer::PaintThebes(gfxContext * aContext, mozilla::layers::Layer * aMaskLayer, void (mozilla::layers::PaintedLayer *, gfxContext *, const nsIntRegion &, mozilla::layers::DrawRegionClip, const nsIntRegion &, void *) * aCallback, void * aCallbackData) Line 94	C++
 	xul.dll!mozilla::layers::BasicLayerManager::PaintSelfOrChildren(mozilla::layers::PaintLayerContext & aPaintContext, gfxContext * aGroupTarget) Line 805	C++
 	xul.dll!mozilla::layers::BasicLayerManager::PaintLayer(gfxContext * aTarget, mozilla::layers::Layer * aLayer, void (mozilla::layers::PaintedLayer *, gfxContext *, const nsIntRegion &, mozilla::layers::DrawRegionClip, const nsIntRegion &, void *) * aCallback, void * aCallbackData) Line 933	C++
 	xul.dll!mozilla::layers::BasicLayerManager::PaintSelfOrChildren(mozilla::layers::PaintLayerContext & aPaintContext, gfxContext * aGroupTarget) Line 818	C++
 	xul.dll!mozilla::layers::BasicLayerManager::PaintLayer(gfxContext * aTarget, mozilla::layers::Layer * aLayer, void (mozilla::layers::PaintedLayer *, gfxContext *, const nsIntRegion &, mozilla::layers::DrawRegionClip, const nsIntRegion &, void *) * aCallback, void * aCallbackData) Line 933	C++
 	xul.dll!mozilla::layers::BasicLayerManager::EndTransactionInternal(void (mozilla::layers::PaintedLayer *, gfxContext *, const nsIntRegion &, mozilla::layers::DrawRegionClip, const nsIntRegion &, void *) * aCallback, void * aCallbackData, mozilla::layers::LayerManager::EndTransactionFlags aFlags) Line 534	C++
 	xul.dll!mozilla::layers::BasicLayerManager::EndTransaction(void (mozilla::layers::PaintedLayer *, gfxContext *, const nsIntRegion &, mozilla::layers::DrawRegionClip, const nsIntRegion &, void *) * aCallback, void * aCallbackData, mozilla::layers::LayerManager::EndTransactionFlags aFlags) Line 460	C++
 	xul.dll!nsDisplayList::PaintRoot(nsDisplayListBuilder * aBuilder, nsRenderingContext * aCtx, unsigned int aFlags) Line 1657	C++
 	xul.dll!nsLayoutUtils::PaintFrame(nsRenderingContext * aRenderingContext, nsIFrame * aFrame, const nsRegion & aDirtyRegion, unsigned int aBackstop, unsigned int aFlags) Line 3340	C++
 	xul.dll!PresShell::RenderDocument(const nsRect & aRect, unsigned int aFlags, unsigned int aBackgroundColor, gfxContext * aThebesContext) Line 4711	C++
 	xul.dll!mozilla::MediaEngineTabVideoSource::Draw() Line 264	C++
 	xul.dll!mozilla::MediaEngineTabVideoSource::StartRunnable::Run() Line 42	C++
 	xul.dll!mozilla::MediaEngineTabVideoSource::InitRunnable::Run() Line 102	C++
 	xul.dll!nsThread::ProcessNextEvent(bool aMayWait, bool * aResult) Line 849	C++
 	xul.dll!NS_ProcessNextEvent(nsIThread * aThread, bool aMayWait) Line 265	C++
 	xul.dll!mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate * aDelegate) Line 95	C++
 	xul.dll!MessageLoop::RunInternal() Line 235	C++
 	xul.dll!MessageLoop::RunHandler() Line 228	C++
 	xul.dll!MessageLoop::Run() Line 202	C++
 	xul.dll!nsBaseAppShell::Run() Line 167	C++
 	xul.dll!nsAppShell::Run() Line 178	C++
 	xul.dll!nsAppStartup::Run() Line 280	C++
 	xul.dll!XREMain::XRE_mainRun() Line 4269	C++
 	xul.dll!XREMain::XRE_main(int argc, char * * argv, const nsXREAppData * aAppData) Line 4353	C++
 	xul.dll!XRE_main(int argc, char * * argv, const nsXREAppData * aAppData, unsigned int aFlags) Line 4442	C++
 	firefox.exe!do_main(int argc, char * * argv, nsIFile * xreDirectory) Line 214	C++
 	firefox.exe!NS_internal_main(int argc, char * * argv) Line 478	C++
 	firefox.exe!wmain(int argc, wchar_t * * argv) Line 131	C++
 	[External Code]	 

The about:support graphics section is:

Graphics
Adapter Description	NVIDIA GeForce GT 610
Adapter Drivers	nvd3dumx,nvwgf2umx,nvwgf2umx nvd3dum,nvwgf2um,nvwgf2um
Adapter RAM	1024
Asynchronous Pan/Zoom	none
ClearType Parameters	D [ Gamma: 2200 Pixel Structure: R ] D [ Gamma: 2200 Pixel Structure: R ]
Device ID	0x104a
Direct2D Enabled	true
DirectWrite Enabled	true (6.2.9200.16492)
Driver Date	6-17-2015
Driver Version	10.18.13.5330
GPU #2 Active	false
GPU Accelerated Windows	1/1 Direct3D 11 (OMTC)
Subsys ID	104a196e
Supports Hardware H264 Decoding	true
Vendor ID	0x10de
WebGL Renderer	Google Inc. -- ANGLE (NVIDIA GeForce GT 610 Direct3D11 vs_5_0 ps_5_0)
windowLayerManagerRemote	true
AzureCanvasBackend	direct2d 1.1
AzureContentBackend	direct2d 1.1
AzureFallbackCanvasBackend	cairo
AzureSkiaAccelerated	0
This was fixed in bug 1181028 and the assertion is no longer in beta and onwards.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.