Document Type | Troubleshooting
Category | Patch/Upgrade
Applicable Product Versions | 7FS01, 7FS02
Document Number | TPATS012
Issue
This symptom occurs in Tibero DB, where during resource cleanup after the dblink session connection is disconnected, an โInternal Error with condition '!CUR_THREAD.ti_disable_throw'โ occurs.
--Affected version: tibero7 fs02 [sys.log] [2024-01-15T17:19:42.860339] [COM-728] [I] Internal Error with condition '!CUR_THREAD.ti_disable_throw' (1 args) (tbsvr_err.h:90:tb_throw) (pid=367791, sessid=728, tid=728) [2024-01-15T17:23:13.906583] [COM-774] [I] Internal Error with condition '!CUR_THREAD.ti_disable_throw' (1 args) (tbsvr_err.h:90:tb_throw) (pid=367796, sessid=774, tid=774) [Partial callstack file] #0 0x00007f906098f918 in nanosleep () from /lib64/libc.so.6 #1 0x00007f90609bd178 in usleep () from /lib64/libc.so.6 #2 0x0000000000eded6f in callstack_dump_ex (ds=0xa2c64c0 <debug_dstream>, tid=728, tid@entry=-1, dump_dest_dir=dump_dest_dir@entry=0x0) at /home/chef/workspace/Build_centos_8/tibero7/src/tbsvr/frame/callstack.c:468 #3 0x0000000000edd167 in tb_tracedump (tracedump_cause=tracedump_cause@entry=TRACEDUMP_ASSERT) at /home/chef/workspace/Build_centos_8/tibero7/src/tbsvr/frame/tbsvr_tracedump.c:90 #4 0x0000000000f25914 in tb_assert_msg_detail (cond=cond@entry=0x2c065a5 "!CUR_THREAD.ti_disable_throw", argc=argc@entry=1, filename=filename@entry=0x2c03a9e "tbsvr_err.h", line=line@entry=90, func=func@entry=0x2c072e0 <__func__.74200> "tb_throw") at /home/chef/workspace/Build_centos_8/tibero7/src/tbsvr/frame/tb_assert.c:115 #5 0x00000000007f839a in tb_throw (ec=ec@entry=-12126, file=file@entry=0x2c09275 "tbsvr_dblink.c", line=line@entry=822, func=func@entry=0x2c09100 <__func__.107797> "tbsvr_dblink_send_msg", notrace=notrace@entry=0 '\000') at /home/chef/workspace/Build_centos_8/tibero7/src/tbsvr/include/tbsvr_err.h:90 #6 0x00000000007f94e6 in tb_err_and_jmp (file=file@entry=0x2c09275 "tbsvr_dblink.c", line=line@entry=822, func=func@entry=0x2c09100 <__func__.107797> "tbsvr_dblink_send_msg", notrace=notrace@entry=0 '\000', from_sighdlr=from_sighdlr@entry=0 '\000', ec=ec@entry=-12126) at /home/chef/workspace/Build_centos_8/tibero7/src/tbsvr/common/tbsvr_err.c:158 #7 0x000000000080dd93 in tbsvr_dblink_send_msg (dblink=dblink@entry=0x7f7517bc6408, msg=msg@entry=0x7f1347ff68a0) at /home/chef/workspace/Build_centos_8/tibero7/src/tbsvr/dblink/tbsvr_dblink.c:820 #8 0x000000000080ecee in tbsvr_dblink_close_all_conn (flag=flag@entry=0 '\000') at /home/chef/workspace/Build_centos_8/tibero7/src/tbsvr/dblink/tbsvr_dblink.c:612 #9 0x0000000000eb5380 in so_txinfo_cleanup (so=<optimized out>, sessid=<optimized out>, flag=<optimized out>) at /home/chef/workspace/Build_centos_8/tibero7/src/tbsvr/frame/so_registry.c:249 #10 0x0000000000eb2a55 in so_cleanup_after (id=728, so_list=0x7f136b630380, marker=0x7f744dc66810) at /home/chef/workspace/Build_centos_8/tibero7/src/tbsvr/frame/so_cleanup.c:60
Cause
An Internal Error occurs when the connection to the target DB is abnormal in the dblink-related function.
- The function โtbsvr_dblink_close_all_connโ, which cleans up dblink sessions collectively, sends a message to the target DB of the dblink: in this logic, if the connection to the target DB is abnormal, a throw occurs, causing an internal error within the DB.
Solutions
Apply a patch that removes unnecessary logic related to dblink sessions to resolve the issue. (Applied patch: 317099a)
CautionApply the patch through technical support provided by Tmax Tibero.
NoteReason for removing the message sending logic within tbsvr_dblink_close_all_conn in the applied patchBecause messages are already sent in the lower-level functions, and ti_disable_throw exception handling is already in place to prevent Internal Errors in this situation, the message sending logic inside tbsvr_dblink_close_all_conn was deemed unnecessary and therefore removed.