Emacs 在 tmux 里面运行,编辑文件时使用 `evil` 的 `p` 粘贴内容的时候有几率会卡死

使用的是 doom 4.0-alpha

Emacs 是 28.0.5, 启用了 native-comp

目前出现的情况都是编辑 C++ 或者 C 文件的时候。启用了 LSP, 用的是 clangd

主要关心的问题是:

  1. 卡死的 Emacs 怎么 dump 出错误信息?尝试 gdb 挂到进程上,但是只能看到底层的 syscall,难以分析问题出现的地方。
  2. 卡死的原因是否和 tmux 的共享粘贴板有关系?

尝试使用添加了 --debug 信息的 Emacs 项目去复现,但是没有成功。

复现出来了,不会出现 backtrace。但是粘贴出来的会是错误信息,主要有两种:

  1. Error: target STRING not available
  2. Error: Can't open display: localhost:12.0

如果没有安装第三方的剪切板管理工具的话(X 默认这样,不清楚 wayland 是否也是),在剪切板里的内容实际上是原来被拷贝进程的一个引用而已,所以一旦原来的那个进程不存在了,那么剪切板里的内容也就失效了。