Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0-incubating
-
None
-
None
-
platform: suse11
connect info : 10.10.10.176:23400
esgynDB version :esgynDB-20151121_0900-bin
driver version: 1119
Description
with MultiThread DCS on, odbc coast core dumped at memcpy when there is parameter in prepare statement.
Here is the test code –
SQLExecDirect(hstmt,(SQLTCHAR*)ExecDirStr[i+iend],SQL_NTS); //sql statement: create table XIK0RPULR5(QJAAFUO4BQ int) NO PARTITION
SQLPrepare(hstmt,(SQLTCHAR*)ExecDirStr[i+iend+iend], SQL_NTS); // sql statement: insert into XIK0RPULR5 values
Here is the stack trace –
#0 0x00007f4674cf64d9 in memcpy () from /lib64/libc.so.6
#1 0x00007f4676f6ef8f in FormatSQLDescSeq (ODBCDesc=0x7ffd97fae3f0, SQLDesc=0x7ea338 "\001",
SQLDescLength=8, SQLDataPtr=@0x7ffd97fae408: 0x7e5cf0 "", swap=78 'N', sqlQueryType=256)
at ./Interface/odbcs_drvr.cpp:228
#2 0x00007f4676f72624 in odbc_SQLDrvr_Prepare_pst_ (tag_=0x7dc780, setStmtOptions=0x0,
returnCode=0x7ffd97fae44c, sqlWarningOrError=@0x7ffd97fae440: 0x0, sqlQueryType=0x7ffd97fae43c,
stmtHandle=0x7ffd97fae438, estimatedCost=0x7ffd97fae434,
inputParams=@0x7ffd97fae428: 0x7eb6c0 "\020", inputDesc=0x7ffd97fae410,
outputColumns=@0x7ffd97fae408: 0x7e5cf0 "", outputDesc=0x7ffd97fae3f0)
at ./Interface/odbcs_drvr.cpp:1881
#3 0x00007f4676facf61 in SQLPREPARE_ (srvrCallContext=0x7dc780) at ./cli/netstmt.cpp:78
#4 0x00007f4676faa592 in ThreadControlProc (pParam=0x7dc780) at ./cli/drvrnet.cpp:139
#5 0x00007f4676f91da3 in CStmt::SendSQLCommand (this=0x7dc5a0, SkipProcess=0,
StatementText=0x7ea400 "INSERT INTO SQLBINDPARAM9 VALUES ", TextLength=36)
at ./cli/cstmt.cpp:1353
#6 0x00007f4676f91fce in CStmt::Prepare (this=0x7dc5a0,
StatementText=0x7ea400 "INSERT INTO SQLBINDPARAM9 VALUES ", TextLength=36)
at ./cli/cstmt.cpp:1433
#7 0x00007f4676fba1e4 in ODBC::Prepare (StatementHandle=0x7dc5a0,
StatementText=0x7ea400 "INSERT INTO SQLBINDPARAM9 VALUES ", TextLength=36)
at ./cli/sqlstmt.cpp:169
#8 0x00007f4676fb4a44 in NeoPrepare (StatementHandle=0x7dc5a0,
StatementText=0x559420 "INSERT INTO SQLBINDPARAM9 VALUES ", TextLength=-3, isWideCall=false)
at ./cli/neofunc.cpp:1119
#9 0x00007f4676ffb7c8 in SQLPrepare_common (StatementHandle=0x7dc5a0,
StatementText=0x559420 "INSERT INTO SQLBINDPARAM9 VALUES ", TextLength=-3, isWideCall=false)
at ./DrvrManager/drvrmanager.cpp:2202
#10 0x00007f4676ffb8be in SQLPrepare (StatementHandle=0x7dc5a0,
StatementText=0x559420 "INSERT INTO SQLBINDPARAM9 VALUES ", TextLength=-3)
--Type <return> to continue, or q <return> to quit--
at ./DrvrManager/drvrmanager.cpp:2255
#11 0x000000000042cb5c in TestMXSQLBindParameter (pTestInfo=0x7a9ad0)
at ../../../../src/coast/coast_unified/src/bindpara.c:3256
#12 0x00000000004335d7 in Run21Tests () at ../../../../src/coast/coast_unified/src/COAST.cpp:668
#13 0x000000000043446d in main (argc=14, argv=0x7ffd97fba0c8)
at ../../../../src/coast/coast_unified/src/COAST.cpp:452