반응형
Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
위 오류명이 나오면서 프로그램이 터지는 경우가 더러있다. 에러에 대한 상세 내용이나 발생 위치에 대한 설명 없이 그냥 터지는 경우가 많은데 원인을 찾기 어려운 오류 중 하나다.
원인은 간단하게 말해서 segmentation fault, 즉 메모리 레벨에서 문제가 생긴 것이다. 허용되지 않은 (혹은 잠겨있는) 메모리에 접근하려고 하거나 잘못된 방법으로 메모리에 접근하려고 할 경우 발생하는 것이다.
힌트는 메모리 사용에서 문제가 생겼다는 것 뿐, 발생 원인은 작성하던 코드에 따라 천차만별이므로 정해진 해결법은 없다. 다만 다음과 같은 리스트를 점검해보면 좋다.
- multi processing을 사용하는 경우를 점검할 것. 병렬적으로 돌아가는 무언가에서 서로 메모리를 왔다갔다 하는 코드를 작성한 것이 있는지 점검한다.
- 계속 별도로 돌아가는 장비와 연결되어 있진 않은지 점검할 것. 예를 들어, 한 번 켜두면 계속 돌아가는 ZED2 같은 카메라를 사용할 시 이미지 grab하고 이를 처리하려고 하면 장비가 점유하고 있는 메모리에 접근하려고 하는 것이라 터지기도 한다. (이 땐 이미지의 복사본을 사용해야 한다. (.copy()를 이용해라.)
- GPU와 CPU 메모리를 오가는 부분을 점검할 것.
- 다루는 데이터에 inf 나 NaN이 없는지 점검할 것.
- bit 연산자를 사용하는 부분을 점검할 것.
- 딥러닝을 하고 있다면 graph가 어디서 꼬이진 않았는지 점검할 것. torch.no_grad()를 중간에 사용해서 graph를 끊었다 붙였다 했다거나 jacobian을 직접 계산해서 사용한다거나 gradient의 gradient 같이 N차 미분을 사용한 부분을 점검할 것
반응형
'Trouble > Linux' 카테고리의 다른 글
libGL.so.1, libgthread-2.0.so.0 not found 문제 (0) | 2024.05.08 |
---|---|
ubuntu 재설치 시 부팅 디스크로 부팅하고 나서 무한 검은 화면 문제 (0) | 2024.04.18 |
unzip으로 zip 파일 압축해제가 안되는 문제 (0) | 2024.04.18 |
URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:1131)> 문제 (0) | 2023.03.14 |
sudo apt-get update 시 ppa repository로 인한 error 해결법 (0) | 2023.01.30 |