fpmake memory leak
Original Reporter info from Mantis: BigChimp
-
Reporter name: Reinier Olislagers
Original Reporter info from Mantis: BigChimp
- Reporter name: Reinier Olislagers
Description:
When compiing fpcmake with -gh, memory leaks show up.
fpcmake --help gives this:
Usage: C:\Development\fpctrunk\packages\fpmake.exe command [options]
...
Heap dump by heaptrc unit
493 memory blocks allocated : 19843/21408
487 memory blocks freed : 19518/21064
6 unfreed memory blocks : 325
True heap size : 327680 (112 used in System startup)
True free heap : 326784
Should be : 326840
Call trace for block $001B6FF8 size 81
$0046460A REALLOCMEM, line 342 of C:/development/fpctrunk/rtl/inc/heap.inc
$0045F2C1 fpc_ansistr_setlength, line 776 of C:/development/fpctrunk/rtl/inc/astrings.inc
$0045E875 fpc_ansistr_concat, line 247 of C:/development/fpctrunk/rtl/inc/astrings.inc
$004844D8 FORMAT, line 239 of C:/development/fpctrunk/rtl/objpas/sysutils/sysformt.inc
$00485716 FORMAT, line 924 of C:/development/fpctrunk/rtl/objpas/sysutils/sysstr.inc
$00476899 TCUSTOMINSTALLER__USAGE, line 4238 of src/fpmkunit.pp
$00475ADE TCUSTOMINSTALLER__ANALYZEOPTIONS, line 4145 of src/fpmkunit.pp
$0047537C TCUSTOMINSTALLER__CREATE, line 3920 of src/fpmkunit.pp
Call trace for block $001A7048 size 56
$0045E557 NEWANSISTRING, line 99 of C:/development/fpctrunk/rtl/inc/astrings.inc
$0045F250 fpc_ansistr_setlength, line 766 of C:/development/fpctrunk/rtl/inc/astrings.inc
$0045EE62 fpc_shortstr_to_ansistr, line 478 of C:/development/fpctrunk/rtl/inc/astrings.inc
$0046D42A PARAMSTR, line 231 of ../objpas/objpas.pp
$0047687A TCUSTOMINSTALLER__USAGE, line 4238 of src/fpmkunit.pp
$00475ADE TCUSTOMINSTALLER__ANALYZEOPTIONS, line 4145 of src/fpmkunit.pp
$0047537C TCUSTOMINSTALLER__CREATE, line 3920 of src/fpmkunit.pp
$0047726A TFPCINSTALLER__CREATE, line 4368 of src/fpmkunit.pp
Call trace for block $001883C8 size 20
$0045E557 NEWANSISTRING, line 99 of C:/development/fpctrunk/rtl/inc/astrings.inc
$0045F250 fpc_ansistr_setlength, line 766 of C:/development/fpctrunk/rtl/inc/astrings.inc
$0045EBE2 fpc_ansistr_concat_multi, line 354 of C:/development/fpctrunk/rtl/inc/astrings.inc
$00476787 CHECKOPTION, line 4016 of src/fpmkunit.pp
$00475AC6 TCUSTOMINSTALLER__ANALYZEOPTIONS, line 4144 of src/fpmkunit.pp
$0047537C TCUSTOMINSTALLER__CREATE, line 3920 of src/fpmkunit.pp
$0047726A TFPCINSTALLER__CREATE, line 4368 of src/fpmkunit.pp
$004823FD INSTALLER, line 7475 of src/fpmkunit.pp
Call trace for block $001882A8 size 16
$00461AC6 TOBJECT__NEWINSTANCE, line 355 of C:/development/fpctrunk/rtl/inc/objpas.inc
$004618FF TOBJECT__CREATE, line 276 of C:/development/fpctrunk/rtl/inc/objpas.inc
$0047534D TCUSTOMINSTALLER__CREATE, line 3918 of src/fpmkunit.pp
$0047726A TFPCINSTALLER__CREATE, line 4368 of src/fpmkunit.pp
$004823FD INSTALLER, line 7475 of src/fpmkunit.pp
$00482430 INSTALLER, line 7482 of src/fpmkunit.pp
$00401769 ADD_A52, line 3 of fpmake_proc.inc
$00459A76 main, line 1 of fpmake_add.inc
Call trace for block $0019EFD0 size 68
$00461AC6 TOBJECT__NEWINSTANCE, line 355 of C:/development/fpctrunk/rtl/inc/objpas.inc
$004618FF TOBJECT__CREATE, line 276 of C:/development/fpctrunk/rtl/inc/objpas.inc
$00475338 TCUSTOMINSTALLER__CREATE, line 3917 of src/fpmkunit.pp
$0047726A TFPCINSTALLER__CREATE, line 4368 of src/fpmkunit.pp
$004823FD INSTALLER, line 7475 of src/fpmkunit.pp
$00482430 INSTALLER, line 7482 of src/fpmkunit.pp
$00401769 ADD_A52, line 3 of fpmake_proc.inc
$00459A76 main, line 1 of fpmake_add.inc
Call trace for block $001B6F58 size 84
$00461AC6 TOBJECT__NEWINSTANCE, line 355 of C:/development/fpctrunk/rtl/inc/objpas.inc
$00477202 TFPCINSTALLER__CREATE, line 4364 of src/fpmkunit.pp
$004823FD INSTALLER, line 7475 of src/fpmkunit.pp
$00482430 INSTALLER, line 7482 of src/fpmkunit.pp
$00401769 ADD_A52, line 3 of fpmake_proc.inc
$00459A76 main, line 1 of fpmake_add.inc
$0046951F EXE_ENTRY, line 222 of system.pp
Additional information:
This is a bigger problem because compiling FPC with an fpcmake compiled with -gh will lead to a huge amount of memory leak output running e.g. make distclean
Mantis conversion info:
- Mantis ID: 23470
- OS: Windows
- OS Build: Vista
- Build: r
- Platform: x64 (with x86 compiler)
- Version: 2.7.1
- Fixed in version: 3.0.0
- Fixed in revision: 23203 (#a929eb36)