Updating CLOB or BLOB via ADO Recordset With 11.2.0.1 ODBC Hangs (Doc ID 1240316.1)

Last updated on JULY 05, 2017

Applies to:

Oracle ODBC Driver - Version: 10.2.0.3 to 11.2.0.1 - Release: 10.2 to 11.2
Microsoft Windows (32-bit)

Symptoms

Updating a CLOB or BLOB via an ADO recordset  and 11.2.0.1.0 Oracle ODBC Driver results in a hang.

A memory dump shows the following stack without symbols:
ntdll!KiFastSystemCallRet
ntdll!ZwWaitForSingleObject+c
kernel32!WaitForSingleObjectEx+a8
kernel32!WaitForSingleObject+12
sqora32!SQLTablesW+bda
sqora32!SQLFreeHandle+3dc
sqora32!SQLFreeHandle+317
sqora32!SQLFreeHandle+20b
sqora32!SQLFreeHandle+c7
sqora32!SQLFreeHandle+53
odbc32!FreeStmt+173
odbc32!SQLFreeStmt+21
msdasql!CODBCHandle::FreeStmt+1e
msdasql!CODBCHandle::ReleaseHstmt+34
msdasql!CCommand::~CCommand+64
msdasql!CCommand::`vector deleting destructor'+d
msdasql!CCommand::Release+27
msdasql!CImpISessionProperties::Release+11
msado15!CQuery::RelCmdInterfaces+65
msado15!CQuery::Close+26
msado15!CQuery::Term+a
msado15!CStdSymbiontObject::ADOUnlock+39
msado15!CCommand::Close+55
<...etc...>

A translated stack with symbols will show up as:

ChildEBP RetAddr Args to Child
0012eea4 7c90df5a 7c8025db 00000494 00000000 ntdll!KiFastSystemCallRet
0012eea8 7c8025db 00000494 00000000 00000000 ntdll!ZwWaitForSingleObject+0xc
0012ef0c 7c802542 00000494 ffffffff 00000000 kernel32!WaitForSingleObjectEx+0xa8
0012ef20 0c6ca2ad 00000494 ffffffff 0c7cbf20 kernel32!WaitForSingleObject+0x12
0012ef58 0c6c9085 0c7c9b5c 01e82e68 0c7c9428 SQORA32!bccAcqExcWrite+0x4d
0012ef74 0c6c8eb9 0c7c9b20 0c7c9428 0c7c9494 SQORA32!bccSQLSetStmtOption+0x315
0012ef90 0c6c8b53 0c7c9428 0c7c8c48 0c7c9494 SQORA32!bccSQLSetStmtOption+0x149
0012efcc 743271a6 0c7c0000 0000271a 0c7c9b20 SQORA32!SQLSetStmtAttrW+0x83
0012eff4 74327274 00000000 0000271a 01e82e68 ODBC32!SetStmtAttr+0x2b5
0012f01c 01e64edc 01e82d90 0000271a 00000000 ODBC32!SQLSetStmtAttrW+0x32
0012f040 01e569e2 01bd4f00 01bba528 01e39378 msdasql!CBindingODBC3::OLEDBAdjustBindings+0xed
0012f060 01e5ab7d 01bba528 01e39378 0c840000 msdasql!CRowset::OLEDBAdjustBindings+0x21
0012f09c 01e5b5a4 0c840000 00000001 01bd6f48 msdasql!CUpdateODBC::Update+0x5b9
0012f0f0 4ca38336 00000000 00000000 00000001 msdasql!CImpIRowsetUpdate::Update+0x44e
0012f120 4de34859 01bbab34 00000000 00000001 msadrh15!CRowsetHelper::Update+0x5f
0012f190 4de3f34c 00000001 01bc9d10 0012f1e8 msado15!CRecordset::_UpdateBatch+0x212
0012f1a0 4de338b4 01bc9d10 01bc9d10 00000000 msado15!CRecordset::ImplicitUpdate+0x26
0012f1e8 4de339c8 00000000 00000000 00000000 msado15!CRecordset::_Update+0xf3
0012f248 0063584f 00000000 0000000a 734535c2 msado15!CRecordset::Update+0x10c

or

ChildEBP RetAddr Args to Child
0013e31c 776d5e8c 7586179c 000003c4 00000000 ntdll!KiFastSystemCallRet
0013e320 7586179c 000003c4 00000000 00000000 ntdll!ZwWaitForSingleObject+0xc
0013e38c 7738f003 000003c4 ffffffff 00000000 KERNELBASE!WaitForSingleObjectEx+0x98
0013e3a4 7738efb2 000003c4 ffffffff 00000000 kernel32!WaitForSingleObjectExImplementation+0x75
0013e3b8 04c0a4ad 000003c4 ffffffff 014670a8 kernel32!WaitForSingleObject+0x12
0013e3f0 04c0193c 0146e6b4 014670a8 0146df68 SQORA32!bccAcqExcWrite+0x4d
0013e40c 04c01c7c 014670a8 0146e678 0146df68 SQORA32!bccSQLFreeDescLckd+0x1c
0013e420 04c01fe5 014670a8 0146df68 0013e47c SQORA32!bccSQLFreeStmtDesc+0x1c
0013e438 04c02271 014670a8 0146df68 00000001 SQORA32!bccSQLFreeStmtLckd+0xe5
0013e450 04c02331 00000002 6ea79144 00000003 SQORA32!bccSQLFreeStmt+0x81
0013e458 6ea79144 00000003 0146df68 00000000 SQORA32!SQLFreeHandle+0x21
0013e47c 6eac8f7f 0030c1d0 00000001 00000010 ODBC32!FreeStmt+0x2e7
0013e4a0 63510228 003084f8 00000001 dd0a5280 ODBC32!SQLFreeStmt+0x62
0013e4d4 634ff42f 021d95e8 00000000 dd0a5354 msdasql!CODBCHandle::ReleaseHstmt+0x68


An ODBC trace will end after a call to ENTER SQLFreeStmt

Changes

Applied the fix for <Bug:8331807>

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms