Page 1 of 1

Memory leaks with Version 4.00.41

Posted: Sun Nov 07, 2010 9:09 am
by PStadler
Hello.

In several programs on using fastmm4 leak reports I get memory leaks in connection with XLSReadWriteII. I attach one of the reports, only first lines:

What can be done about it?

Sincerely

Peter


--------------------------------2010/11/7 9:52:08--------------------------------
FastMM has detected an error during a FreeMem operation. The block footer has been corrupted.

The block size is: 116

This block was allocated by thread 0xA40, and the stack trace (return addresses) at the time was:
4046DA [System.pas][System][@GetMem][3693]
64E03D [RecordStorage4.pas][RecordStorage4][TRecordStorageDefault.AddDefRec][1075]
64C54E [RecordStorage4.pas][RecordStorage4][TRecordStorageGlobals.SetDefaultData][554]
6EB275 [XLSReadWriteII4.pas][XLSReadWriteII4][TXLSReadWriteII4.Create][965]
455F24 [Classes.pas][Classes][CreateComponent][7669]
456155 [Classes.pas][Classes][TReader.ReadComponent][7715]
456B44 [Classes.pas][Classes][TReader.ReadProperty][8000]
456406 [Classes.pas][Classes][TReader.ReadDataInner][7781]
456345 [Classes.pas][Classes][TReader.ReadData][7760]
45C942 [Classes][TComponent.ReadState]
507B85 [Controls.pas][Controls][TControl.ReadState][5421]

The block is currently used for an object of class: Unknown

The allocation number is: 549319

The block was previously freed by thread 0xA40, and the stack trace (return addresses) at the time was:
412449 [FastMM4.pas][FastMM4][DebugReallocMem][7016]
404717 [System.pas][System][@ReallocMem][3871]
409421 [System.pas][System][@UStrSetLength][22152]
4095A5 [System.pas][System][@UStrCatN][22487]
5C16AD [siComp][TsiCustomLang.Create]
5DCD00 [siLngLnk][TsiLangLinked.Create]
455F24 [Classes.pas][Classes][CreateComponent][7669]
456155 [Classes.pas][Classes][TReader.ReadComponent][7715]
456B44 [Classes.pas][Classes][TReader.ReadProperty][8000]
456406 [Classes.pas][Classes][TReader.ReadDataInner][7781]
456345 [Classes.pas][Classes][TReader.ReadData][7760]

The current thread ID is 0xA40, and the stack trace (return addresses) leading to this error is:
4046F6 [System.pas][System][@FreeMem][3768]
64BAEF [RecordStorage4.pas][RecordStorage4][TBaseRecordStorage.Clear][310]
64E0EA [RecordStorage4.pas][RecordStorage4][TRecordStorageDefault.Clear][1097]
64C187 [RecordStorage4.pas][RecordStorage4][TRecordStorageGlobals.Clear][437]
44F4C6 [Classes.pas][Classes][TList.Destroy][3507]
64BB23 [RecordStorage4.pas][RecordStorage4][TBaseRecordStorage.Destroy][317]
406C24 [System.pas][System][@BeforeDestruction][12216]
64E163 [RecordStorage4.pas][RecordStorage4][TRecordStorageDefault.Destroy][1108]
40664B [System.pas][System][TObject.Free][11069]
6EB622 [XLSReadWriteII4.pas][XLSReadWriteII4][TXLSReadWriteII4.Destroy][1028]
45C712 [Classes][TComponent.DestroyComponents]

Current memory dump of 256 bytes starting at pointer address 7E44BA10:
5C 00 70 00 68 00 01 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 34 30 30 34 31 00 32 00 7E 00 00 00 69 00 6E 00 65
00 45 00 6E 00 75 00 6D 00 65 00 72 00 61 00 74 00 69 00 6F 00 6E 00 73 00 2E 00 4D 00 61 00 70
00 54 00 79 00 70 00 65 00 3B 00 20 00 63 00 6F 00 6E 00 73 00 74 00 20 00 43 00 6F 00 6C 00 2C
00 20 00 52 00 6F 00 77 00 3A 00 20 00 63 00 61 00 72 00 64 00 69 00 00 77 36 41 76 42 9D E5 77
15 9D E5 77 00 00 00 00 00 00 00 00 00 00 00 00 40 0A 00 00 72 00 00 00 B0 04 02 00 4F A6 3C 4F
\ . p . h . .


4 0 0 4 1 . 2 . ~ . . . i . n . e
. E . n . u . m . e . r . a . t . i . o . n . s . . . M . a . p
. T . y . p . e . ; . . c . o . n . s . t . . C . o . l . ,
. . R . o . w . : . . c . a . r . d . i . . w 6 A v B  å w
.  å w . . . . . . . . . . . . @ . . . r . . . ° . . . O ¦ < O

Re: Memory leaks with Version 4.00.41

Posted: Mon Nov 15, 2010 1:17 pm
by larsa
Hello

This is probably related to the file you are reading, or something in your code. Please send me the excel file that you read.