Bug#365587: Bug#410167: gedit: Gedit crashes when viewing source of web page with Epiphany

Danai SAE-HAN (=E9=9F=93=E9=81=94=E8=80=90) danai.sae-han at edpnet.be
Sun Feb 18 18:50:51 CET 2007


Here's a more useful backtrack of Gedit crashing (thanks to Josselin
for his tips):

[Thread debugging using libthread_db enabled]
[New Thread 47616068345712 (LWP 27460)]
[New Thread 1074006368 (LWP 27464)]
[New Thread 1082399072 (LWP 27465)]
[Thread 1082399072 (LWP 27465) exited]
[New Thread 1082399072 (LWP 27467)]
[Thread 1082399072 (LWP 27467) exited]
sys:1: PangoWarning: shape engine failure, expect ugly output. the offending font is 'SimSun-18030 12'
sys:1: PangoWarning: pango_font_get_glyph_extents called with bad font, expect ugly output

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47616068345712 (LWP 27460)]
pango_fc_font_real_get_glyph (font=0xa8e180, wc=3749)
    at /usr/src/pango/pango1.0-1.14.8/./pango/pangofc-font.c:565
565           if (index > (FT_UInt)face->num_glyphs)
(gdb) bt
#0  pango_fc_font_real_get_glyph (font=0xa8e180, wc=3749)
    at /usr/src/pango/pango1.0-1.14.8/./pango/pangofc-font.c:565
#1  0x00002aaaac114261 in thai_make_glyph_uni (font_info=<value optimized out>, uc=3749)
    at /usr/src/pango/pango1.0-1.14.8/./modules/thai/thai-fc.c:230
#2  0x00002aaaac1137f0 in get_adjusted_glyphs_list (font_info=0x124d3b0, cluster=0x7fff355a6eb0,
    num_chrs=1, glyph_lists=0x7fff355a6ab0, shaping_table=0x2aaaac115060)
    at /usr/src/pango/pango1.0-1.14.8/./modules/thai/thai-shaper.c:179
#3  0x00002aaaac113f55 in thai_engine_shape (engine=<value optimized out>, font=0xa8e180,
    text=<value optimized out>, length=3762, analysis=<value optimized out>, glyphs=0x125e6a0)
    at /usr/src/pango/pango1.0-1.14.8/./modules/thai/thai-shaper.c:465
#4  0x00002b4e76a6401e in pango_shape (text=0x125df8b "ລາວ</option>", length=11,
    analysis=0xc15890, glyphs=0x125e6a0) at /usr/src/pango/pango1.0-1.14.8/./pango/shape.c:51
#5  0x00002b4e76a58d2c in shape_run (line=0xe17c70, state=0x7fff355a74d0, item=0xc15880)
    at /usr/src/pango/pango1.0-1.14.8/./pango/pango-layout.c:2771
#6  0x00002b4e76a5b147 in process_item (layout=0xa6c980, line=0xe17c70, state=0x7fff355a74d0,
    force_fit=0, no_break_at_end=0) at /usr/src/pango/pango1.0-1.14.8/./pango/pango-layout.c:2863
#7  0x00002b4e76a5b92b in pango_layout_check_lines (layout=0xa6c980)
    at /usr/src/pango/pango1.0-1.14.8/./pango/pango-layout.c:3065
#8  0x00002b4e76a5c17d in pango_layout_get_extents_internal (layout=0x0, ink_rect=0x0,
    logical_rect=0x7fff355a77d0, line_extents=0x0, real_width=0x0)
    at /usr/src/pango/pango1.0-1.14.8/./pango/pango-layout.c:2070
#9  0x00002b4e763f47f8 in gtk_text_layout_get_line_display () from /usr/lib/libgtk-x11-2.0.so.0
#10 0x00002b4e763f73e2 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#11 0x00002b4e763dfdbc in ?? () from /usr/lib/libgtk-x11-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#12 0x00002b4e763dfed2 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#13 0x00002b4e763dfed2 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#14 0x00002b4e763dfed2 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#15 0x00002b4e763e00df in _gtk_text_btree_validate () from /usr/lib/libgtk-x11-2.0.so.0
#16 0x00002b4e763f62f3 in gtk_text_layout_validate () from /usr/lib/libgtk-x11-2.0.so.0
#17 0x00002b4e764013ad in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#18 0x00002b4e775fdc73 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#19 0x00002b4e77600abd in ?? () from /usr/lib/libglib-2.0.so.0
#20 0x00002b4e77600da6 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#21 0x00002b4e763746b2 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#22 0x0000000000426849 in main ()


The problem only appears when a TTF font is set to 0400/root:root and
fontconfig has a set of cache files in /var/cache/fontconfig/ (made by
user root).  Even if ~/.fontconfig/ contains a cache of the TTF in
question, fontconfig will still prefer the system-wide cache in
/var/cache/fontconfig/, causing a segmentation fault.

When /var/cache/fontconfig/ is cleaned, fontconfig recreates correct
cache files in ~/.fontconfig/.  The crash will reappear when I start
another Gnome app under root (such as Firestarter), since
/var/cache/fontconfig/ will contain new cache files.

When the TTF is set to a+r, the error also whithers away.


Best regards



Danai SAE-HAN
韓達耐

-- 
題目:《牧童詩》
作者:黃庭堅(1045-1105)

騎牛遠遠過前村,短笛橫吹隔隴聞。
多少長安名利客,機關用盡不如君。





More information about the Pkg-gnome-maintainers mailing list