Hi, Recently I found a problem with evince and a special pdf file ([1]). The backtrace (see below, [2]) indicates that 2 threads call at the same time functions of the fontconfig library when the crash occurs. So I have 2 questions: 1. Is fontconfig thread-safe? Is there something special where developers of multi-threaded applications must take care of? 2. Please can you have a look at the backtrace and give me a hint where I can start looking for the problem? Thank you very much in advance. Best regards, Christian [1] http://bugzilla.gnome.org/show_bug.cgi?id=328654 [2] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1498080336 (LWP 22646)] 0xa76be343 in FcFontSetMatch (config=0xa6213e30, sets=0xa6b50ef8, nsets=1, p=0xa6253b80, result=0xa6b50f48) at fcmatch.c:620 620 if (cand_elts[cand_elt].object == (gdb) thread apply all bt Thread 2 (Thread -1498080336 (LWP 22646)): #0 0xa76be343 in FcFontSetMatch (config=0xa6213e30, sets=0xa6b50ef8, nsets=1, p=0xa6253b80, result=0xa6b50f48) at fcmatch.c:620 #1 0xa76be650 in FcFontMatch (config=0x0, p=0x1, result=0x1) at fcmatch.c:718 #2 0xa73cb056 in GlobalParams::getDisplayFont () from /usr/lib/libpoppler.so.0 #3 0xa739027d in CairoFont::CairoFont () from /usr/lib/libpoppler.so.0 #4 0xa73908c0 in CairoFontEngine::getFont () from /usr/lib/libpoppler.so.0 #5 0xa73914ce in CairoOutputDev::updateFont () from /usr/lib/libpoppler.so.0 #6 0xa73ac7b5 in Gfx::opShowText () from /usr/lib/libpoppler.so.0 #7 0xa73a30c8 in Gfx::execOp () from /usr/lib/libpoppler.so.0 #8 0xa73a32e5 in Gfx::go () from /usr/lib/libpoppler.so.0 #9 0xa73a377f in Gfx::display () from /usr/lib/libpoppler.so.0 #10 0xa73ebce9 in Page::displaySlice () from /usr/lib/libpoppler.so.0 #11 0xa748a081 in poppler_page_render_to_pixbuf () from /usr/lib/libpoppler-glib.so.0 #12 0x08094eae in pdf_document_thumbnails_get_thumbnail ( document_thumbnails=0x1, page=0, rotation=0, size=0, border=1) at ev-poppler.cc:917 #13 0x0808f90c in ev_document_thumbnails_get_thumbnail (document=0x8164ad8, page=0, rotation=0, size=0, border=0) at ev-document-thumbnails.c:60 #14 0x080623b1 in ev_job_thumbnail_run (job=0x8295b88) at ev-jobs.c:347 #15 0x0806061f in handle_job (job=0x8295b88) at ev-job-queue.c:96 #16 0x080608e6 in ev_render_thread (data=0x0) at ev-job-queue.c:187 #17 0xa7233a5a in g_thread_create_proxy (data=0x80fb700) at gthread.c:564 #18 0xa7180167 in start_thread () from /lib/libpthread.so.0 #19 0xa6b514a0 in ?? () #20 0x00000000 in ?? () Thread 1 (Thread -1497610576 (LWP 22642)): #0 FcObjectPtrU (si=10) at fcname.c:313 #1 0xa76bd64c in FcCompareValueList (o=10, v1orig= {bank = 0, u = {stat = 137044584, dyn = 0x82b2268}}, v2orig= {bank = 950448371, u = {stat = 119, dyn = 0x77}}, bestValue=0x0, value=0xa4a10608, result=0xa) at fcmatch.c:348 #2 0xa76bea1e in FcFontSetSort (config=0xa6213e30, sets=0xafd542f8, nsets=1, p=0x82b08c0, trim=1, csp=0x0, result=0xafd543bc) at fcmatch.c:447 #3 0xa76bf020 in FcFontSort (config=0x82b2268, p=0xa, trim=10, csp=0xa, result=0xa) at fcmatch.c:981 #4 0xa76e10fb in pango_fc_font_map_load_fontset (fontmap=0x815e038, context=0x826bf98, desc=0x82b0728, language=0x8111cf0) at pangofc-fontmap.c:1089 #5 0xa76120cc in pango_font_map_load_fontset (fontmap=0x815e038, context=0x82b2268, desc=0x82b0728, language=0x82b2268) at pango-fontmap.c:106 #6 0xa76101e9 in itemize_state_process_run (state=0xafd54560) at pango-context.c:1050 #7 0xa76107fc in pango_itemize_with_base_dir (context=0x826bf98, base_dir=10, text=0x8269010 "Loading...", start_index=0, length=137048784, attrs=0xa, cached_iter=0xa) at pango-context.c:1194 #8 0xa7617846 in pango_layout_check_lines (layout=0x82b1148) at pango-layout.c:3276 #9 0xa76183d6 in pango_layout_get_extents_internal (layout=0x82b1148, ink_rect=0x0, logical_rect=0xafd548b0, line_extents=0x0) at pango-layout.c:2027 #10 0xa7618d81 in pango_layout_get_pixel_extents (layout=0x82b1148, ink_rect=0x0, logical_rect=0xafd548b0) at pango-layout.c:2215 #11 0x0806df80 in ev_view_expose_event (widget=0xa, event=0xafd54df0) #12 0xa7a4cfab in _gtk_marshal_BOOLEAN__BOXED (closure=0x80f0a58, return_value=0xafd54a80, n_param_values=2, param_values=0xafd54bd0, invocation_hint=0xafd54aa8, marshal_data=0x806d660) at gtkmarshalers.c:83 #13 0xa72dae1e in g_type_class_meta_marshal (closure=0x80f0a58, return_value=0xa, n_param_values=10, param_values=0xafd54bd0, invocation_hint=0xa, marshal_data=0xa) at gclosure.c:569 #14 0xa72daae9 in IA__g_closure_invoke (closure=0x80f0a58, return_value=0xa, n_param_values=10, param_values=0xa, invocation_hint=0xa) at gclosure.c:492 #15 0xa72efead in signal_emit_unlocked_R (node=0x80f0aa8, detail=0, instance=0x81541d0, emission_return=0xafd54b60, instance_and_params=0xafd54bd0) at gsignal.c:2523 #16 0xa72f1041 in IA__g_signal_emit_valist (instance=0x81541d0, signal_id=0, detail=0, var_args=0xafd54d60 "hMկ\210\030\017\b") at gsignal.c:2254 #17 0xa72f1597 in IA__g_signal_emit (instance=0xa, signal_id=10, detail=10) at gsignal.c:2288 #18 0xa7b4ea06 in gtk_widget_event_internal (widget=0x81541d0, event=0xafd54df0) at gtkwidget.c:3735 #19 0xa7a4b878 in IA__gtk_main_do_event (event=0xafd54df0) at gtkmain.c:1370 #20 0xa77b28ea in gdk_window_process_updates_internal (window=0x8235818) at gdkwindow.c:2215 #21 0xa77b29c7 in IA__gdk_window_process_all_updates () at gdkwindow.c:2268 #22 0xa79b2ec7 in gtk_container_idle_sizer (data=0x0) at gtkcontainer.c:1117 #23 0xa721a1b0 in g_idle_dispatch (source=0x8282f28, callback=0x82b2268, user_data=0xa) at gmain.c:3817 #24 0xa7216edd in IA__g_main_context_dispatch (context=0x80e5df0) at gmain.c:1934 #25 0xa721884f in g_main_context_iterate (context=0x80e5df0, block=1, dispatch=1, self=0x80b6de8) at gmain.c:2565 #26 0xa7218b6d in IA__g_main_loop_run (loop=0x8237618) at gmain.c:2769 #27 0xa7a4a861 in IA__gtk_main () at gtkmain.c:991 #28 0x0807fe6f in main (argc=137044584, argv=0x82b2268) at main.c:295
_______________________________________________ Fontconfig mailing list Fontconfig@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/fontconfig