天气转凉开始升级系统,结果桌面都崩了,一看祸首是 pango
kernel: gnome-shell2218475: segfault at 38 ip 00007fce3bc2bb6e sp 00007fffdeef0a80 error 4 in libpangoft2-1.0.so.0.5700.0bb6e,7fce3bc28000+e000 likely on CPU 6 (core 6, socket 1)
刚升级到 1.57.0,马上降级到 1.56.4,仍然崩溃,加 nostrip 重新编译,看下 bt
(gdb) bt
- 0 0x00007f25377e3b6e in ensure_faces () at /usr/lib64/libpangoft2-1.0.so.0
- 1 0x00007f25377e633e in pango_fc_font_map_get_face () at /usr/lib64/libpangoft2-1.0.so.0
- 2 0x00007f25377e7eb1 in pango_fc_fontset_get_font_at () at /usr/lib64/libpangoft2-1.0.so.0
- 3 0x00007f25377e82c1 in pango_fc_fontset_foreach () at /usr/lib64/libpangoft2-1.0.so.0
- 4 0x00007f2538820d1c in get_font.isra () at /usr/lib64/libpango-1.0.so.0
- 5 0x00007f2538821617 in pango_itemize_with_font () at /usr/lib64/libpango-1.0.so.0
- 6 0x00007f253883152d in pango_layout_check_lines.part () at /usr/lib64/libpango-1.0.so.0
- 7 0x00007f2538834b5e in pango_layout_get_extents_internal () at /usr/lib64/libpango-1.0.so.0
- 8 0x00007f2538834d94 in pango_layout_get_size () at /usr/lib64/libpango-1.0.so.0
坏在 ensure_faces ,似乎是字体相关的,但是最近没整新字体啊,重建字体缓存无效,最后搜到官方 issue#862 说是 fontconfig 配置文件可能会有问题,寻思也没动过配置啊,暂且一试吧,把配置都移走看看,居然真的好了!仔细看配置目录发现里面还有一个 2013年的 infinality 配置,应该早就没用了,谁知道今天立功了。
开始还想为啥降级无效,原来有段时间没升级,之前用的版本刚好是 1.56.3,现在 portage 里已经没了,结果降级到问题开始的版本上去了,等等看官方怎么处理吧。
Last comments