[cairo-bugs] [Bug 45866] New: Crash in _cairo_surface_fill() because backend->fill wasn't populated

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Feb 9 22:47:10 PST 2012


https://bugs.freedesktop.org/show_bug.cgi?id=45866

             Bug #: 45866
           Summary: Crash in _cairo_surface_fill() because backend->fill
                    wasn't populated
    Classification: Unclassified
           Product: cairo
           Version: 1.10.3
          Platform: All
        OS/Version: Mac OS X (All)
            Status: NEW
          Severity: critical
          Priority: medium
         Component: quartz backend
        AssignedTo: vladimir at pobox.com
        ReportedBy: jralls at ceridwen.us
         QAContact: cairo-bugs at cairographics.org


Created attachment 56846
  --> https://bugs.freedesktop.org/attachment.cgi?id=56846
Add a NULL for backend->source to cairo_quartz_surface_backend

The tip of the backtrace:

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
#1  0x008bf039 in _cairo_surface_fill (surface=0x1150160, op=CAIRO_OPERATOR_OVER, source=0xbfff9b80, path=0x30072c4, fill_rule=CAIRO_FILL_RULE_EVEN_ODD,
tolerance=0.10000000000000001, antialias=CAIRO_ANTIALIAS_DEFAULT, clip=0x1151710) at cairo-surface.c:2003
#2  0x00873d44 in _cairo_gstate_fill (gstate=0x11515c0, path=0x30072c4) at cairo-gstate.c:1268

The dump of the backend structure showing the misaligned function pointers:
(gdb) p *surface->backend
$4 = {
  type = CAIRO_SURFACE_TYPE_QUARTZ, 
  finish = 0x8f43aa <_cairo_quartz_surface_finish>, 
  create_context = 0x86e020 <_cairo_default_context_create>, 
  create_similar = 0x8f45a5 <_cairo_quartz_surface_create_similar>, 
  create_similar_image = 0, 
  map_to_image = 0x8f4529 <_cairo_quartz_surface_map_to_image>, 
  unmap_image = 0x8f458d <_cairo_quartz_surface_unmap_image>, 
  source = 0x8f4470 <_cairo_quartz_surface_acquire_source_image>, 
  acquire_source_image = 0x8f4516 <_cairo_quartz_surface_release_source_image>, 
  release_source_image = 0x8f44bd <_cairo_quartz_surface_snapshot>, 
  snapshot = 0, 
  copy_page = 0, 
  show_page = 0x8f4697 <_cairo_quartz_surface_get_extents>, 
  get_extents = 0, 
  get_font_options = 0, 
  flush = 0, 
  mark_dirty_rectangle = 0x8f5b5a <_cairo_quartz_surface_paint>, 
  paint = 0x8f5b97 <_cairo_quartz_surface_mask>, 
  mask = 0x8f5c44 <_cairo_quartz_surface_stroke>, 
  stroke = 0x8f5bdb <_cairo_quartz_surface_fill>, 
  fill = 0, 
  fill_stroke = 0x8f5cbb <_cairo_quartz_surface_glyphs>, 
  show_glyphs = 0, 
  has_show_text_glyphs = 0, 
  show_text_glyphs = 0, 
  get_supported_mime_types = 0
}

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.


More information about the cairo-bugs mailing list