기술 정보
home
채널 소개
home

특정 쿼리 실행 시 SIGSEGV 발생

문서 유형
장애 해결
분야
모니터링/점검
키워드
XMLTYPE
적용 제품 버전
6FS06
1 more property

현상

XMLTYPE 관련된 오류로, 특정 MERGE INTO 쿼리 수행 시 세그멘테이션 오류(이하 SIGSEGV)가 발생하며 세션이 끊어집니다.
(아웃파일) [87] *** 2024/07/02 16:29:33.387 *** Signal 11 (SIGSEGV) caught (TID = 87, SESSID = 87, OS_THR_ID = 25070, PID = 24892): si_addr = 0000000000000000 : the cause of the signal can be found in a process callstack file. [87] Thread stack: 00007faa1afe0000--00007faa1b7f0000 [87] client : ip [203.247.70.62] process [python.exe] logon time : [2024/07/02 16:11:30] [87] prev sql : " MERGE INTO TB_CCTV_DISTING_DATA TBCDD USING DUAL ON (TBCDD.EQMT_ID = '0550C00037') WHEN MATCHED THEN UPDATE SET TBCDD.ANALY_DT = to_date('20240702 162403', 'YYYYMMDD HH24MISS'), TBCDD.WEATHER_DISCERN_CD = '00', TBCDD.DAY_CD = '1', TBCDD.THUMB_IMG = ? WHEN NOT MATCHED THEN INSERT ( TBCDD.EQMT_ID, TBCDD.ANALY_DT, TBCDD.WEATHER_DISCERN_CD, TBCDD.DAY_CD, TBCDD.THUMB_IMG (ppdump) Binding [csr_id=5944]: param #0: type=BLOB,len=0,val=[(null)] param #1: type=BLOB,len=0,val=[(null)] EX dump: ppn id: 1 PP dump: /sw/tibero/tibero6/instance/kma_monitor/dump/tracedump/pp2xml.39.xml op node: 36 OP_MERGE cols L: colcnt=20 col 0: [11] 0000: 0A DB 15 00 00 CB 54 DE 20 21 00 ......T. !. col 1: [11] 0000: 0A 30 35 35 30 43 30 30 30 33 37 .0550C00037 col 2: [9] 0000: 08 78 7C 07 02 10 0D 37 00 .x|....7. col 3: [NULL dtv] col 4: [NULL dtv] col 5: [2] 0000: 01 31 .1 col 6: [3] 0000: 02 30 30 .00 col 7: [NULL dtv] col 8: [NULL dtv] col 9: [NULL dtv] col 10: [NULL dtv] col 11: [NULL dtv] col 12: [NULL dtv] col 13: [NULL dtv] col 14: [NULL dtv] col 15: [NULL dtv] col 16: [NULL dtv] col 17: [NULL dtv] col 18: [97] 0000: 60 4D 7E 01 01 12 00 00 00 DD 60 77 0D 00 00 00 M~.......w.... 0010: 00 00 00 00 00 0D 00 08 00 16 6E 27 00 00 00 00 ..........n'.... 0020: 00 15 B1 CA F4 01 00 00 00 47 0C 8F 00 32 71 2C .........G...2q, 0030: 00 32 71 00 00 00 00 00 00 DC 15 00 00 CB 54 DE .2q...........T. 0040: 20 21 00 00 00 00 00 00 00 20 CF 49 D5 AE 7F 00 !....... .I.... 0050: 00 DB 15 00 00 00 00 00 00 FF FF FF 7F FF FF FF ................ 0060: 7F . col 19: [NULL dtv] cols R: colcnt=0 Thread #87 (Session #87): tb_thread_exit: (signo:11, sigtype:15) Process #3 get restart thread (#87) msg (콜스택) Thread 6 (Thread 0x7faa1b7e7700 (LWP 25070)): #0 0x00007fb06b3cc41d in nanosleep () from /lib64/libc.so.6 #1 0x00007fb06b3fd014 in usleep () from /lib64/libc.so.6 #2 0x0000000000ebf182 in sync_sig_handler (signo=11, siginfo=0x7faa080104b0, context=0x7faa08010380) at /home/autodist/build_20171205_213246/tibero6/src/tbsvr/frame/tbsvr_signal.c:1524 #3 #4 0x0000000001c9af07 in expcn_reset (expcn=0x7faa2a532ce0, expcn_regs=0x7faa2a53b588) at /home/autodist/build_20171205_213246/tibero6/src/tbsvr/ex/expcn.c:595 #5 0x0000000001c3e8ad in ex_reset_expcn (ex=0x7faa2a531e58, is_recovery=) at /home/autodist/build_20171205_213246/tibero6/src/tbsvr/ex/ex.c:428 #6 0x0000000001c711fb in csr_close (csr=0x7faf18f0b7c0, is_recovery=160 '\240') at /home/autodist/build_20171205_213246/tibero6/src/tbsvr/ex/csr.c:1692 #7 0x0000000000e98ade in so_csr_marker_cleanup (so=0x1, sessid=, flag=144 '\220') at /home/autodist/build_20171205_213246/tibero6/src/tbsvr/frame/so_registry.c:163 #8 0x0000000000e91d60 in so_cleanup_after (id=87, so_list=0x7faa2d0cd040, marker=0x7faf18ef6870) at /home/autodist/build_20171205_213246/tiber
SQL
복사

원인

유효하지 않은 주소값의 정보를 사용하여 발생한 현상 입니다.(temp lob관련)
XMLType 데이터 삽입 시 형식에 맞지 않는 입력값에 대한 에러 처리가 누락되어, 비정상적인 입력값을 사용하는 경우 temp lob 참조가 발생하여 SIGSEGV 가 발생합니다.

해결

xmltype에 형식에 맞지 않게 insert 시 에러 처리 될 수 있도록 패치를 적용해 해결합니다. (적용패치: 6 FS06_CS_145041a)
주의
티맥스티베로에서 제공하는 기술지원을 통해 패치를 적용합니다.