我发现在 Ubuntu 18.04 LTS 上,当我复制粘贴 Unicode 符号“⛔”(无条目)或打开带有该字符的文件时,emacs 24.5.1 会崩溃。
我还没有遇到过导致 emacs 崩溃的其他 Unicode 符号(但我没有尝试过大范围的符号)。此外,vi 和 gedit 都不会因为该字符而崩溃。Firefox 也能正确处理该字符。
我收到的错误信息如下:
X protocol error: BadLength (poly request too large or internal Xlib length error) on protocol request 139
When compiled with GTK, Emacs cannot recover from X disconnects.
This is a GTK bug: https://bugzilla.gnome.org/show_bug.cgi?id=85715
For details, see etc/PROBLEMS.
(emacs:21722): GLib-WARNING **: 23:00:15.207: g_main_context_prepare() called recursively from within a source's check() or prepare() member.
(emacs:21762): GLib-WARNING **: 23:04:25.943: g_main_context_check() called recursively from within a source's check() or prepare() member.
Fatal error 6: Aborted
Backtrace:
emacs[0x501a83]
emacs[0x4e803e]
emacs[0x501ac3]
emacs[0x4bc7df]
emacs[0x4be8ac]
emacs[0x4be90b]
/usr/lib/x86_64-linux-gnu/libX11.so.6(_XError+0x11a)[0x7f07d410a8ba]
/usr/lib/x86_64-linux-gnu/libX11.so.6(+0x3d7eb)[0x7f07d41077eb]
/usr/lib/x86_64-linux-gnu/libX11.so.6(+0x3d895)[0x7f07d4107895]
/usr/lib/x86_64-linux-gnu/libX11.so.6(_XEventsQueued+0x55)[0x7f07d41081c5]
/usr/lib/x86_64-linux-gnu/libX11.so.6(XFlush+0x1a)[0x7f07d40e974a]
/usr/lib/x86_64-linux-gnu/libX11.so.6(+0x5d10e)[0x7f07d412710e]
/usr/lib/x86_64-linux-gnu/libX11.so.6(XDestroyIC+0x12)[0x7f07d4115492]
emacs[0x4cd29c]
emacs[0x4c5f9c]
emacs[0x4c648b]
emacs[0x42583d]
emacs[0x4bc7a0]
emacs[0x4be8ac]
emacs[0x4be90b]
/usr/lib/x86_64-linux-gnu/libX11.so.6(_XError+0x11a)[0x7f07d410a8ba]
/usr/lib/x86_64-linux-gnu/libX11.so.6(+0x3d7eb)[0x7f07d41077eb]
/usr/lib/x86_64-linux-gnu/libX11.so.6(+0x3d895)[0x7f07d4107895]
/usr/lib/x86_64-linux-gnu/libX11.so.6(_XEventsQueued+0x55)[0x7f07d41081c5]
/usr/lib/x86_64-linux-gnu/libX11.so.6(XPending+0x5d)[0x7f07d40f9d3d]
/usr/lib/x86_64-linux-gnu/libgdk-3.so.0(+0x6808e)[0x7f07d592408e]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_prepare+0x1c8)[0x7f07d4870998]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4c36b)[0x7f07d487136b]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_pending+0x27)[0x7f07d48714f7]
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_events_pending+0xd)[0x7f07d5de13fd]
emacs[0x4bc917]
emacs[0x4eeee9]
emacs[0x4f0565]
emacs[0x5bda65]
emacs[0x571b1c]
emacs[0x5bfe63]
emacs[0x5c0397]
emacs[0x5c0d23]
emacs[0x44106f]
emacs[0x4465f0]
emacs[0x44ab0a]
...
Aborted (core dumped)
这是一个需要报告的错误吗?有解决方法吗?我看到有一个讨论https://gitlab.gnome.org/GNOME/gtk/issues/221
答案1
运行命令
sudo apt-get remove fonts-noto-color-emoji
帮我修复了崩溃问题。