Closed Bug 1100448 Opened 10 years ago Closed 10 years ago

crash in DCFromDrawTarget::DCFromDrawTarget(mozilla::gfx::DrawTarget&)

Categories

(Core :: Graphics: Text, defect)

36 Branch
x86
Windows NT
defect
Not set
critical

Tracking

()

VERIFIED FIXED
mozilla36
Tracking Status
firefox36 + verified

People

(Reporter: jbecerra, Assigned: jwatt)

References

Details

(Keywords: crash, topcrash)

Crash Data

Attachments

(1 file, 1 obsolete file)

[Tracking Requested - why for this release]: new topcrash in Fx36 This bug was filed from the Socorro interface and is report bp-dedcd65c-0436-4932-8a13-153832141112. ============================================================= This is a recent signature from around 11/12, but it had a spike last week and it is now at #5 in the top crashers list, it's also showing up in the list of explosive reports. This is mostly being reported on Windows 7, but all Windows flavors are affected. There are several comments in the reports, and a few mention going to YouTube and experiencing a crash all of the sudden. You can see more reports at: https://crash-stats.mozilla.com/report/list?product=Firefox&signature=DCFromDrawTarget%3A%3ADCFromDrawTarget%28mozilla%3A%3Agfx%3A%3ADrawTarget%26%29 Frame Module Signature Source 0 xul.dll DCFromDrawTarget::DCFromDrawTarget(mozilla::gfx::DrawTarget&) gfx/thebes/gfxWindowsPlatform.cpp 1 xul.dll gfxGDIFont::GetGlyphWidth(mozilla::gfx::DrawTarget&, unsigned short) gfx/thebes/gfxGDIFont.cpp 2 xul.dll gfxHarfBuzzShaper::HBGetGlyphHAdvance(hb_font_t*, void*, unsigned int, void*) gfx/thebes/gfxHarfBuzzShaper.cpp 3 xul.dll hb_ot_shape_internal gfx/harfbuzz/src/hb-ot-shape.cc 4 xul.dll hb_shape_plan_execute gfx/harfbuzz/src/hb-shaper-list.hh 5 xul.dll hb_shape gfx/harfbuzz/src/hb-shape.cc 6 xul.dll gfxHarfBuzzShaper::ShapeText(gfxContext*, wchar_t const*, unsigned int, unsigned int, int, bool, gfxShapedText*) gfx/thebes/gfxHarfBuzzShaper.cpp 7 xul.dll gfxGDIFont::ShapeText(gfxContext*, wchar_t const*, unsigned int, unsigned int, int, bool, gfxShapedText*) gfx/thebes/gfxGDIFont.cpp 8 xul.dll gfxFont::GetShapedWord<wchar_t>(gfxContext*, wchar_t const*, unsigned int, unsigned int, int, bool, int, unsigned int, gfxTextPerfMetrics*) gfx/thebes/gfxFont.cpp 9 xul.dll gfxFont::SplitAndInitTextRun<wchar_t>(gfxContext*, gfxTextRun*, wchar_t const*, unsigned int, unsigned int, int, bool) gfx/thebes/gfxFont.cpp 10 xul.dll gfxFontGroup::InitScriptRun<wchar_t>(gfxContext*, gfxTextRun*, wchar_t const*, unsigned int, unsigned int, int) gfx/thebes/gfxTextRun.cpp 11 xul.dll gfxFontGroup::InitTextRun<wchar_t>(gfxContext*, gfxTextRun*, wchar_t const*, unsigned int) gfx/thebes/gfxTextRun.cpp 12 xul.dll gfxFontGroup::MakeTextRun(wchar_t const*, unsigned int, gfxTextRunFactory::Parameters const*, unsigned int) gfx/thebes/gfxTextRun.cpp 13 xul.dll nsFontMetrics::GetWidth(wchar_t const*, unsigned int, nsRenderingContext*) gfx/src/nsFontMetrics.cpp 14 xul.dll nsLayoutUtils::AppUnitWidthOfString(wchar_t const*, unsigned int, nsFontMetrics&, nsRenderingContext&) layout/base/nsLayoutUtils.cpp 15 xul.dll nsLayoutUtils::AppUnitWidthOfStringBidi(wchar_t const*, unsigned int, nsIFrame const*, nsFontMetrics&, nsRenderingContext&) layout/base/nsLayoutUtils.cpp 16 xul.dll nsImageFrame::MeasureString(wchar_t const*, int, int, unsigned int&, nsRenderingContext&, nsFontMetrics&) layout/generic/nsImageFrame.cpp 17 xul.dll nsImageFrame::DisplayAltText(nsPresContext*, nsRenderingContext&, nsString const&, nsRect const&) layout/generic/nsImageFrame.cpp 18 xul.dll nsImageFrame::DisplayAltFeedback(nsRenderingContext&, nsRect const&, imgIRequest*, nsPoint) layout/generic/nsImageFrame.cpp 19 xul.dll nsDisplayAltFeedback::Paint(nsDisplayListBuilder*, nsRenderingContext*) layout/generic/nsImageFrame.cpp 20 xul.dll mozilla::FrameLayerBuilder::PaintItems(nsTArray<mozilla::FrameLayerBuilder::ClippedDisplayItem>&, nsIntRect const&, gfxContext*, nsRenderingContext*, nsDisplayListBuilder*, nsPresContext*, nsIntPoint const&, float, float, int) layout/base/FrameLayerBuilder.cpp 21 xul.dll mozilla::FrameLayerBuilder::DrawPaintedLayer(mozilla::layers::PaintedLayer*, gfxContext*, nsIntRegion const&, mozilla::layers::DrawRegionClip, nsIntRegion const&, void*) layout/base/FrameLayerBuilder.cpp 22 xul.dll mozilla::layers::ClientPaintedLayer::PaintThebes() gfx/layers/client/ClientPaintedLayer.cpp 23 xul.dll mozilla::layers::ClientPaintedLayer::RenderLayerWithReadback(mozilla::layers::ReadbackProcessor*) gfx/layers/client/ClientPaintedLayer.cpp 24 xul.dll mozilla::layers::ClientContainerLayer::RenderLayer() gfx/layers/client/ClientContainerLayer.h 25 xul.dll mozilla::layers::ClientContainerLayer::RenderLayer() gfx/layers/client/ClientContainerLayer.h 26 xul.dll mozilla::layers::ClientLayerManager::EndTransactionInternal(void (*)(mozilla::layers::PaintedLayer*, gfxContext*, nsIntRegion const&, mozilla::layers::DrawRegionClip, nsIntRegion const&, void*), void*, mozilla::layers::LayerManager::EndTransactionFlags) gfx/layers/client/ClientLayerManager.cpp 27 xul.dll mozilla::layers::ClientLayerManager::EndTransaction(void (*)(mozilla::layers::PaintedLayer*, gfxContext*, nsIntRegion const&, mozilla::layers::DrawRegionClip, nsIntRegion const&, void*), void*, mozilla::layers::LayerManager::EndTransactionFlags) gfx/layers/client/ClientLayerManager.cpp 28 xul.dll nsDisplayList::PaintRoot(nsDisplayListBuilder*, nsRenderingContext*, unsigned int) layout/base/nsDisplayList.cpp 29 xul.dll nsLayoutUtils::PaintFrame(nsRenderingContext*, nsIFrame*, nsRegion const&, unsigned int, unsigned int) layout/base/nsLayoutUtils.cpp 30 xul.dll PresShell::Paint(nsView*, nsRegion const&, unsigned int) layout/base/nsPresShell.cpp 31 xul.dll nsViewManager::ProcessPendingUpdatesPaint(nsIWidget*) view/nsViewManager.cpp 32 xul.dll nsViewManager::ProcessPendingUpdatesForView(nsView*, bool) view/nsViewManager.cpp 33 xul.dll nsViewManager::ProcessPendingUpdates() view/nsViewManager.cpp 34 xul.dll nsRefreshDriver::Tick(__int64, mozilla::TimeStamp) layout/base/nsRefreshDriver.cpp 35 xul.dll mozilla::RefreshDriverTimer::Tick() layout/base/nsRefreshDriver.cpp 36 xul.dll nsTimerImpl::Fire() xpcom/threads/nsTimerImpl.cpp 37 xul.dll nsTimerEvent::Run() xpcom/threads/nsTimerImpl.cpp 38 xul.dll nsThread::ProcessNextEvent(bool, bool*) xpcom/threads/nsThread.cpp 39 xul.dll mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) ipc/glue/MessagePump.cpp 40 xul.dll MessageLoop::RunHandler() ipc/chromium/src/base/message_loop.cc 41 xul.dll MessageLoop::Run() ipc/chromium/src/base/message_loop.cc 42 xul.dll nsBaseAppShell::Run() widget/nsBaseAppShell.cpp 43 xul.dll nsAppShell::Run() widget/windows/nsAppShell.cpp 44 xul.dll nsAppStartup::Run() toolkit/components/startup/nsAppStartup.cpp 45 xul.dll XREMain::XRE_mainRun() toolkit/xre/nsAppRunner.cpp 46 xul.dll XREMain::XRE_main(int, char** const, nsXREAppData const*) toolkit/xre/nsAppRunner.cpp 47 xul.dll XRE_main toolkit/xre/nsAppRunner.cpp 48 firefox.exe do_main browser/app/nsBrowserApp.cpp 49 firefox.exe NS_internal_main(int, char**) browser/app/nsBrowserApp.cpp 50 firefox.exe wmain toolkit/xre/nsWindowsWMain.cpp 51 firefox.exe __tmainCRTStartup f:/dd/vctools/crt/crtw32/startup/crt0.c:255 52 kernel32.dll BaseThreadInitThunk Ø 53 ntdll.dll ntdll.dll@0x54408 54 kernel32.dll SetFileAttributesW 55 @0x17fffffff Ø 56 KERNELBASE.dll KERNELBASE.dll@0x9cd47
Component: Graphics → Graphics: Text
Null surf in DCFromDrawTarget. Initial build of 20141112030202 points to: Bug 1093806 - Convert DCFromContext to DCFromDrawTarget. r=Bas I see very few crashes in DCFromContext before the conversion, so I assume this is a new crash rather than a changed signature.
Flags: needinfo?(jwatt)
Blocks: 1093806
Top crash, tracking.
Assignee: nobody → jwatt
Flags: needinfo?(jwatt)
Attached patch patch (obsolete) — Splinter Review
I've not managed to reproduce this, even with D2D disabled. It seems though that the GetNativeSurface(NativeSurfaceType::CAIRO_SURFACE) call must be returning null for some reason. This patch changes the code to check for that just as gfxContext::CurrentSurface (the function we used to call) does.
Attachment #8526724 - Flags: review?(bas)
Attached patch patchSplinter Review
Attachment #8526724 - Attachment is obsolete: true
Attachment #8526724 - Flags: review?(bas)
Attachment #8526726 - Flags: review?(bas)
Attachment #8526726 - Flags: review?(bas) → review+
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla36
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: