Oracle ODBC Access Violations
459033Sep 7 2007 — edited Nov 20 2007Encountering repeated, nondeterministic, release-only crashes in Oracle DLLs. Here are two dumps from different environments, but the same application and data. Don't suppose these look familiar to anyone? Any hints or even some debugging tips appreciated.
*******************************************************************************************
Dump #1
Windows 2000, Oracle client 9.2.0.1, Oracle ODBC driver 9.2.0.8 ... Oracle 9i server.
STACK_TEXT:
WARNING: Frame IP not in any known module. Following frames may be wrong.
001297dc 60535473 03cd03ac 03cd1ff4 00000000 0x0
0012a024 6149387d 03cd1ff4 00000000 03cd1ff4 oracommon9!ttcdrv+0x1fb3
0012a03c 606e550e 03cd0450 00000000 607323c2 oran9!nioqwa+0x2d
0012bce4 606a568d 00cd03ac 0000004e 03cd1f28 OraClient9!xaolog+0x2ef6e
0012bd18 60693e57 03cd03ac 0000004e 03cd1f28 OraClient9!upirtr+0xbd
0012bd54 606747d0 03ccfd00 0000004e 03cd1f28 OraClient9!kpurcs+0x97
0012da1c 60675a20 03ccfd00 03d3236c 03cd3034 OraClient9!kpuexInitStmh+0x1a10
0012da78 60601bda 03ccfd00 01d3236c 03d331d4 OraClient9!kpuexec+0xba0
0012daa4 038e6d57 03ccfd00 03d3236c 03d331d4 OraClient9!OCIStmtExecute+0x2a
0012dacc 0388ae10 03ccfd00 03d3236c 03d331d4 oci!OCIStmtExecute+0x37
0012db48 038749e1 03cc7b54 00000000 03cc7b54 SQORA32!SQLTablesW+0x11460
0012db5c 038748a1 03cc7b54 00000000 00000000 SQORA32!SQLExecute+0x201
0012db80 0042d78b 03cc7b54 00000000 00000004 SQORA32!SQLExecute+0xc1
0012db9c 1f821cbc 00000001 00000004 03d33b20 ODBC32!SQLExecute+0xd1
0012dbac 1f8261e8 032f3b90 00000000 03d33b20 ODBCCR32!CurSQLExecute+0x14
0012dbc8 1f825014 03d33b20 1f821ca8 032f3b90 ODBCCR32!CSql::SubmitSql+0x1b0
0012dbd8 1f827130 03d33b20 00000000 032f3b90 ODBCCR32!CSql::Execute+0x39
0012dc0c 0042d78b 032f3b90 00000000 7800b6eb ODBCCR32!CLExecute+0x32
0012dc28 6c399667 00000000 00a01390 00a01390 ODBC32!SQLExecute+0xd1
0012dc58 132003bc 03cd74a0 0012dd18 134cdde8 MFC42!Ordinal5658+0x88
0012dc64 134cdde8 00a01390 00a01390 ffffffff exstrDatabaseB!dRecordset::Requery+0x1a
...
STACK_COMMAND: ~0s; .ecxr ; kb
FAULTING_THREAD: 00000cc0
FOLLOWUP_IP:
oracommon9!ttcdrv+1fb3
60535473 83c40c add esp,0Ch
SYMBOL_STACK_INDEX: 1
SYMBOL_NAME: oracommon9!ttcdrv+1fb3
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: oracommon9
IMAGE_NAME: oracommon9.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 3ccc81ce
FAILURE_BUCKET_ID: ACCESS_VIOLATION_NULL_IP_oracommon9!ttcdrv+1fb3
BUCKET_ID: ACCESS_VIOLATION_NULL_IP_oracommon9!ttcdrv+1fb3
Loaded symbol image file: oracommon9.dll
Image path: C:\oracle\ora92\bin\oracommon9.dll
Image name: oracommon9.dll
Timestamp: Sun Apr 28 19:12:14 2002 (3CCC81CE)
CheckSum: 000955B5
ImageSize: 00090000
File version: 0.0.0.0
Product version: 0.0.0.0
File flags: 0 (Mask 0)
File OS: 0 Unknown Base
File type: 0.0 Unknown
File date: 00000000.00000000
Translations: 0409.04b0
CompanyName: Oracle Corporation
OriginalFilename: oracommon9.dll
FileVersion: 9.2.0.1.0 Production
FileDescription: Oracle RDBMS Common Library
Loaded symbol image file: SQORA32.dll
Image path: C:\oracle\ora92\bin\SQORA32.dll
Image name: SQORA32.dll
Timestamp: Wed Dec 13 06:04:48 2006 (457FDE50)
CheckSum: 00000000
ImageSize: 0006E000
File version: 9.2.0.80
Product version: 9.2.0.80
File flags: 0 (Mask 3F)
File OS: 40004 NT Win32
File type: 2.0 Dll
File date: 00000000.00000000
Translations: 0409.04e4
CompanyName: Oracle Corporation
ProductName: Oracle ODBC Driver
ProductVersion: 9.2.0.8.0
FileVersion: 9.2.0.8.0
FileDescription: Oracle ODBC Driver for (Windows XP/2000/NT/98)
LegalCopyright: Copyright © 1996,2004, Oracle. All rights reserved.
LegalTrademarks: Oracle ® is a registered trademark of Oracle Corporation.
*******************************************************************************************
Dump #2 - Windows XP, Oracle client 10.1.0.2.0, Oracle ODBC driver 10.1.0.2.0, Oracle 9i server
FAULTING_IP:
ORANLS10!lxsCntByte+4c8
612ef6e8 f2ae repne scas byte ptr es:[edi]
(edi starts off pointing to text that is not null-terminated... so the repne scas results in an access violation.)
STACK_TEXT:
WARNING: Stack unwind information not available. Following frames may be wrong.
001398bc 031e915f 0b5f3884 ffffffff 0000077a ORANLS10!lxsCntByte+0x4c8
001398dc 0397e48f 0b5f3884 ffffffff 0000077a oci!lxsCntByte+0x2f
00139920 0398e88c 0b3e0c4c 0000077a 0b32f75c sqora32!SQLTablesW+0x14b9f
00139994 0398f3cc 0b5f3884 0b3e0c4c 0b3e0c4c sqora32!SQLTablesW+0x24f9c
00139a00 0398bb24 0b3e0c4c 043df1b4 043df1b4 sqora32!SQLTablesW+0x25adc
00139a24 0398b99f 00000001 00000000 00000000 sqora32!SQLTablesW+0x22234
00139a68 0397c39e 00000001 00000000 00000000 sqora32!SQLTablesW+0x220af
00139acc 0397b8d6 0b3e0c4c 00000000 00000000 sqora32!SQLTablesW+0x12aae
00139afc 03964a9d 0b3e0c4c 00000000 02a72938 sqora32!SQLTablesW+0x11fe6
00139b14 7434c70d 0b3e0c4c 00000000 043e0c90 sqora32!SQLFetch+0x9d
00139b2c 4baa1f9f 74350000 00000000 00000001 odbc32!SQLFetch+0x160
00139b40 4baa3597 02a780e8 00000000 043e0c90 odbccr32!CurSQLFetch+0x2b
00139bac 4baa5008 043e0c90 00000000 02d80d20 odbccr32!CCursor::FetchFromDriver+0xb6
00139bf0 4baa8b16 043e0c90 00000000 00000001 odbccr32!CCachedCursor::Fetch+0xfb
00139c38 7432868f 02a780e8 0ad70001 00000001 odbccr32!CLExtendedFetch+0x79
00139c60 5f7079f6 74350000 0ad70001 00000001 odbc32!SQLExtendedFetch+0xc7
00139c90 5f704478 00000001 00000001 02d80d20 MFCD42D!Ordinal549+0xa3
00139cb8 019b627e 00000001 00000001 00139ddc MFCD42D!Ordinal790+0x130
00139d18 5f70b749 00000001 00000001 00139ddc ExstrOdbcObjectStoreD!Printer_rs::Requery+0xeaf31
00139d38 5f705ab3 00139ddc 00139de4 00000000 MFCD42D!Ordinal796+0x3c
00139d84 019b62e3 00139ec8 00139de4 00000000 MFCD42D!Ordinal841+0x221
00139ddc 01927b3a 00139f1c 00139ef8 00000000 ExstrOdbcObjectStoreD!Printer_rs::Requery+0xeaf96
...
STACK_COMMAND: ~0s; .ecxr ; kb
FAULTING_THREAD: 000008d0
FOLLOWUP_IP:
ORANLS10!lxsCntByte+4c8
612ef6e8 f2ae repne scas byte ptr es:[edi]
SYMBOL_STACK_INDEX: 0
SYMBOL_NAME: ORANLS10!lxsCntByte+4c8
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: ORANLS10
IMAGE_NAME: ORANLS10.DLL
DEBUG_FLR_IMAGE_TIMESTAMP: 40165d81
FAILURE_BUCKET_ID: ACCESS_VIOLATION_ORANLS10!lxsCntByte+4c8
BUCKET_ID: ACCESS_VIOLATION_ORANLS10!lxsCntByte+4c8
Loaded symbol image file: ORANLS10.DLL
Image path: C:\Oracle\product\10.1.0\Client_1\BIN\ORANLS10.DLL
Image name: ORANLS10.DLL
Timestamp: Tue Jan 27 07:45:53 2004 (40165D81)
CheckSum: 0009AFFB
ImageSize: 00092000
File version: 10.1.0.2
Product version: 0.0.0.0
File flags: 0 (Mask 0)
File OS: 0 Unknown Base
File type: 2.0 Dll
File date: 00000000.00000000
Translations: 0409.04b0
CompanyName: Oracle Corporation
OriginalFilename: oranls10.dll
FileVersion: 10.1.0.2.0 Production
FileDescription: Oracle NLS Runtime Library
LegalCopyright: Copyright Oracle 1979, 2004. All rights reserved.
Loaded symbol image file: sqora32.dll
Image path: C:\Oracle\product\10.1.0\Client_1\BIN\sqora32.dll
Image name: sqora32.dll
Timestamp: Tue Feb 10 12:53:31 2004 (40291A9B)
CheckSum: 00000000
ImageSize: 00068000
File version: 10.1.0.2
Product version: 10.1.0.2
File flags: 0 (Mask 3F)
File OS: 40004 NT Win32
File type: 2.0 Dll
File date: 00000000.00000000
Translations: 0409.04e4
CompanyName: Oracle Corporation
ProductName: Oracle ODBC Driver
ProductVersion: 10.1.0.2.0
FileVersion: 10.1.0.2.0
FileDescription: Oracle ODBC Driver for (Windows XP/2000/NT/98)
LegalCopyright: Copyright © 1996,2003, Oracle. All rights reserved.
LegalTrademarks: Oracle ® is a registered trademark of Oracle Corporation.