Closed
Bug 626590
Opened 14 years ago
Closed 14 years ago
[D2D] Crash [@ _cairo_dwrite_show_glyphs_on_d2d_surface(void*, _cairo_operator, _cairo_pattern const*, cairo_glyph_t*, int, _cairo_scaled_font*, _cairo_clip*) ]
Categories
(Core :: Graphics, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: raoul, Unassigned)
Details
(Keywords: crash)
Crash Data
Attachments
(2 files)
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.0b10pre) Gecko/20110112 Firefox/4.0b10pre
Build Identifier: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.0b10pre) Gecko/20110112 Firefox/4.0b10pre
after a recent update, minefield is now crashing upon startup.
safe mode works fine though.
i managed to create a stacktrace where i see some d2d related issues.
i set gfx.direct2d.disabled to "true" and now, minefield is working again.
Reproducible: Always
Reporter | ||
Comment 1•14 years ago
|
||
Comment 2•14 years ago
|
||
Comment 3•14 years ago
|
||
00000000`0031a0d8 000007fe`ee1499e8 msvcrt!memset+0xc2
00000000`0031a0e0 000007fe`ee14af82 d2d1!TextStageManager::AddStagesForSubrect+0x15c
00000000`0031a1e0 000007fe`ee134bc3 d2d1!HwGlyphRunRealizer::IssueRenderingCommands+0xc92
00000000`0031a530 000007fe`ee16ee21 d2d1!CHwSurfaceRenderTarget::DrawGlyphRunInternal+0x217
00000000`0031a640 000007fe`ee1369a0 d2d1!CCommand_DrawGlyphRun::Execute+0x29
00000000`0031a680 000007fe`ee16ea59 d2d1!CHwSurfaceRenderTarget::ProcessBatch+0x58
00000000`0031a6b0 000007fe`ee126eb4 d2d1!CBatchSerializer::FlushInternal+0x3d
00000000`0031a6f0 000007fe`ee124a01 d2d1!CBatchSerializer::StartCommandInternal+0x4c
00000000`0031a720 000007fe`ee11f8d7 d2d1!DrawingContext::DrawGlyphRun+0x1c1
00000000`0031a7b0 000007fe`e747117e d2d1!D2DRenderTargetBase<ID2D1DCRenderTarget>::DrawGlyphRun+0x11b
00000000`0031a850 000007fe`e746d3a1 xul!_cairo_dwrite_show_glyphs_on_d2d_surface(void * surface = 0x00000000`107b7b00, _cairo_operator op = CAIRO_OPERATOR_OVER (0n2), struct _cairo_pattern * source = 0x00000000`0031ac10, struct cairo_glyph_t * glyphs = 0x00000000`0031ad10, int num_glyphs = 0n17, struct _cairo_scaled_font * scaled_font = 0x00000000`00000000, struct _cairo_clip * clip = 0x00000000`0031ac00)+0x88e [e:\builds\moz2_slave\cen-win64-ntly\build\gfx\cairo\cairo\src\cairo-dwrite-font.cpp @ 1502]
00000000`0031aa10 000007fe`e750f8dd xul!_cairo_d2d_show_glyphs(void * surface = 0x00000000`0031c0b0, _cairo_operator op = CAIRO_OPERATOR_DARKEN (0n17), struct _cairo_pattern * source = 0x00000000`0031ad10, struct cairo_glyph_t * glyphs = 0x00690072`00003000, int num_glyphs = 0n17, struct _cairo_scaled_font * scaled_font = 0x00000000`0ffa8800, struct _cairo_clip * clip = 0x00000000`0031ac00, int * remaining_glyphs = 0x00000000`0031ab90)+0xf1 [e:\builds\moz2_slave\cen-win64-ntly\build\gfx\cairo\cairo\src\cairo-d2d-surface.cpp @ 3473]
00000000`0031aa70 000007fe`e753c00c xul!_cairo_surface_show_text_glyphs(struct _cairo_surface * surface = 0x000007fe`00000011, _cairo_operator op = 0n-409460144 (No matching enumerant), struct _cairo_pattern * source = 0x00000000`0031ac10, char * utf8 = 0x00000000`00000000 "", int utf8_len = 0n0, struct cairo_glyph_t * glyphs = 0x00000000`0031ad10, int num_glyphs = 0n17, struct cairo_text_cluster_t * clusters = 0x00000000`0031b510, int num_clusters = 0n0, _cairo_text_cluster_flags cluster_flags = 0n0 (No matching enumerant), struct _cairo_scaled_font * scaled_font = 0x00000000`0ffa8800, struct _cairo_clip * clip = 0x00000000`0031ac00)+0x20d [e:\builds\moz2_slave\cen-win64-ntly\build\gfx\cairo\cairo\src\cairo-surface.c @ 2634]
00000000`0031ab90 000007fe`e7511ff7 xul!_cairo_gstate_show_text_glyphs(struct _cairo_gstate * gstate = 0x00000001`44444444, char * utf8 = 0x00000000`02a61700 "???", int utf8_len = 0n44051326, struct cairo_glyph_t * glyphs = 0x00000000`2b7ee9b4, int num_glyphs = 0n17, struct cairo_text_cluster_t * clusters = 0x00000000`00000000, int num_clusters = 0n0, _cairo_text_cluster_flags cluster_flags = 0n0 (No matching enumerant))+0x32c [e:\builds\moz2_slave\cen-win64-ntly\build\gfx\cairo\cairo\src\cairo-gstate.c @ 1875]
00000000`0031bfa0 000007fe`e6b165d6 xul!_moz_cairo_show_glyphs(struct _cairo * cr = 0x00000008`00000000, struct cairo_glyph_t * glyphs = 0x00000000`05000003, int num_glyphs = 0n44440032)+0x67 [e:\builds\moz2_slave\cen-win64-ntly\build\gfx\cairo\cairo\src\cairo.c @ 3407]
00000000`0031bff0 000007fe`e6b16a9e xul!GlyphBuffer::Flush(struct _cairo * aCR = 0x00000000`106e7a80, int aDrawToPath = 0n280782208, int aReverse = 0n229415488, int aFinish = 0n1)+0xea [e:\builds\moz2_slave\cen-win64-ntly\build\gfx\thebes\gfxfont.cpp @ 1103]
00000000`0031c040 000007fe`e6b1b4af xul!gfxFont::Draw(class gfxTextRun * aTextRun = 0x00000000`10c83aa0, unsigned int aStart = 0x11, unsigned int aEnd = 0x11, class gfxContext * aContext = 0x00000000`0dac9a40, int aDrawToPath = 0n0, struct gfxPoint * aPt = 0x00000000`0031d6a0, struct gfxFont::Spacing * aSpacing = 0x00000000`00000000)+0x4ba [e:\builds\moz2_slave\cen-win64-ntly\build\gfx\thebes\gfxfont.cpp @ 1243]
00000000`0031c970 000007fe`e6b1bd0a xul!gfxTextRun::DrawGlyphs(class gfxFont * aFont = 0x00000000`106e7a80, class gfxContext * aContext = 0x00000000`00000011, int aDrawToPath = 0n17, struct gfxPoint * aPt = 0x00000000`0031d6a0, unsigned int aStart = 0, unsigned int aEnd = 0x11, class gfxTextRun::PropertyProvider * aProvider = 0x00000000`0031d8a0, unsigned int aSpacingStart = 0, unsigned int aSpacingEnd = 0x11)+0xcf [e:\builds\moz2_slave\cen-win64-ntly\build\gfx\thebes\gfxfont.cpp @ 3226]
00000000`0031d650 000007fe`e6cd8b3d xul!gfxTextRun::Draw(class gfxContext * aContext = 0x00000000`00000000, struct gfxPoint * aPt = 0x00000000`0031d7d0, unsigned int aStart = 0x11, unsigned int aLength = 0, class gfxTextRun::PropertyProvider * aProvider = 0x00000000`0031d8a0, double * aAdvanceWidth = 0x00000000`0031da60)+0x266 [e:\builds\moz2_slave\cen-win64-ntly\build\gfx\thebes\gfxfont.cpp @ 3439]
00000000`0031d790 000007fe`e6cd8a54 xul!nsTextFrame::DrawText(class gfxContext * aCtx = 0x00000000`0dac9a40, struct gfxPoint * aTextBaselinePt = 0x00000000`100ad2b0, unsigned int aOffset = 0, unsigned int aLength = 0x11, struct gfxRect * aDirtyRect = 0x00000000`0031d850, class PropertyProvider * aProvider = 0x00000000`0031d8a0, double * aAdvanceWidth = 0x00000000`0031da60, int aDrawSoftHyphen = 0n0)+0x69 [e:\builds\moz2_slave\cen-win64-ntly\build\layout\generic\nstextframethebes.cpp @ 5088]
00000000`0031d7f0 000007fe`e6cd5976 xul!nsTextFrame::PaintText(class nsIRenderingContext * aRenderingContext = 0x00000000`000000bf, struct nsPoint * aPt = 0x00000000`10dd3a88, struct nsRect * aDirtyRect = 0x00000000`00000004)+0x3dc [e:\builds\moz2_slave\cen-win64-ntly\build\layout\generic\nstextframethebes.cpp @ 5075]
Severity: major → critical
Component: General → Graphics
Keywords: crash
Product: Firefox → Core
QA Contact: general → thebes
Version: unspecified → Trunk
Comment 4•14 years ago
|
||
I'd love to know the regression-window for this, that stack trace is from before landing of bug 622482.
Updated•14 years ago
|
Keywords: regressionwindow-wanted
Updated•14 years ago
|
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: minefield crashes with direct2d enabled → [D2D] Crash [@ _cairo_dwrite_show_glyphs_on_d2d_surface(void*, _cairo_operator, _cairo_pattern const*, cairo_glyph_t*, int, _cairo_scaled_font*, _cairo_clip*) ]
Comment 5•14 years ago
|
||
If the stack shown here is accurate, it seems strange that scaled_font is apparently NULL here:
_cairo_dwrite_show_glyphs_on_d2d_surface(... scaled_font = 0x00000000`00000000 ...)
...even though a frame higher, it was non-NULL:
_cairo_d2d_show_glyphs(... scaled_font = 0x00000000`0ffa8800 ...)
Reporter | ||
Comment 6•14 years ago
|
||
btw. i saw the same crashes on my thunderbird 3.3 alpha (nightly build).
i did not debug it (because i have no 32bit windbg installed) but disabling
d2d also helped. so i would assume that this is a core (gecko?) issue.
cheers,
raoul
Comment 7•14 years ago
|
||
Here is a crash report with this crash signature:
bp-2543c7f6-f525-4b80-91f5-318422110117
Reporter | ||
Comment 8•14 years ago
|
||
so, i deleted gfx.direct2d.disabled and things work without any problem in:
(means gfx.direct2d.disabled = false)
minefield 4.012pre (2011-02-15)
thunderbird/shredder: 3.3a3pre
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b12pre) Gecko/20110216 Thunderbird/3.3a3pre
has this bug been fixed or has direct2d simply been globally disabled?
thanks,
Comment 9•14 years ago
|
||
> has this bug been fixed or has direct2d simply been globally disabled?
D2D/DW is now disabled with old versions of graphic drivers.
Provide the graphic section from the about:support page to see if your issue has been fixed by that.
Reporter | ||
Comment 10•14 years ago
|
||
Graphics
Adapter Description
Mobile Intel(R) 4 Series Express Chipset Family
Vendor ID
8086
Device ID
2a42
Adapter RAM
Unknown
Adapter Drivers
igdumd64 igd10umd64 igdumdx32 igd10umd32
Driver Version
8.752.4.0
Driver Date
10-22-2010
Direct2D Enabled
false
DirectWrite Enabled
false (6.1.7600.16699, font cache n/a)
WebGL Renderer
(WebGL unavailable)
GPU Accelerated Windows
1/1 Direct3D 9
Comment 11•14 years ago
|
||
Intel GPUs are D2D block-listed when they are on computers with dual GPUs (see bug 628129).
If you want HW acceleration enabled, use your ATI GPU (see bug 601079 for system requirement).
I close this bug as "work for me".
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → WORKSFORME
Assignee | ||
Updated•13 years ago
|
Crash Signature: [@ _cairo_dwrite_show_glyphs_on_d2d_surface(void*, _cairo_operator, _cairo_pattern const*, cairo_glyph_t*, int, _cairo_scaled_font*, _cairo_clip*) ]
Updated•9 years ago
|
Keywords: regressionwindow-wanted
You need to log in
before you can comment on or make changes to this bug.
Description
•