[webkit-help] cairo error with latest wincairo build on Windows XP only

Thomas Brodt thomas.brodt.lists at porabo.ch
Fri Apr 12 07:01:13 PDT 2013


I finally succedded in building the 148215 revision of wincairo (the 
newest revision currently don't build).

While this version runs fine on windows 7, I get the error below on 
Windows XP.

I have to admit that I'm really clueless about that. Is this an error in 
the cairo libs under certain circumstances, or is this just the effect 
of something going wrong in the Webkit invocation?

I hope that people out there with more knowledge than mine can help me here.

Thanks in advance

Thomas

==================
I get this access violation information

--- 
e:\projects\wincairorequirements\src\cairo\pixman\pixman\pixman-implementation.c 

113F99F0  mov         ecx,dword ptr fs:[2Ch]
113F99F7  push        ebx
113F99F8  mov         ebx,dword ptr [esp+28h]
113F99FC  push        ebp
113F99FD  push        esi
113F99FE  mov         esi,eax
113F9A00  mov         eax,dword ptr [__tls_index (1148231Ch)]
====> 113F9A05  mov         edx,dword ptr [ecx+eax*4]

This is the call stack

cairo.dll!_pixman_implementation_lookup_composite(pixman_implementation_t * 
toplevel=0x00000000, pixman_op_t op=PIXMAN_OP_ADD, pixman_format_code_t 
src_format=PIXMAN_a8r8g8b8, unsigned int src_flags=0x02874a7f, 
pixman_format_code_t mask_format=0x00000000, unsigned int 
mask_flags=0x00002000, pixman_format_code_t dest_format=PIXMAN_a8r8g8b8, 
unsigned int dest_flags=0x02074a7f, pixman_implementation_t * * 
out_imp=0x00115cfc, void (pixman_implementation_t *, 
pixman_composite_info_t *)* * out_func=0x00115cf8)  Line 85 + 0x15 
bytes    C
      cairo.dll!pixman_image_composite32(pixman_op_t op=, pixman_image * 
src=, pixman_image * mask=, pixman_image * dest=, int src_x=, int 
src_y=, int mask_x=, int mask_y=, int dest_x=, int dest_y=, int width=, 
int height=)  Line 676 + 0x3c bytes    C
      cairo.dll!composite_glyphs_via_mask(void * _dst=0x101f56e0, 
_cairo_operator op=CAIRO_OPERATOR_OVER, _cairo_surface * 
_src=0x00000000, int src_x=0x00000000, int src_y=0x00000000, int 
dst_x=0x00000000, int dst_y=0x00000000, cairo_composite_glyphs_info_t * 
info=0x00000000)  Line 1094 + 0xd bytes    C
      cairo.dll!composite_glyphs(void * _dst=, _cairo_operator op=, 
_cairo_surface * _src=, int src_x=, int src_y=, int dst_x=, int dst_y=, 
cairo_composite_glyphs_info_t * info=)  Line 1137 + 0x20 bytes    C
      msvcr80.dll!78147344()
      [Frames below may be incorrect and/or missing, no symbols loaded 
for msvcr80.dll]
      cairo.dll!_cairo_scaled_glyph_lookup(_cairo_scaled_font * 
scaled_font=0x78134d83, unsigned long index=0x07a90000, 
_cairo_scaled_glyph_info info=0x00000000, _cairo_scaled_glyph * * 
scaled_glyph_ret=0x000000b0)  Line 2933 + 0x10 bytes    C
      ntdll.dll!7c9201db()
      cairo.dll!pixman_image_create_solid_fill(const pixman_color * 
color=0x00000000)  Line 80 + 0xd bytes    C
      cairo.dll!_cairo_surface_init(_cairo_surface * surface=0x00000000, 
const _cairo_surface_backend * backend=, _cairo_device * device=, 
_cairo_content content=)  Line 420    C
      cairo.dll!composite_glyphs(const cairo_traps_compositor * 
compositor=0x11481a78, _cairo_surface * dst=0x101f56e0, void * 
closure=0x001168d0, _cairo_operator op=CAIRO_OPERATOR_OVER, 
_cairo_surface * src=0x101d59f8, int src_x=0x00000000, int 
src_y=0x00000000, int dst_x=0x00000000, int dst_y=0x00000000, const 
_cairo_rectangle_int * extents=0x00116958, _cairo_clip * 
clip=0x101d59b8)  Line 2259 + 0x25 bytes    C
      cairo.dll!clip_and_composite(const cairo_traps_compositor * 
compositor=0x11481a78, _cairo_composite_rectangles * extents=0x00000000, 
_cairo_int_status (const cairo_traps_compositor *, _cairo_surface *, 
void *, _cairo_operator, _cairo_surface *, int, int, int, int, const 
_cairo_rectangle_int *, _cairo_clip *)* draw_func=0x113b1450, 
_cairo_int_status (const cairo_traps_compositor *, _cairo_surface *, 
void *, _cairo_operator, _cairo_surface *, int, int, int, int, const 
_cairo_rectangle_int *, _cairo_clip *)* mask_func=0x00000000, void * 
draw_closure=0x001168d0, unsigned int need_clip=0x00000001)  Line 1043 + 
0x2b bytes    C
      cairo.dll!_cairo_traps_compositor_glyphs(const cairo_compositor * 
_compositor=0x11481a78, _cairo_composite_rectangles * 
extents=0x00116920, _cairo_scaled_font * scaled_font=0x1017ec00, 
cairo_glyph_t * glyphs=0x001175e0, int num_glyphs=0x00000005, int 
overlap=0x00000001)  Line 2302 + 0x21 bytes    C
      cairo.dll!_cairo_compositor_glyphs(const cairo_compositor * 
compositor=0x11481a3c, _cairo_surface * surface=0x101f56e0, 
_cairo_operator op=CAIRO_OPERATOR_CLEAR, const _cairo_pattern * 
source=0x00000000, cairo_glyph_t * glyphs=0x001175e0, int 
num_glyphs=0x00000005, _cairo_scaled_font * scaled_font=0x1017ec00, 
const _cairo_clip * clip=0x1017efb0)  Line 253    C
      cairo.dll!_cairo_image_surface_glyphs(void * 
abstract_surface=0x101f56e0, _cairo_operator op=CAIRO_OPERATOR_OVER, 
const _cairo_pattern * source=0x00116cd8, cairo_glyph_t * 
glyphs=0x001175e0, int num_glyphs=0x00000005, _cairo_scaled_font * 
scaled_font=0x1017ec00, const _cairo_clip * clip=0x1017efb0)  Line 999 + 
0x2d bytes    C
      cairo.dll!_cairo_gstate_show_text_glyphs(_cairo_gstate * 
gstate=0x00000000, const cairo_glyph_t * glyphs=0x0011a148, int 
num_glyphs=0x00000005, _cairo_glyph_text_info * info=0x00000000) Line 
2013 + 0x1b4 bytes    C
      cairo.dll!_cairo_default_context_glyphs(void * 
abstract_cr=0x101d5140, const cairo_glyph_t * glyphs=0x0011a148, int 
num_glyphs=0x00000005, _cairo_glyph_text_info * info=0x00000000) Line 
1290 + 0x1b bytes    C
      cairo.dll!cairo_show_glyphs(_cairo * cr=0x101d5140, const 
cairo_glyph_t * glyphs=0x0011a148, int num_glyphs=0x00000005)  Line 3315 
+ 0x10 bytes    C
      WebKit.dll!WebCore::drawGlyphsToContext(_cairo * 
context=0x00000000, const WebCore::SimpleFontData * font=0x00000000, 
cairo_glyph_t * glyphs=0x0011a148, int numGlyphs=0x00000000)  Line 56    C++
      WebKit.dll!WebCore::Font::drawGlyphs(WebCore::GraphicsContext * 
context=0x0012f1dc, const WebCore::SimpleFontData * font=0x7fe40500, 
const WebCore::GlyphBuffer & glyphBuffer={...}, int from=0x7fe48b60, int 
numGlyphs=0x00000028, const WebCore::FloatPoint & point={...})  Line 119 
+ 0xc bytes    C++
  WebKit.dll!WebCore::Font::drawGlyphBuffer(WebCore::GraphicsContext * 
context=0x0012f1dc, const WebCore::TextRun & run={...}, const 
WebCore::GlyphBuffer & glyphBuffer={...}, const WebCore::FloatPoint & 
point={...})  Line 513 + 0x16 bytes    C++
  WebKit.dll!WebCore::Font::drawSimpleText(WebCore::GraphicsContext * 
context=0x0012f1dc, const WebCore::TextRun & run={...}, const 
WebCore::FloatPoint & point={...}, int from=0x00000000, int 
to=0x00000005)  Line 458    C++
      WebKit.dll!WebCore::Font::drawText(WebCore::GraphicsContext * 
context=0x0012f1dc, const WebCore::TextRun & run={...}, const 
WebCore::FloatPoint & point={...}, int from=0x00000000, int 
to=0x00000005, WebCore::Font::CustomFontNotReadyAction 
customFontNotReadyAction=DoNotPaintIfFontNotReady)  Line 175 + 0x12 
bytes    C++
      WebKit.dll!WebCore::GraphicsContext::drawText(const WebCore::Font 
& font={...}, const WebCore::TextRun & run={...}, const 
WebCore::FloatPoint & point={...}, int from=0x00000000, int 
to=0x00000005)  Line 418    C++
  WebKit.dll!WebCore::paintTextWithShadows(WebCore::GraphicsContext * 
context=0x00000000, const WebCore::Font & font={...}, const 
WebCore::TextRun & textRun={...}, const WTF::AtomicString & 
emphasisMark={...}, int emphasisMarkOffset=0x00000000, int 
startOffset=0x00000000, int endOffset=0x00000005, int 
truncationPoint=0x00000005, const WebCore::FloatPoint & 
textOrigin={...}, const WebCore::FloatRect & boxRect={...}, const 
WebCore::ShadowData * shadow=0x00000000, bool stroked=false, bool 
horizontal=true)  Line 429    C++
      WebKit.dll!WebCore::InlineTextBox::paint(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...}, 
WebCore::LayoutUnit __formal={...}, WebCore::LayoutUnit __formal={...})  
Line 733    C++
      WebKit.dll!WebCore::InlineFlowBox::paint(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...}, 
