cancel
Showing results for 
Search instead for 
Did you mean: 

IQ 15.4 ESD#6 crash-AIX 7.1

jmtorres
Active Participant
0 Kudos

Hi,

I had this stack which caused IQ  to crash after an attempt to insert a duplicate key when running an insert select:

I. 09/08 17:19:46. 0000000466 Exception Thrown from s_ohcins.cxx:722, Err# 0, tid 8 origtid 583

I. 09/08 17:19:46. 0000000466    O/S Err#: 0, ErrID: 6145 (hgex_dataexception); SQLCode: -1002003, SQLState: 'QGA03', Severity: 14

I. 09/08 17:19:46. 0000000466 [20505]: Tried to insert a duplicate value into a unique index DW.DW_PAR_QUERIES.ASIQ_IDX_T822_I17_HG on row 1968.

-- (s_ohcins.cxx 722)

I. 09/08 17:19:46. 0000000466 [20917]: Delete of 1 rows started for table:

I. 09/08 17:19:46. 0000000466 

I. 09/08 17:19:46. 0000000466 **************************************************

I. 09/08 17:19:46. 0000000466 ***   Sybase IQ Abort:

I. 09/08 17:19:46. 0000000466 ***      From:  st_server.cxx:1442

I. 09/08 17:19:46. 0000000466 ***      PID: 23724032

I. 09/08 17:19:46. 0000000466 ***      Message: caught signal 11, program abort

