[cairo] assert_not_reached in _cairo_hash_table_lookup_exact_key

Fried, Vojtech vojtech.fried at streamserve.com
Mon Dec 13 07:18:12 PST 2010


Hi,

 

When I run the test suite of my project in multiple threads with cairo
pdf (or ps) surface (image surface is ok, not sure about others) I often
get assertion failure with stack like this:

_cairo_hash_table_lookup_exact_key(_cairo_hash_table *
hash_table=0x1065b6d0, _cairo_hash_entry * key=0x10ab80e8)

_cairo_hash_table_remove(_cairo_hash_table * hash_table=0x1065b6d0,
_cairo_hash_entry * key=0x10ab80e8)

_cairo_scaled_glyph_page_destroy(void * closure=0x10ab7590)

_cairo_cache_remove(_cairo_cache * cache=0x0c386dbc, _cairo_cache_entry
* entry=0x10ab7590)

_cairo_cache_remove_random(_cairo_cache * cache=0x0c386dbc)

_cairo_cache_shrink_to_accommodate(_cairo_cache * cache=0x0c386dbc,
unsigned long additional=0)

_cairo_cache_thaw(_cairo_cache * cache=0x0c386dbc)

_cairo_scaled_font_thaw_cache(_cairo_scaled_font *
scaled_font=0x0dc3bb90)

_cairo_scaled_font_glyph_device_extents(_cairo_scaled_font *
scaled_font=0x0dc3bb90, const cairo_glyph_t * glyphs=0x0da290f8, int
num_glyphs=5, _cairo_rectangle_int * extents=0x09a3e06c, int *
overlap_out=0x09a3e0b0)

_cairo_composite_rectangles_init_for_glyphs(_cairo_composite_rectangles
* extents=0x09a3e05c, int surface_width=595, int surface_height=842,
_cairo_operator op=CAIRO_OPERATOR_OVER, const _cairo_pattern *
source=0x0dc6fa60, _cairo_scaled_font * scaled_font=0x0dc3bb90,
cairo_glyph_t * glyphs=0x0da290f8, int num_glyphs=5, _cairo_clip *
clip=0x00000000, int * overlap=0x09a3e0b0)

_cairo_pdf_surface_show_text_glyphs(void * abstract_surface=0x108cbb40,
_cairo_operator op=CAIRO_OPERATOR_OVER, const _cairo_pattern *
source=0x0dc6fa60, const char * utf8=0x0db44dc0, int utf8_len=6,
cairo_glyph_t * glyphs=0x0da290f8, int num_glyphs=5, const
cairo_text_cluster_t * clusters=0x0cb1ce08, int num_clusters=5,
_cairo_text_cluster_flags cluster_flags=0, _cairo_scaled_font *
scaled_font=0x0dc3bb90, _cairo_clip * clip=0x00000000)

_cairo_analysis_surface_show_text_glyphs(void *
abstract_surface=0x105aac10, _cairo_operator op=CAIRO_OPERATOR_OVER,
const _cairo_pattern * source=0x0dc6fa60, const char * utf8=0x0db44dc0,
int utf8_len=6, cairo_glyph_t * glyphs=0x0da290f8, int num_glyphs=5,
const cairo_text_cluster_t * clusters=0x0cb1ce08, int num_clusters=5,
_cairo_text_cluster_flags cluster_flags=0, _cairo_scaled_font *
scaled_font=0x0dc3bb90, _cairo_clip * clip=0x00000000)

_cairo_surface_show_text_glyphs(_cairo_surface * surface=0x105aac10,
_cairo_operator op=CAIRO_OPERATOR_OVER, const _cairo_pattern *
source=0x0dc6fa60, const char * utf8=0x0db44dc0, int utf8_len=6,
cairo_glyph_t * glyphs=0x0da290f8, int num_glyphs=5, const
cairo_text_cluster_t * clusters=0x0cb1ce08, int num_clusters=5,
_cairo_text_cluster_flags cluster_flags=0, _cairo_scaled_font *
scaled_font=0x0dc3bb90, _cairo_clip * clip=0x00000000)

_cairo_surface_wrapper_show_text_glyphs(_cairo_surface_wrapper *
wrapper=0x09a3e400, _cairo_operator op=CAIRO_OPERATOR_OVER, const
_cairo_pattern * source=0x0dc6fa60, const char * utf8=0x0db44dc0, int
utf8_len=6, cairo_glyph_t * glyphs=0x0da290f8, int num_glyphs=5, const
cairo_text_cluster_t * clusters=0x0cb1ce08, int num_clusters=5,
_cairo_text_cluster_flags cluster_flags=0, _cairo_scaled_font *
scaled_font=0x0dc3bb90, _cairo_clip * clip=0x00000000)

_cairo_recording_surface_replay_internal(_cairo_surface *
surface=0x0da17648, const _cairo_rectangle_int *
surface_extents=0x00000000, _cairo_surface * target=0x105aac10,
cairo_recording_replay_type_t type=CAIRO_RECORDING_CREATE_REGIONS,
cairo_recording_region_type_t region=CAIRO_RECORDING_REGION_ALL)

_cairo_recording_surface_replay_and_create_regions(_cairo_surface *
surface=0x0da17648, _cairo_surface * target=0x105aac10)

_paint_page(_cairo_paginated_surface * surface=0x0deeca98)

_cairo_paginated_surface_show_page(void * abstract_surface=0x0deeca98)

cairo_surface_show_page(_cairo_surface * surface=0x0deeca98)

_cairo_gstate_show_page(_cairo_gstate * gstate=0x107b0078)

cairo_show_page(_cairo * cr=0x107b0058)

 

Tested with cairo 1.10 on both windows and linux. Any idea what might be
wrong or what to try or where to look?

 

/Vojtech

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cairographics.org/archives/cairo/attachments/20101213/64803ef9/attachment.html>


More information about the cairo mailing list