我在用着Linux架构3.15.2-1-ARCH x86_64。我并不是zsh
每天都使用(zsh-5.0.5-1),否则我就会注意到它段错误,当我从 cli 启动它时bash
:
arch kernel: zsh[2187]: segfault at 8 ip 00007f3b49853083 sp 00007fff2ad39198 error 4 in libc-2.19.so[7f3b497d2000+1a4000]
arch systemd-coredump[2188]: Process 2187 (zsh) dumped core.
现在我记得在某个时刻运行它并检查配置脚本(zsh /usr/share/zsh/functions/Newuser/zsh-newuser-install -f
现在也有段错误)。所以我做了以下事情:
- 重启
- X 或控制台中的行为是相同的
- 消除配置并清除包缓存,然后重新安装:
pacman -Rns zsh; paccache -r; paccache -ruk0; pacman -S zsh
。 - 尝试编译使用食谱5.0.5-1和5.0.4-1:编译,然后通过执行来继续检查二进制文件,这两种情况都会出现段错误,因此会中止。
- 一定要没有
.zsh*
文件在我的主目录中 - 确保有这基本的.zsh*
我的主目录中的文件。 - 更名
/etc/profile
- 更名
/etc/zsh/zprofile
- zsh-完成已安装/未安装
讽刺的是,zsh --version
或者--help
工作并回显相关信息。
那么我的设置/环境可能存在什么问题?
注:跑快的 数据库如果这能让您了解正在发生的事情:
(gdb) run
Starting program: /usr/bin/zsh
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff713e083 in __strchr_sse2 () from /usr/lib/libc.so.6
(gdb) bt
#0 0x00007ffff713e083 in __strchr_sse2 () from /usr/lib/libc.so.6
#1 0x000000000044f2e3 in ?? ()
#2 0x000000000044f7d4 in op ()
#3 0x000000000045003b in ?? ()
#4 0x00000000004505cd in ?? ()
#5 0x00000000004507dc in matheval ()
#6 0x0000000000450829 in mathevali ()
#7 0x00000000004602b0 in ?? ()
#8 0x00000000004624ab in assignsparam ()
#9 0x0000000000463636 in createparamtable ()
#10 0x000000000043f2b5 in setupvals ()
#11 0x0000000000440e14 in zsh_main ()
#12 0x00007ffff70dd000 in __libc_start_main () from /usr/lib/libc.so.6
#13 0x000000000040f7be in _start ()