Connection::Close causes heap corruption?

Connection::Close causes heap corruption?

Post by Terri » Tue, 11 Apr 2000 04:00:00

After my program calls Close() on an ADO connection
and waits 60 seconds (e.g., call Sleep(60000)),
the de* pops up (it's a debug build) with
an exception (user breakpoint called from
code at 0x77f9f9df).

The following message was written to the
output trace window:

Invalid Address specified to RtlFreeHeap( 130000, 164740 )

This seems to happen when ADO removes the
connection from the connection pool.  Immediately
after the exception, if I run "sp_who", the connection is
gone.  The exception occurs 60 seconds after calling
Close(), and 60 seconds is the connection pool's timeout

My program doesn't have any threads executing while
the Sleep is in progress.  I also tried putting a
breakpoint in the code and then suspending the thread
as an alternative to using Sleep.  Same result.

Has anyone seen this before?  I'm running Windows




1. ADO With Win2000 causes Heap corruption?

I'm experiencing difficulties using ADO with VC++ Under WIN2000. A simple
code fragment such as this:

  ADODB::_ConnectionPtr spCnn;

  spCnn.CreateInstance( __uuidof( ADODB::Connection ) );

  spCnn->Open("Provider=OraOLEDB.Oracle;Password=ami;User ID=ami;Data
Source=amidev;", "", "", ADODB::adConnectUnspecified);


causes the program to break unexpectedly while trying to exit at address
77F9F9DF of NTDLL. I've downloaded MDAC 2.5 SP1 and tried to upgrade but the
package fails and claims I already have MDAC 2.5

2. Multimedia Databases

3. Q. DAO close connection causes error!

4. Authentication problems with SQl 7 & 2000

5. HELP: Closing and ReOpening ADO Connection Causes Unspecified error

6. VB DAO <-> Data Control Conflict

7. Connection::Close doesn't actually close connection?

8. Database newbie....

9. Fix for regression caused by heap tuple header changes

10. HEAP memory error when closing _ConnectionPtr

11. Help: DAO in DLL (static link to MFC) causes Heap assert

12. dbsnmp with huge heap causes low swap space