일부 명령을 실행한 후 bash는 알 수 없는 이유로 "세그먼트 실패(코어 덤프)"를 인쇄합니다.

일부 명령을 실행한 후 bash는 알 수 없는 이유로 "세그먼트 실패(코어 덤프)"를 인쇄합니다.

최근에 Arch Linux 빌드에서 이상한 문제를 발견했습니다. 셸에서 일부 프로그램을 시작한 후 "세그먼테이션 오류(코어 덤프)"가 표시됩니다.

이에 대한 몇 가지 예는 다음과 같습니다.셔터를 닫고, 크롬을 시작하고, 숭고한 텍스트를 시작하거나, Emacs를 닫으세요.

내가 아는 한, 세그폴트는 프로그램에 영향을 미치지 않지만 계속 나타나며 약간 짜증이 나기 시작합니다.

이 문제의 원인이 무엇인지 전혀 모르겠으며 잠시 동안 검색한 후에도 이에 대한 정보를 찾을 수 없습니다.

내 쉘은 bash이고 터미널은 urxvt입니다.

답변1

이러한 문제에는 두 가지 일반적인 원인이 있습니다(예: 관련되지 않은 여러 프로그램에 영향을 미침).

  1. 메모리에 문제가 있습니다. 사용메모리 테스터또는기억력 테스트 86기억력을 테스트해 보세요. 손상된 DIMM을 교체하십시오. 마더보드가 이를 지원하는 경우 ECC RAM을 구입하십시오. 일반적으로 10-30% 더 비쌉니다.

일부 배포판(예: debian)은 패키지를 memtest86설치할 때 실행할 grub 항목을 추가하도록 편리하게 구성할 수 있습니다 memtest86. memtester실행하는 데 재부팅이 필요하지 않습니다.

  1. 영향을 받는 모든 프로그램은 잘못된 라이브러리를 공유합니다. 최근에 업그레이드하셨나요? 아마도 나는 당신이 언급한 모든 프로그램이 gnome/gtk 라이브러리에 의존하거나 이를 사용하기 위해 컴파일될 수 있기 때문에 의심을 가지고 gnome/gtk 라이브러리를 살펴보기 시작할 것입니다. 다른 잠재적인 용의자로는 libc6이 포함됩니다. 이를 사용 ldd하면 각 프로그램이 어떤 라이브러리를 사용하는지 정확히 확인하고 이를 비교하여 공통 라이브러리를 찾을 수 있습니다.

관련 정보