Document Type | Troubleshooting
Category | Monitoring/Inspection
Applicable Product Version | 6FS06
Document Number | TMOTS020
Issue
This is an error related to XMLTYPE, where a segmentation fault (hereafter SIGSEGV) occurs and the session disconnects when performing a specific MERGE INTO query.
(Outfile)
[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
(Call Stack)
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/tibero
Cause
This phenomenon occurs due to the use of invalid address information. (Related to temp lob)
When inserting XMLType data, error handling for input values that do not conform to the format is missing. If abnormal input values are used, temp lob references occur, causing SIGSEGV.
Solutions
Apply a patch to handle errors properly when inserting into xmltype with invalid format. (Applied patch: 6 FS06_CS_145041a)
CautionApply the patch through technical support provided by Tmax Tibero.