본문 바로가기

ANDROID/Debug Logs

[안드로이드] Fatal signal 11 (SIGSEGV) at 0x00000008 (code=1)

관련 오류는 Lolipop에서는 아예 일어나지 않는 오류정도 였는데,


요즘 테스트 기기가 킷캣으로 제한되다 보니 멈췄다 하면 로그를 봤을때


다반수가 SIGSEGV 오류인 걸 볼 수 있었다.



골치아픈건 이게 네이티브 레벨에서 일어나는(메모리단에서?) 오류라 코드로 일어나는 부분을 확인하기가


어렵다는 점이다. 덕분인지 원인도, 해결방안도 가지각색으로 나오는 걸 서치해보면 확인할 수 있다.



그중에 분명한건 어느 시점에서 오류가 발생하는 게 느껴질 정도로 빈도가 잦은 구간이 딱 있어서


해당 액티비티 안의 코드를 중점으로 이것저것 작업을 해보고 있다.


관련해서 테스트를 하면서 오류가 발생하는 대로 계속 상처를 덧대듯이


보완사항을 적용해보고, 또 게시글에 업데이트 할 예정이다.




그동안 적용한 해결책은 아래와 같다. 적용한 해결책은 상황에 따라 필수적인 해결방법이 아닐 확률이 있다.



- 매니페스트 파일의 allowLargeHeap 옵션 제거 (https://stackoverflow.com/questions/18531835/java-android-fatal-signal-11-sigsegv)


- 메모리 leak을 불러올만한 뷰에 destroyDrawingCache 수행(https://stackoverflow.com/questions/4973310/signal-11-sigsegv-crash-android)