zsh segfault 문제: 이 문제를 추가로 평가하는 방법은 무엇입니까?

zsh segfault 문제: 이 문제를 추가로 평가하는 방법은 무엇입니까?

나는 그것을 사용하고 있다리눅스 아키텍처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이제 segfault도 발생함)를 확인했던 기억이 납니다. 그래서 나는 다음을 수행했습니다.

  • 재시작
  • 동작은 X나 콘솔에서 동일합니다.
  • 제거하다패키지 캐시를 구성하고 지운 다음다시 설치: pacman -Rns zsh; paccache -r; paccache -ruk0; pacman -S zsh.
  • 노력하다엮다레시피 사용5.0.5-1그리고5.0.4-1: 컴파일한 다음 실행을 통해 바이너리 검사를 계속합니다. 두 경우 모두 segfault가 발생하여 중단됩니다.
  • ~ 해야 하다아니요 .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 ()

답변1

이 동작은 다음을 통해 재현할 수 있습니다.

export HISTSIZE=V=

무슨 이유에서인지 내.bashrc문서. 내가 생각했던 창에서 초점을 얻지 못했을 가능성이 높으며 결국에는 눈치채지 못한 채 V=를 추가하고 실수로 파일을 저장했을 수도 있습니다. 이 설정은 활성화되어 있습니다.무한한 역사. 하지만매개변수 사용또한. 그래서세게 때리다오류는 불평되지 않지만env... 예외의 출력을 간략하게 살펴보는 것은 디버그 체크리스트에 있어야 합니다.

관련 정보