Re: AnyDAC 1.4.2 - freeware Oracle, MySQL, MSSQL, MSAccess, Sybase ASA, ADS data access framework
- From: "Dmitry Arefiev [gs-soft.ru]" <darefiev@xxxxxxxxxx>
- Date: Tue, 23 May 2006 01:34:31 +0400
Hello !
Indy not cleaning up the TCriticalSection
it creates in the Initialization section of IdComponent.pas
That is "controllable" leak. Indy source code has appropriate
comment about that. So, dont warry about that.
The reason I think it is due to this is because when I do
these simple steps in IDE, I get an error:
You can try following:
- open daAD.inc
- find {.$define AnyDAC_DEBUG} and define AnyDAC_DEBUG
- open daADDxx.bdsgroup
- recompile all packages
If error is gone, then it was due to (either either) conflict of
FastMM with Fastcode project code, I am using in AnyDAC.
BTW, I am using probably outdated Fastcode code.
If all you're doing is some basic TCP/IP communication,
could you not consider something other than Indy --such
as ICS, Synapse etc., please.
AnyDAC uses Indy as the transport for monitoring facility.
(BTW, that allows to run application on one PC and monitor
on another). The most annoying problem with Indy is changes
in packet names.
Regards,
Dmitry
--
Dmitry Arefiev - www.da-soft.com
AnyDAC - Oracle, MySQL, MSSQL, MSAccess, IBM DB2, Sybase
ASA, DbExpress, ODBC freeware data access framework
gs-soft AG - www.gs-soft.com
SAPx - Delphi to SAP R/3 direct access
Saphir - SAP R/3 metadata at your fingertips
MetaBase - ERWIN model in Delphi applications
Adem wrote:
I can confirm this.
Well, I looked into it a little further, and I think it's
due to that !@#$%^ Indy not cleaning up the TCriticalSection
it creates in the Initialization section of IdComponent.pas
The reason I think it is due to this is because when I do
these simple steps in IDE, I get an error:
-- Load ADAdministrator.dpr in the Tools folder
-- Compile it with FastMM4 FullDebugMode and EnableMemoryLeakReporting
enabled
-- Run ADAdministrator.exe in IDE
-- Do nothing, but simply exit ADAdministrator
you get this report (below).
Dimitry,
If all you're doing is some basic TCP/IP communication,
could you not consider something other than Indy --such
as ICS, Synapse etc., please.
Cheers,
Adem
--------------------------------------
FastMM4 Report:
--------------------------------------
A memory block has been leaked. The size is: 28
Stack trace of when this block was allocated (return addresses):
402A97 [system.pas][System][@GetMem][2447]
403847 [system.pas][System][TObject.NewInstance][8368]
403C0E [system.pas][System][@ClassCreate][9027]
44816A [SyncObjs.pas][SyncObjs][TCriticalSection.Create][194]
4043F7 [system.pas][System][@InitResStringImports][11129]
50C51F [IdComponent.pas][IdComponent][initialization][185]
404350 [system.pas][System][InitUnits][10853]
4043B7 [system.pas][System][@StartExe][10918]
406C2F [SysInit.pas][SysInit][@InitExe][668]
The block is currently used for an object of class: TCriticalSection
The allocation number is: 540
Current memory dump of 256 bytes starting at pointer address 1D9C3C8:
04 80 44 00 68 A3 14 00 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 C6 1D CF FB
00 00 00 00 81 C4 D9 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3A
02 00 00 97 2A 40 00
47 38 40 00 0E 3C 40 00 F3 7B 4E 00 50 38 40 00 0E 3C 40 00 6F 7C 4E 00 F7
87 53 00 89 88 53 00
B7 2A 40 00 65 38 40 00 59 3C 40 00 B0 B1 42 00 AB 38 40 00 BC 6C 41 00 AB
7C 4E 00 AB 38 40 00
BC 6C 41 00 1C 00 00 00 88 6C 4E 00 98 67 02 07 80 6C 61 00 80 80 80 80 80
80 80 80 80 80 80 80
80 80 80 80 80 80 80 80 80 80 80 80 67 98 FD F8 00 00 00 00 11 C5 D9 01 00
00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 42 02 00 00 97 2A 40 00 47 38 40 00 0E 3C 40 00 4E
27 4E 00 6B 64 40 00
40 16 5A 00 50 43 40 00 B7 43 40 00 2F 6C 40 00 B7 2A 40 00 65 38 40 00 59
3C 40 00 9E 38 40 00
. ? D . h £ . . ÿ ÿ ÿ ÿ . . . . . . . . . . . . .
. . . Æ . Ï û
. . . . ? Ä Ù . . . . . . . . . . . . . . . . . :
. . . - * @ .
G 8 @ . . < @ . ó { N . P 8 @ . . < @ . o | N . ÷
? S . ? ^ S .
· * @ . e 8 @ . Y < @ . ° ± B . « 8 @ . ¼ l A . «
N . « 8 @ .¼ l A . . . . . ^ l N . ~ g . . ? l a . ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? g ~ i ø . . . . . Å Ù . .
. . . . . . .
. . . . . . . . B . . . - * @ . G 8 @ . . < @ . N
' N . k d @ .
@ . Z . P C @ . · C @ . / l @ . · * @ . e 8 @ . Y
< @ . ? 8 @ .
--------------------------------
This application has leaked memory. The small block leaks are (excluding
expected leaks registered by pointer):
21 - 28 bytes: TCriticalSection x 1
.
- References:
- Ann: AnyDAC 1.4.2 - freeware Oracle, MySQL, MSSQL, MSAccess, Sybase ASA, ADS data access framework
- From: Dmitry Arefiev
- Re: AnyDAC 1.4.2 - freeware Oracle, MySQL, MSSQL, MSAccess, Sybase ASA, ADS data access framework
- From: Andrew
- Re: AnyDAC 1.4.2 - freeware Oracle, MySQL, MSSQL, MSAccess, Sybase ASA, ADS data access framework
- From: Adem
- Re: AnyDAC 1.4.2 - freeware Oracle, MySQL, MSSQL, MSAccess, Sybase ASA, ADS data access framework
- From: Adem
- Ann: AnyDAC 1.4.2 - freeware Oracle, MySQL, MSSQL, MSAccess, Sybase ASA, ADS data access framework
- Prev by Date: Re: AnyDAC 1.4.2 - freeware Oracle, MySQL, MSSQL, MSAccess, Sybase ASA, ADS data access framework
- Next by Date: Re: AnyDAC 1.4.2 - freeware Oracle, MySQL, MSSQL, MSAccess, Sybase ASA, ADS data access framework
- Previous by thread: Re: AnyDAC 1.4.2 - freeware Oracle, MySQL, MSSQL, MSAccess, Sybase ASA, ADS data access framework
- Next by thread: Re: AnyDAC 1.4.2 - freeware Oracle, MySQL, MSSQL, MSAccess, Sybase ASA, ADS data access framework
- Index(es):
Relevant Pages
|