본문 바로가기
Dart/Flutter

[Flutter] "Fatal signal 11 (SIGSEGV)" 오류 해결하기

by 검은냥냥이 2023. 2. 5.

`Fatal signal 11 (SIGSEGV)`오류는 프로그래밍에서 흔히 발생하는 오류이며 분할 위반이라고도 하는 분할 결함을 나타냅니다.

위치가 존재하지 않거나(NULL 포인터 역참조) 프로그램이 액세스 할 수 없도록 보호되어 있기 때문에 프로그램이 액세스가 허용되지 않은 메모리 위치에 액세스 하려고 시도할 때 발생합니다.

오류 메시지의 'in tid 18280 (1.io), pid 18247 (ital.parkinsons)' 부분은 오류가 발생한 스레드 ID(tid) 및 프로세스 ID(pid)를 나타냅니다.

이 오류는 다음과 같은 여러 요인으로 인해 발생할 수 있습니다.

 

오류 발생요인

  • 초기화되지 않은 포인터에 액세스 (Accessing an uninitialized pointer)
  • 이미 해제된 포인터에 액세스 (Accessing a pointer that has already been freed)
  • 버퍼 오버 플로우 (Buffer overflow)
  • 스택 오버플로 (Stack overflow)
  • 널 포인터 역참조 (Dereferencing a null pointer)

 

이 문제를 해결하려면 문제의 원인을 식별하고 코드를 디버그하여 세그먼테이션 오류의 원인을 확인해야 합니다.

 

해결방법

`android\app\src\main\AndroidManifest.xml`

`android:hardwareAccelerated` 값을 `false`으로 변경해 주시면 됩니다.

<application
	android:hardwareAccelerated="false"
   	...

 

다른 해결방법

특정 위치에서 지속적으로 팅김현상이 발생된다면, `Stack 위젯`을 사용하고 있을 가능성이 높습니다.

`Stack`, `Hero` 와 같은 위젯의 경우 설계 및 위치를 변경하여 코드를 다시 정렬하면 문제가 해결될 가능성이 높습니다.

728x90
사업자 정보 표시
레플라 | 홍대기 | 경기도 부천시 부일로 519 화신오피스텔 1404호 | 사업자 등록번호 : 726-04-01977 | TEL : 070-8800-6071 | Mail : support@reafla.co.kr | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기