QueryInterface failure

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Post Reply
Frans
Posts: 9
Joined: Thu 04 Nov 2004 17:56

QueryInterface failure

Post by Frans » Mon 19 Dec 2005 14:10

Once in a while I get:
Unhandled Exception: System.InvalidCastException: QueryInterface for interface a.b.b failed.
at a.b.b.a(Int32& A_0)
at CoreLab.Common.DbMonitor.a(Object A_0, MonitorEventArgs A_1)
at CoreLab.Common.DbMonitor.a(DbMonitor A_0, MonitorTracePoint A_1, DbConnectionInternal A_2)
at CoreLab.Oracle.OracleMonitor.a(MonitorTracePoint A_0, OracleInternalConnection A_1)
at CoreLab.Oracle.OracleInternalConnection.a(Boolean A_0)
at CoreLab.Common.DbConnectionInternal.Dispose()
at CoreLab.Common.DbConnectionPoolGroup.c(Object A_0)
at CoreLab.Common.DbConnectionPool.RemoveObject(Object connection)
at CoreLab.Common.DbConnectionPoolGroup.a(DbConnectionPool A_0)
at CoreLab.Common.DbConnectionPoolGroup.b(Object A_0)
I am using version 3.0.0.0 with 8.1.7.4 server and an 8.1 client.

TIA
Frans

Paul
Posts: 725
Joined: Thu 28 Oct 2004 14:06

Post by Paul » Tue 20 Dec 2005 07:30

OraDirect .NET 3.0.0.0 has the problems with DbMonitor that we fixed in the last builds. Please try OraDirect .NET 3.01.5.

Frans
Posts: 9
Joined: Thu 04 Nov 2004 17:56

Post by Frans » Thu 22 Dec 2005 12:59

I updated to 3.1.5.0 and am still getting periodic errors:
An unhandled exception of type 'System.InvalidCastException' occurred in corelab.oracle.dll

Additional information: QueryInterface for interface a.b.b failed.

Apparently less debug info is being shown in the new version.

Here is the disassembly of CoreLab.Common.DbMonitor.a:
00000000 push ebp
00000001 mov ebp,esp
00000003 sub esp,28h
00000006 push edi
00000007 push esi
00000008 push ebx
00000009 xor eax,eax
0000000b mov dword ptr [ebp-0Ch],eax
0000000e mov esi,ecx
00000010 mov ebx,edx
00000012 mov edi,dword ptr [ebp+8]
00000015 cmp dword ptr [esi+18h],0
00000019 je 00000087
0000001b mov ecx,dword ptr [esi+18h]
0000001e lea edx,[ebp-0Ch]
00000021 mov eax,dword ptr [ecx]
00000023 mov eax,dword ptr [eax+0Ch]
00000026 mov eax,dword ptr [eax+0000026Ch]
0000002c call dword ptr [eax+8]
0000002f cmp dword ptr [ebp-0Ch],0
00000033 je 00000087
00000035 mov dword ptr [ebp-10h],esi
00000038 mov ecx,edi
0000003a cmp dword ptr [ecx],ecx
0000003c call dword ptr ds:[0D1B95D4h]
The problem ocurs at 0000002f.
I hope you can help.

TIA
Frans

Post Reply