From: | Eric Hill <Eric(dot)Hill(at)jmp(dot)com> |
---|---|
To: | Nikhil Deshpande <ndeshpande(at)vmware(dot)com>, "pgsql-odbc(at)postgresql(dot)org" <pgsql-odbc(at)postgresql(dot)org> |
Subject: | Re: SQLFreeHandle() takes eons when running debug |
Date: | 2014-12-05 19:15:52 |
Message-ID: | 4fe3a14c740b4dd39e71da188cc8fcec@MERCMBX41R.na.SAS.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
That solved it! Thanks, Nikhil!
Eric
-----Original Message-----
From: pgsql-odbc-owner(at)postgresql(dot)org [mailto:pgsql-odbc-owner(at)postgresql(dot)org] On Behalf Of Nikhil Deshpande
Sent: Friday, December 05, 2014 2:02 PM
To: pgsql-odbc(at)postgresql(dot)org
Subject: Re: [ODBC] SQLFreeHandle() takes eons when running debug
On 12/5/14 10:56 AM, Eric Hill wrote:
> Not sure how this could be the PostgreSQL ODBC driver's fault, but
> when I run a debug build of my application, calls to SQLFreeHandle()
> to free a statement can have for quite a long time (we're talking a
> minute or
> two) before proceeding. This is Windows, 64-bit Unicode, version
> 9.03.03 of the PG ODBC driver. The call stack looks like this when paused:
>
> ntdll.dll!RtlCompareMemoryUlong() + 0x10 bytes
>
> ntdll.dll!RtlpFreeHeap() + 0x113f bytes
>
> ntdll.dll!RtlFreeHeap() + 0x1df bytes
>
> ntdll.dll!RtlDebugFreeHeap() + 0x23f bytes
>
> ntdll.dll!RtlpFreeHeap() + 0x7d5b7 bytes
>
> ntdll.dll!RtlFreeHeap() + 0x1df bytes
>
> msvcr100.dll!free() + 0x1c bytes
>
> psqlodbc35w.dll!00007ff97bc7c827()
>
> [Frames below may be incorrect and/or missing, no
> symbols loaded for psqlodbc35w.dll]
>
> psqlodbc35w.dll!00007ff97bc7656b()
>
> psqlodbc35w.dll!00007ff97bc76044()
>
> psqlodbc35w.dll!00007ff97bc761c7()
>
> psqlodbc35w.dll!00007ff97bc88781()
>
> psqlodbc35w.dll!00007ff97bc66bda()
>
> odbc32.dll!FreeStmt() + 0x2c5 bytes
>
> odbc32.dll!SQLFreeHandle() + 0x2a0 bytes
>
> > Jmp.exe!DBContext::freeStmt(void * &
> hstmt=0x000000001f032030) Line 1644 + 0x14 bytes C++
>
> Running a release build, no such delay. We don't see anything like
> this for SQL Server, Oracle, DB2, Teradata, or MySQL ODBC drivers.
> Anyone run into this before that can suggest a fix or workaround?
Perhaps this might be relevant (setting _NO_DEBUG_HEAP=1 env var to skip heap validation):
http://stackoverflow.com/a/18753164
Thanks,
Nikhil
--
Sent via pgsql-odbc mailing list (pgsql-odbc(at)postgresql(dot)org) To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-odbc
From | Date | Subject | |
---|---|---|---|
Next Message | Rasna T | 2014-12-09 11:09:13 | Release notes for psqlODBC 09.03.0400 |
Previous Message | Nikhil Deshpande | 2014-12-05 19:01:50 | Re: SQLFreeHandle() takes eons when running debug |