SAP Knowledge Base Article - Preview

2297354 - IQ server crashed with stcxtlibst_server.cxx1921 and hos_keycond_dtvchar_actual

Symptom

1. An IQ server got crashed due to a problematic compound statement below.

 create table #TEMP(    "COL001" char(20) null,  )  //  <------  Two statements are not separated by a semicolon and run at once.
 select 'sunseo'="NUMBER"(),"COL002"
 from "OWNER001"."TAB001"
 order by "COL002" asc
    
 I. 03/16 16:10:46. 0001340413 **************************************************
 I. 03/16 16:10:46. 0001340413 ***   SAP IQ Abort:
 I. 03/16 16:10:46. 0001340413 ***      From:  stcxtlib/st_server.cxx:1921
 I. 03/16 16:10:46. 0001340413 ***      PID: 13925
 I. 03/16 16:10:46. 0001340413 ***      Message: caught signal 11, program abort
 I. 03/16 16:10:46. 0001340413 ***      Thread: 416  (TID: 28)
 I. 03/16 16:10:46. 0001340413 **************************************************
     
2. Analysis
 1) Stacktrace
 
  _Z9hos_ABORTPKcjS0_PcS1_ + .................
  SigHndlr + 0x90 at stcxtlib/st_server.cxx:1921 [.................
  ---- Signal 11 (SIGSEGV) delivered ----
  _ZN16hos_basic_mbtextIPhiiE6RewindEv at .................
  _ZN16hos_basic_mbtextIPhiiE3SetES0_P13hos_dmcontexti at .................
  _ZN16hos_basic_mbtextIPhiiE3SetES0_P13hos_dmcontexti at .................
  _Z26hos_keycond_dtvchar_actualPvS_jP13hos_dmcontext + .................
  _ZN6hs_ohc19GetHashFromLookupFPEv + 0xed0 at .................
  _ZN11hs_ohcGroupI14s_btfdiskblock9s_btfitemE19GetUnconditionedKeyEPviS3_Pi + .................
  _ZN11hs_ohcGroupI14s_btfdiskblock9s_btfitemE12FetchOrderedERiPvPiiRy + .................
  _ZN14s_fetchOrdered5FetchEv + 0x120 at .................
  _ZN9vp_Cursor5FetchEv + .................
  _ZN22dfo_VerticalLeafCursor9FetchOpusEv + 0x2a0 at .................
  _ZN3dfo5FetchEv at .................
  _ZN3dfo10FetchChildEi at .................
  _ZN21dfo_NonDeterministics9FetchOpusEv + .................
  _ZN8dfo_Root9FetchOpusEv + .................
 
 2) The customer ran it without semicolon to divide the two statements.
      It resulted in running the select statement only, without creating the temporary table in the first statement.
      Actually, the reason the customer ran the compound statement was to avoid a specific routine by a database security tool.
      The real purpose of the statement is to run the second statement(select 'sunseo'= .......) with skipping the first one.
 
 3) When running the compound statement using dbisqlc, it fails as below.
  Error in file "aa.sql" at line 0
  Result set not permitted in '<batch statement>'
  
      But, it runs fine when running it through dbisql.
      Actually, it's wrong expression of placing a comma(,) in front of closing parenthesis(')') in syntax perspective.
     
      create table #TEMP(    "COL001" char(20) null,  ) 
       
 4) This is duplicate with CR 781529 which is still under investigation.   
 
 [CR 781529]
  hos_mbtext::cnv_to_dtvchar_cond_actual(.................
  hos_keycond_dtvchar_actual(.................
  hs_ohc::GetHashFromLookupFP()+.................
  hs_ohcGroup<s_btfdiskblock, s_btfitem>::GetUnconditionedKey(.................
  hs_ohcGroup<s_btfdiskblock, s_btfitem>::FetchOrdered(.................
  s_fetchOrdered::Fetch()+.................
  vp_Cursor::Fetch()+.................
  dfo_VerticalLeafCursor::FetchOpus()+.................
  dfo_Filter::FetchOpus()+.................
  dfjo_Hash::Fetch_T2_IntoHash()+.................


Read more...

Environment

SAP IQ 16.0. SP10 PL08

Product

SAP IQ 16.0

Keywords

IQ, crash, hos_keycond_dtvchar_actual, GetHashFromLookupFP, hos_basic_mbtext, hos_basic_mbtext, , KBA , BC-SYB-IQ , Sybase IQ , Problem

About this page

This is a preview of a SAP Knowledge Base Article. Click more to access the full version on SAP for Me (Login required).

Search for additional results

Visit SAP Support Portal's SAP Notes and KBA Search.