기술 정보
home
채널 소개
home

UDF(user defined function) 사용 중 DB Instance 강제종료 되는 현상

문서 유형
장애 해결
분야
설치
키워드
psm
udf
적용 제품 버전
6FS07

현상

UDF(User Defined Function) 수행 중, 간헐적으로 DB 인스턴스가 강제 종료되는 현상이 발생합니다.
DB 인스턴스 비정상 종료 시 출력된 관련 로그 예시
[02-05T13:10:43.676767] [FRM-144] [I] Signal 'SIGSEGV'(11) caught (TID = 144, OS_THR_ID = 7696, PID = 7554): si_addr = 0000000000000018 : the cause of the signal can be found in a process callstack file. [02-05T13:10:47.711271] [FRM-144] [I] THROW. ec=ERROR_SESS_KILLED(-12001) [ Session has been closed. ] (csr_id:3105) [tbsvr_signal.c:1610:sync_sig_handler] [02-05T13:33:57.330821] [COM-144] [I] Internal Error with condition '!"Signal caught in a critical section: DB instance must be shut down. " "The cause which generated the signal can be found " "in a process callstack file."' (2 args) (tbsvr_signal.c:1474:sync_sig_handler) (pid=7554, sessid=144, tid=144)
SQL
복사

원인

함수(PSM)에서 Result Cache 기능을 사용할 경우 메모리 누수가 발생하는 현상이며, 이는 DETERMINISTIC 구문을 사용하는 경우에만 나타납니다.
PSM 실행 중 결과 블록에 대해 할당된 메모리를 정상적으로 해제하지 않아, 메모리 누수(memory leak)가 발생하게 됩니다.

해결

1.
FS07_CS_227927b 패치를 적용합니다.
주의
티맥스티베로에서 제공하는 기술지원을 통해 패치를 적용합니다.
2.
PSM_SQL_RESULT_CACHE=N 설정을 통해 Result Cache 기능을 비활성화합니다. (동적 적용 가능)
참고
PSM 내 DETERMINISTIC 구문 제거 후 사용하여 우회가 가능합니다.