티스토리 뷰

반응형

 

 

Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x593244 in tid 13846 (UnityMain), pid 13824

2019년 4월 3일 MAXST에서 업데이트 시킨, 4.1.1 Unity SDK 버전으로 업데이트 후, Manifest와 커스텀한 코드들을 수정한 뒤에,

에디터에서 실행시키고 나서, 에러 로그로 NullReference가 뜨면서, 저 위에 있는 오류 메시지가 나왔다.

저 원인을 찾아보니, CloudRecognitionAPIController.cs 파일에 있는 JWTEncode 함수에서 나오는 오류 메시지였었다.

그래서, BitBucket에 올려놨던, 이전 버전과 비교를 해본 결과,

함수쪽에서 4.1.1버전은 변경이 된 부분들이 몇개 더 있었다. 이것 저것 테스트를 해 본 결과

 

int[] resultLength = { 0, 0 };
Array.Clear(jwtData, 0, jwtData.Length);
NativeAPI.CloudManager_JWTEncode(secretKey, payloadJsonString, jwtData);

return Encoding.UTF8.GetString(jwtData).TrimEnd('\0');

 

이 코드는, 안드로이드 또는 iOS에서만 사용할 수 있게 한 플러그인 같았다.

그래서, 저 NativeAPI.cs에서, 인자를 2개 받을 수 있는, JWTEncode 함수를 만들어서, 밑에 코드와 같이 변경을 했다.

if (Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer)
{
	int[] resultLength = { 0, 0 };
    Array.Clear(jwtData, 0, jwtData.Length);
    NativeAPI.CloudManager_JWTEncode(secretKey, payloadJsonString, jwtData);
    
    return Encoding.UTF8.GetString(jwtData).TrimEnd('\0');
}
else
{
	return NativeAPI.CloudManager_JWTEncode(secretKey, payloadJsonString);
}

Android 또는 아이폰 기종일 경우에는, 업데이트 된 버전의 코드를, 나머지 플랫폼일 경우에는, 전 버전의 플러그인을 사용할 수 있게 만들어봤다. 그랬더니 오류가 싹 사라졌다. 그냥 서버의 문제인가 싶어, 원래 있던 코드로 변경하고 실행해본 결과, 또 오류가 발생되지 않았다...

흠.. 왜 그러는 지는 나도 의문이긴 하지만, 혹시 모르니, 일단 나는 저렇게 코드를 변경하고 나중에 문제가 생기게 되면 원래 코드로 변경 할 계획중에 있다.

 

맨 위와 같은 오류가 발생해도 당황하지 않고, 밑에 코드처럼 변경해보세요~!ㅎㅎㅎ

 

MAXST 참 좋은 거 같으면서도, 아직 업데이트 할 부분이 좀 많다고 생각이 듭니다..ㅠㅠ

천천히 나아질 MAXST를 응원합니다~!

 

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함