FCL-Web: TUploadedFile causing memory leak?
Original Reporter info from Mantis: silvioprog
-
Reporter name: silvioprog
Original Reporter info from Mantis: silvioprog
- Reporter name: silvioprog
Description:
Hello,
I'm trying to handle the stream of uploaded files, and after, deleting all the temporary files, but it is causing memory leak.
Can you test a small project in attached? Is very easy to test it (please see comments in source too):
compile the projet;
move the executable to your HTTP web server;
call the "http://localhost/cgi-bin/upload" in your browser;
upload a file and see the content generated in HEAP.TRC file;
My HEAP.TRC content is:
===========================
C:\websrv\cgi-bin\upload
Heap dump by heaptrc unit
1312 memory blocks allocated : 393814/399200
1288 memory blocks freed : 350635/355952
24 unfreed memory blocks : 43179
True heap size : 1212416 (80 used in System startup)
True free heap : 1167248
Should be : 1167552
Call trace for block $001F27A0 size 32
$0042CDA5
$0040168E main, line 14 of project1.lpr
$0040EA6F
$0042CD91
$0040168E main, line 14 of project1.lpr
$0040EA6F
$0040168E main, line 14 of project1.lpr
$0040EA6F
Call trace for block $001F2880 size 32
$0041E6ED
$0041EBA8
$0042BDA1
$0042BACD
$0042B99B
$0042CD91
$0040168E main, line 14 of project1.lpr
$0040EA6F
Call trace for block $018A80B8 size 105
$0042A6C5
$0042BDA1
$0042BACD
$0042B99B
$0042CD91
$0040168E main, line 14 of project1.lpr
$0040EA6F
Call trace for block $001EB868 size 16
$0040A868
$0041BEDB
$0042A697
$0042BDA1
$0042BACD
$0042B99B
$0042CD91
$0040168E main, line 14 of project1.lpr
Call trace for block $00202440 size 64
$0041BEDB
$0042A697
$0042BDA1
$0042BACD
$0042B99B
$0042CD91
$0040168E main, line 14 of project1.lpr
$0040EA6F
Call trace for block $002BA9F0 size 126
$00419C61 TUPLOADREQUEST__GETTEMPUPLOADFILENAME, line 65 of uploads.pas
$0042BEDA
$0042AA56
$0042A697
$0042BDA1
$0042BACD
$0042B99B
$0042CD91
Call trace for block $001EBAA8 size 23
$00429C17
$00429A59
$0042AD59
$0042BD87
$0042BACD
$0042B99B
$0042CD91
$0040168E main, line 14 of project1.lpr
Call trace for block $018A00B0 size 100
$00429C17
$00429A59
$0042AD59
$0042BD87
$0042BACD
$0042B99B
$0042CD91
$0040168E main, line 14 of project1.lpr
Call trace for block $001EB9E8 size 17
$00429C17
$00429A59
$0042AD59
$0042BD87
$0042BACD
$0042B99B
$0042CD91
$0040168E main, line 14 of project1.lpr
Call trace for block $001EB988 size 22
$00429C17
$00429A59
$0042AD59
$0042BD87
$0042BACD
$0042B99B
$0042CD91
$0040168E main, line 14 of project1.lpr
Call trace for block $0186B108 size 41845
$0042B3E7
$0042D4D9
$0042BA67
$0042B99B
$0042CD91
$0040168E main, line 14 of project1.lpr
$0040EA6F
Call trace for block $0020A388 size 48
$0042CD7D
$0040168E main, line 14 of project1.lpr
$0040EA6F
Call trace for block $001EB6E8 size 23
$0042CD7D
$0040168E main, line 14 of project1.lpr
$0040EA6F
$0040168E main, line 14 of project1.lpr
$0040EA6F
Call trace for block $002BAAC0 size 121
$0042CD7D
$0040168E main, line 14 of project1.lpr
$0040EA6F
Call trace for block $0020A308 size 44
$0042CD7D
$0040168E main, line 14 of project1.lpr
$0040EA6F
Call trace for block $001F2730 size 30
$0042CD7D
$0040168E main, line 14 of project1.lpr
$0040EA6F
$0040EA6F
$0040EA6F
Call trace for block $0021A358 size 81
$0042CD7D
$0040168E main, line 14 of project1.lpr
$0040EA6F
Call trace for block $001EB688 size 18
$0042CD7D
$0040168E main, line 14 of project1.lpr
$0040EA6F
$0040168E main, line 14 of project1.lpr
$0040EA6F
Call trace for block $001EB628 size 16
$0041BDDD
$0042AF18
$0042CE85
$00419CDB TUPLOADHANDLER__CREATEREQUEST, line 82 of uploads.pas
$0042CD5C
$0040168E main, line 14 of project1.lpr
$0040EA6F
Call trace for block $001F25E0 size 36
$0042AF18
$0042CE85
$00419CDB TUPLOADHANDLER__CREATEREQUEST, line 82 of uploads.pas
$0042CD5C
$0040168E main, line 14 of project1.lpr
$0040EA6F
Call trace for block $002023B0 size 68
$0042A29E
$0042AE32
$0042CE85
$00419CDB TUPLOADHANDLER__CREATEREQUEST, line 82 of uploads.pas
$0042CD5C
$0040168E main, line 14 of project1.lpr
$0040EA6F
Call trace for block $00202320 size 68
$0042A289
$0042AE32
$0042CE85
$00419CDB TUPLOADHANDLER__CREATEREQUEST, line 82 of uploads.pas
$0042CD5C
$0040168E main, line 14 of project1.lpr
$0040EA6F
Call trace for block $00202290 size 68
$0042A274
$0042AE32
$0042CE85
$00419CDB TUPLOADHANDLER__CREATEREQUEST, line 82 of uploads.pas
$0042CD5C
$0040168E main, line 14 of project1.lpr
$0040EA6F
Call trace for block $0022A228 size 176
$00419CDB TUPLOADHANDLER__CREATEREQUEST, line 82 of uploads.pas
$0042CD5C
$0040168E main, line 14 of project1.lpr
$0040EA6F
===========================
Thank you!
Mantis conversion info:
- Mantis ID: 24746
- Fixed in version: 3.0.0
- Fixed in revision: 25101 (#de8f4e37)
- Target version: 3.0.0