WebCore::LayoutUnit lineTop={...}, WebCore::LayoutUnit 
lineBottom={...})  Line 1142 + 0x19 bytes    C++
      WebKit.dll!WebCore::RootInlineBox::paint(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...}, 
WebCore::LayoutUnit lineTop={...}, WebCore::LayoutUnit 
lineBottom={...})  Line 214    C++
  WebKit.dll!WebCore::RenderLineBoxList::paint(WebCore::RenderBoxModelObject * renderer=0x7fe91624, WebCore::PaintInfo & paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 262 + 0x16 bytes    C++
  WebKit.dll!WebCore::RenderBlock::paintContents(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 
3065 + 0x18 bytes    C++
      WebKit.dll!WebCore::RenderBlock::paintObject(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 
3189    C++
      WebKit.dll!WebCore::RenderBlock::paint(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 
2900    C++
  WebKit.dll!WebCore::RenderTableSection::paintCell(WebCore::RenderTableCell * cell=0x7fe91624, WebCore::PaintInfo & paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 976 + 0x11 bytes    C++
  WebKit.dll!WebCore::RenderTableSection::paintObject(WebCore::PaintInfo 
& paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 
1125 + 0x16 bytes    C++
  WebKit.dll!WebCore::RenderTableSection::paint(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 
925    C++
      WebKit.dll!WebCore::RenderTable::paintObject(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 
660 + 0x14 bytes    C++
      WebKit.dll!WebCore::RenderTable::paint(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 
630    C++
      WebKit.dll!WebCore::RenderBlock::paintChild(WebCore::RenderBox * 
child=0x7fe913cc, WebCore::PaintInfo & paintInfo={...}, const 
WebCore::LayoutPoint & paintOffset={...}, WebCore::PaintInfo & 
paintInfoForChild={...}, bool usePrintRect=false)  Line 3119  C++
  WebKit.dll!WebCore::RenderBlock::paintChildren(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...}, 
WebCore::PaintInfo & paintInfoForChild={...}, bool usePrintRect=false)  
Line 3085 + 0x15 bytes    C++
  WebKit.dll!WebCore::RenderBlock::paintContents(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 
3078 + 0x1b bytes    C++
      WebKit.dll!WebCore::RenderBlock::paintObject(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 
3189    C++
      WebKit.dll!WebCore::RenderBlock::paint(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 
2900    C++
      WebKit.dll!WebCore::RenderBlock::paintChild(WebCore::RenderBox * 
child=0x7fe91360, WebCore::PaintInfo & paintInfo={...}, const 
WebCore::LayoutPoint & paintOffset={...}, WebCore::PaintInfo & 
paintInfoForChild={...}, bool usePrintRect=false)  Line 3119  C++
  WebKit.dll!WebCore::RenderBlock::paintChildren(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...}, 
WebCore::PaintInfo & paintInfoForChild={...}, bool usePrintRect=false)  
Line 3085 + 0x15 bytes    C++
  WebKit.dll!WebCore::RenderBlock::paintContents(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 
3078 + 0x1b bytes    C++
      WebKit.dll!WebCore::RenderBlock::paintObject(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 
3189    C++
      WebKit.dll!WebCore::RenderBlock::paint(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 
2900    C++
      WebKit.dll!WebCore::RenderBlock::paintChild(WebCore::RenderBox * 
child=0x7fe912f4, WebCore::PaintInfo & paintInfo={...}, const 
WebCore::LayoutPoint & paintOffset={...}, WebCore::PaintInfo & 
paintInfoForChild={...}, bool usePrintRect=false)  Line 3119  C++
  WebKit.dll!WebCore::RenderBlock::paintChildren(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...}, 
WebCore::PaintInfo & paintInfoForChild={...}, bool usePrintRect=false)  
Line 3085 + 0x15 bytes    C++
  WebKit.dll!WebCore::RenderBlock::paintContents(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 
3078 + 0x1b bytes    C++
      WebKit.dll!WebCore::RenderBlock::paintObject(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 
3189    C++
      WebKit.dll!WebCore::RenderBlock::paint(WebCore::PaintInfo & 
paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 
2900    C++
  WebKit.dll!WebCore::RenderLayer::paintForegroundForFragmentsWithPhase(WebCore::PaintPhase phase=PaintPhaseForeground, const WTF::Vector<WebCore::LayerFragment,1,WTF::CrashOnOverflow> & layerFragments={...}, WebCore::GraphicsContext * context=0x0012f1dc, const WebCore::RenderLayer::LayerPaintingInfo & localPaintingInfo={...}, unsigned int paintBehavior=0x00000000, WebCore::RenderObject * paintingRootForRenderer=0x00000000)  Line 4167    C++
  WebKit.dll!WebCore::RenderLayer::paintForegroundForFragments(const 
WTF::Vector<WebCore::LayerFragment,1,WTF::CrashOnOverflow> & 
layerFragments={...}, WebCore::GraphicsContext * context=0x0012f1dc, 
WebCore::GraphicsContext * transparencyLayerContext=0x0012f1dc, const 
WebCore::LayoutRect & transparencyPaintDirtyRect={...}, bool 
haveTransparency=false, const WebCore::RenderLayer::LayerPaintingInfo & 
localPaintingInfo={...}, unsigned int paintBehavior=0x00000000, 
WebCore::RenderObject * paintingRootForRenderer=0x00000000, bool 
selectionOnly=false, bool forceBlackText=false)  Line 4142    C++
  WebKit.dll!WebCore::RenderLayer::paintLayerContents(WebCore::GraphicsContext * context=0x0012f1dc, const WebCore::RenderLayer::LayerPaintingInfo & paintingInfo={...}, unsigned int paintFlags=0x000000e0)  Line 3873    C++
  WebKit.dll!WebCore::RenderLayer::paintLayerContentsAndReflection(WebCore::GraphicsContext * context=0x0012f1dc, const WebCore::RenderLayer::LayerPaintingInfo & paintingInfo={...}, unsigned int paintFlags=0x000000e0)  Line 3689 + 0x13 bytes    C++
  WebKit.dll!WebCore::RenderLayer::paintLayer(WebCore::GraphicsContext * 
context=0x0012f1dc, const WebCore::RenderLayer::LayerPaintingInfo & 
paintingInfo={...}, unsigned int paintFlags=0x000000e0)  Line 3671 + 
0x10 bytes    C++
  WebKit.dll!WebCore::RenderLayer::paintList(WTF::Vector<WebCore::RenderLayer *,0,WTF::CrashOnOverflow> * list=0x7fec91b0, WebCore::GraphicsContext * context=0x0012f1dc, const WebCore::RenderLayer::LayerPaintingInfo & paintingInfo={...}, unsigned int paintFlags=0x000000e0)  Line 3959    C++
  WebKit.dll!WebCore::RenderLayer::paintLayerContents(WebCore::GraphicsContext * context=0x0012f1dc, const WebCore::RenderLayer::LayerPaintingInfo & paintingInfo={...}, unsigned int paintFlags=0x000000e0)  Line 3884    C++
  WebKit.dll!WebCore::RenderLayer::paintLayerContentsAndReflection(WebCore::GraphicsContext * context=0x0012f1dc, const WebCore::RenderLayer::LayerPaintingInfo & paintingInfo={...}, unsigned int paintFlags=0x00000000)  Line 3689 + 0x13 bytes    C++
  WebKit.dll!WebCore::RenderLayer::paintLayer(WebCore::GraphicsContext * 
context=0x0012f1dc, const WebCore::RenderLayer::LayerPaintingInfo & 
paintingInfo={...}, unsigned int paintFlags=0x00000000)  Line 3671 + 
0x10 bytes    C++
      WebKit.dll!WebCore::RenderLayer::paint(WebCore::GraphicsContext * 
context=0x0012f1dc, const WebCore::LayoutRect & damageRect={...}, 
unsigned int paintBehavior=0x00000000, WebCore::RenderObject * 
paintingRoot=0x00000000, WebCore::RenderRegion * region=0x00000000, 
unsigned int paintFlags=0x00000000)  Line 3489    C++
  WebKit.dll!WebCore::FrameView::paintContents(WebCore::GraphicsContext 
* p=0x0012f1dc, const WebCore::IntRect & rect={...})  Line 3533    C++
      WebKit.dll!WebCore::ScrollView::paint(WebCore::GraphicsContext * 
context=0x00000000, const WebCore::IntRect & rect={...})  Line 1087    C++
      WebKit.dll!WebView::paintIntoBackingStore(WebCore::FrameView * 
frameView=0x7fe65c00, HDC__ * bitmapDC=0x00000000, const 
WebCore::IntRect & dirtyRect={...}, WebView::WindowsToPaint 
windowsToPaint=PaintWebViewOnly)  Line 1170    C++
      WebKit.dll!WebView::updateBackingStore(WebCore::FrameView * 
frameView=0x7fe65c00, HDC__ * dc=0x35010933, bool 
backingStoreCompletelyDirty=true, WebView::WindowsToPaint 
windowsToPaint=PaintWebViewOnly)  Line 1000 + 0x30 bytes    C++
      WebKit.dll!WebView::paint(HDC__ * dc=0x00000000, long 
options=0x00000000)  Line 1104    C++
      WebKit.dll!WebView::WebViewWndProc(HWND__ * hWnd=0x000502fe, 
unsigned int message=0x0000000f, unsigned int wParam=0x00000000, long 
lParam=0x00000000)  Line 2173    C++
<snip>


More information about the webkit-help mailing list