字体配置错误导致 Skype 中出现 SEGFAULT

字体配置错误导致 Skype 中出现 SEGFAULT

有一天,在 openSUSE Tumbleweed 中运行旧版 4.3 Skype 时意外出现错误:

> skype 
Fontconfig error: "/etc/fonts/conf.d/10-hinting-slight.conf", 
line 13: mismatched tag
Segmentation fault (core dumped)

以前一切都工作得很好。可能是一些操作系统更新或其他什么。

gdb skype输出:

backtrace:

Program received signal SIGSEGV, Segmentation fault.
0xf358c2c1 in ?? () from /usr/lib/libexpat.so.1
(gdb) backtrace
#0  0xf358c2c1 in ?? () from /usr/lib/libexpat.so.1
#1  0xf3572617 in ?? () from /usr/lib/libexpat.so.1
#2  0xf3573850 in ?? () from /usr/lib/libexpat.so.1
#3  0xf3574ce3 in ?? () from /usr/lib/libexpat.so.1
#4  0xf3576398 in ?? () from /usr/lib/libexpat.so.1
#5  0xf357abdb in XML_ParseBuffer () from /usr/lib/libexpat.so.1
#6  0xf3d42b16 in ?? () from /usr/lib/libfontconfig.so.1
#7  0xf3d43039 in FcConfigParseAndLoad () from /usr/lib/libfontconfig.so.1
#8  0xf3d430ce in FcConfigParseAndLoad () from /usr/lib/libfontconfig.so.1
#9  0xf3d43260 in ?? () from /usr/lib/libfontconfig.so.1
#10 0xf35723f2 in ?? () from /usr/lib/libexpat.so.1
#11 0xf3573850 in ?? () from /usr/lib/libexpat.so.1
#12 0xf3574ce3 in ?? () from /usr/lib/libexpat.so.1
#13 0xf3576398 in ?? () from /usr/lib/libexpat.so.1
#14 0xf357abdb in XML_ParseBuffer () from /usr/lib/libexpat.so.1
#15 0xf3d42b16 in ?? () from /usr/lib/libfontconfig.so.1
#16 0xf3d43039 in FcConfigParseAndLoad () from /usr/lib/libfontconfig.so.1
#17 0xf3d3544c in ?? () from /usr/lib/libfontconfig.so.1
#18 0xf3d356cd in ?? () from /usr/lib/libfontconfig.so.1
#19 0xf3d3570a in FcInitLoadConfigAndFonts () from /usr/lib/libfontconfig.so.1
#20 0xf3d284c6 in ?? () from /usr/lib/libfontconfig.so.1
#21 0xf3d284f8 in ?? () from /usr/lib/libfontconfig.so.1
#22 0xf51dbb9b in ?? () from /usr/lib/libQtGui.so.4
#23 0xf51514da in QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) () from /usr/lib/libQtGui.so.4
#24 0xf51517c0 in QApplication::QApplication(int&, char**, int) () from /usr/lib/libQtGui.so.4
#25 0x56a71a8a in ?? ()
#26 0x56a71864 in ?? ()
#27 0x5681246f in ?? ()
#28 0xf47077b3 in __libc_start_main () from /lib/libc.so.6
#29 0x5681fe8d in ?? ()

删除/etc/fonts/conf.d/10-hinting-slight.conf会导致另一个(下一个).conf文件等中出现错误和崩溃。 libexpat1 - 是一个 XML 解析器工具包。有办法修复吗?

PS 现在删除这些.conf文件时出错,得到另一个 SEGFAULT:

(gdb) backtrace 
#0  0xf4775220 in tcache_get () from /lib/libc.so.6
#1  0xf3d4d922 in ?? () from /usr/lib/libfontconfig.so.1
#2  0xf3d4da3f in FcStrSetAdd () from /usr/lib/libfontconfig.so.1
#3  0xf3d4fcb0 in FcConfigParseAndLoad () from /usr/lib/libfontconfig.so.1
#4  0xf3d500ce in FcConfigParseAndLoad () from /usr/lib/libfontconfig.so.1
#5  0xf3d50260 in ?? () from /usr/lib/libfontconfig.so.1
#6  0xf35892bc in ?? () from /usr/lib/libexpat.so.1
#7  0xf3589ec0 in ?? () from /usr/lib/libexpat.so.1
#8  0xf3587f63 in ?? () from /usr/lib/libexpat.so.1
#9  0xf3588abc in ?? () from /usr/lib/libexpat.so.1
#10 0xf358c2eb in XML_ParseBuffer () from /usr/lib/libexpat.so.1
#11 0xf3d4fb16 in ?? () from /usr/lib/libfontconfig.so.1
#12 0xf3d50039 in FcConfigParseAndLoad () from /usr/lib/libfontconfig.so.1
#13 0xf3d4244c in ?? () from /usr/lib/libfontconfig.so.1
#14 0xf3d426cd in ?? () from /usr/lib/libfontconfig.so.1
#15 0xf3d4270a in FcInitLoadConfigAndFonts () from /usr/lib/libfontconfig.so.1
#16 0xf3d354c6 in ?? () from /usr/lib/libfontconfig.so.1
#17 0xf3d354f8 in ?? () from /usr/lib/libfontconfig.so.1
#18 0xf51e8b9b in ?? () from /usr/lib/libQtGui.so.4
#19 0xf515e4da in QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) () from /usr/lib/libQtGui.so.4
#20 0xf515e7c0 in QApplication::QApplication(int&, char**, int) () from /usr/lib/libQtGui.so.4
#21 0x56ab2a8a in ?? ()
#22 0x56ab2864 in ?? ()
#23 0x5685346f in ?? ()
#24 0xf47147b3 in __libc_start_main () from /lib/libc.so.6
#25 0x56860e8d in ?? ()

相关内容