I. 09/08 17:19:46. 0000000466 ***      Thread: 15164  (TID: 😎

I. 09/08 17:19:46. 0000000466 **************************************************

I. 09/08 17:19:46. 0000000466 

I. 09/08 17:19:46. 0000000466     **  Error from IQ connection:  SA connHandle: 44  SA connID: 26  IQ connID: 0000000466  User: DW

I. 09/08 17:19:46. 0000000466     **  Time of error:  2015-09-08 17:19:46

I. 09/08 17:19:46. 0000000466     **  IQ Version:  Sybase IQ/15.4.0/150610/P/ESD6

after that sever the stack has :

===== Thread Number  15164  (IQ connID: 0000000466) =====

I. 09/08 17:19:47. 0000000466 pc: 0x9000000313bf8e8 .pcstkwalk(stk_trace*,int,db_log*,hos_fd*)+0x1c8()

I. 09/08 17:19:47. 0000000466 pc: 0x9000000313bf1d8 .ucstkgentrace(int,int)+0xb8()

I. 09/08 17:19:47. 0000000466 pc: 0x9000000313bd964 .DumpAllThreads(const char*,unsigned int,int)+0x184()

I. 09/08 17:19:47. 0000000466 pc: 0x900000030b60078 .hos_ABORT(const char*,unsigned int,const char*,char*,char*)+0x1d8()

I. 09/08 17:19:47. 0000000466 pc: 0x9000000313c52d4 .SigHndlr+0x54()

I. 09/08 17:19:47. 0000000466 pc: 0x9000000314b6a70 .s_btParallelCursor::SetDeleteNotifier(int,void*,int(*)(void*,const void*,const int,const void*))+0x10()

I. 09/08 17:19:47. 0000000466 pc: 0x900000031fd6f7c .hs_word::LargeDelete(const s_bm&,int)+0x19c()

I. 09/08 17:19:47. 0000000466 pc: 0x900000031fd5598 .hs_word::Delete(const s_bm*,unsigned long,int,int,s_CKInfo*,const hos_ValueRange*)+0x238()

I. 09/08 17:19:47. 0000000466 pc: 0x9000000310679f8 .hdb_delete_indices::Unit_of_Work(int)+0xf8()

I. 09/08 17:19:47. 0000000466 pc: 0x9000000310681a4 .hdb_delete_indices::hdb_delete_index_iter::ExecWork(int&,unsigned int)+0xe4()

I. 09/08 17:19:47. 0000000466 pc: 0x90000003152ea84 .workAllocator::DoWork(unsigned int)+0xe4()

I. 09/08 17:19:47. 0000000466 pc: 0x900000031532bd0 .workAllocator::sDoWork(workAllocator*,unsigned int)+0x30()

I. 09/08 17:19:47. 0000000466 pc: 0x90000003217bfb4 .hos_team::StartWork(void(*)(void*,void*),void*)+0x114()

I. 09/08 17:19:47. 0000000466 pc: 0x900000031532b10 .hos_team::Exec(hos_workIter&)+0x50()

I. 09/08 17:19:47. 0000000466 pc: 0x9000000310668cc .hdb_delete_indices::Delete_Indices()+0x24c()

I. 09/08 17:19:47. 0000000466 pc: 0x9000000310639f4 .hdb_hdelete::Delete(const char*,hdb_hinsertindexlist*,unsigned int)+0x8b4()

I. 09/08 17:19:47. 0000000466 pc: 0x900000031b8f7e8 .hdb_hdelete::Delete(const char*)+0x28()

I. 09/08 17:19:47. 0000000466 pc: 0x90000003154aa2c .db_sqlinsert::DeleteDisplayInsertError(unsigned int,s_bm*)+0x12c()

I. 09/08 17:19:47. 0000000466 pc: 0x90000003154b044 .db_sqlinsert::VExecute()+0x4c4()

I. 09/08 17:19:47. 0000000466 pc: 0x90000003157f4c8 .db_sqlinsert::Execute()+0x388()

I. 09/08 17:19:47. 0000000466 pc: 0x900000030beafec .st_command::DoCmdThroughResourceGate()+0x36c()

I. 09/08 17:19:47. 0000000466 pc: 0x9000000321b4df8 .st_iqdml::Insert(a_statement*,UIConnection*,UICursor*,unsigned int*)+0xd8()

I. 09/08 17:19:47. 0000000466 pc: 0x90000003212cd88 .UIQDML_Insert+0x48()

I. 09/08 17:19:47. 0000000466 pc: 0x900000030bf80a0 .st_SAIQInterfaceInfo::callFunction()+0x40()

I. 09/08 17:19:47. 0000000466 pc: 0x900000032243650 .st_SAIQInterface::RunIQFunc(st_SAIQInterfaceInfo*)+0x170()

I. 09/08 17:19:47. 0000000466 pc: 0x900000030bf8fa0 .st_SAIQInterface::Execute(int,void*,unsigned int(*)(void*,void*),void*,unsigned int)+0x600()

I. 09/08 17:19:47. 0000000466 pc: 0x9000000321f9ca8 .saint_iqthresholddml::Insert(a_statement*,IConnection*,ICursor*,unsigned int*)+0xe8()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002fa3f85c .InsertFromHost(a_db_cursor*,a_statement*,unsigned int)+0xfc()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002fa3f424 .dbi_insert(Connection*,a_statement*,a_stmt*,a_stmt_identifier*,unsigned int,unsigned int,TableDef*)+0x2e4()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002f80773c .DoExecuteBodyLocal(Connection*,a_stmt*,a_statement*,a_stmt_identifier*,bool,unsigned int,unsigned short)+0x3fc()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002f7f816c .DoExecuteBody(Connection*,a_stmt*,a_statement*,a_stmt_identifier*,bool,unsigned int,unsigned short)+0x12c()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002f7f74b8 .DoExecuteStmt(Connection*,a_stmt*,a_statement*,a_stmt_identifier*,unsigned short,unsigned int)+0x2b8()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002f7f9b1c .db__execute(Connection*,an_sqlpres_receive*)+0x27c()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002f6b7a78 .RequestProcedure::call()+0xbb8()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002f8501b8 .Context::call(Procedure*,Context**)+0x78()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002f851c08 .Worker::call_on_stack(Procedure*)+0x48()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002f6b9404 .TopProcedure::call()+0x44()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002f851518 .Worker::spawn(Procedure*)+0x98()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002f6b9604 .EngStream::handle_ind(unsigned char,unsigned int)+0xc4()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002f6b9fd4 .EngStream::execute()+0x4f4()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002f6bb948 .RQBaseItem::do_work(Worker*)+0x48()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002f5561c4 .RequestQueue::worker_body()+0xc4()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002f6bb820 .request_task(void*)+0x80()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002f5f3288 .run_task_body+0x48()

I. 09/08 17:19:47. 0000000466 pc: 0x90000002f5edb94 .UnixTask::pre_body(void*)+0x134()

I. 09/08 17:19:47. 0000000466 pc: 0x9000000004f5e14 ()

I've done some research and found that several CRs related to insert on duplicate key on HG unique and  with  WD index may cause IQ server to fail but most of them are fixed starting from ESD#3 and higher

Any clues for this?

Thank you

Regards

Jose

Accepted Solutions (1)

Accepted Solutions (1)

tayeb_hadjou
Advisor
Advisor
0 Kudos

Hi Jose,

Yes it looks similar to CR#716303 fixed in ESD#3 and thus in ESD#6.

I'd suggest check the table consistency :

sp_iqcheckdb 'verify table <table_name>' ;

If no errors detected then options below set before query execution may help as workaround:

set temporary option WD_DELETE_METHOD=1 ;

or

set temporary option Core_Options27=1 ;

Regards,

Tayeb.

Answers (1)

Answers (1)

jmtorres
Active Participant
0 Kudos

Thank you Tayeb,

I'll try these options and check how it goes

Regards

Jose