[fpc-devel] Why/how does the compiler have a non-trivial number of memory leaks after over two decades of development?

Sven Barth pascaldragon at googlemail.com
Sat Aug 4 10:36:14 CEST 2018


Am 30.07.2018 um 02:58 schrieb Ben Grasset:
> Call trace for block $000000007CDCDD60 size 416
>   $000000010000DA72
>   $000000010000BF6A
>   $0000000100217BB0  TCGCALLPARANODE__CREATE,  line 146 of ncgcal.pas
>   $0000000100138E6D  TINLINENODE__HANDLE_READ_WRITE, line 1364 of ninl.pas
>   $000000010013F731  TINLINENODE__PASS_TYPECHECK,  line 3268 of ninl.pas
>   $000000010014603C  TYPECHECKPASS_INTERNAL,  line 81 of pass_1.pas
>   $0000000100146188  DO_TYPECHECKPASS_CHANGED,  line 124 of pass_1.pas
>   $00000001001857D0  POSTFIXOPERATORS,  line 1994 of pexpr.pas
> Call trace for block $000000007CCE9EA0 size 256
>   $000000010000DA72
>   $000000010000BF6A
>   $00000001001035B0  TTYPECONVNODE__CREATE_INTERNAL, line 966 of ncnv.pas
>   $0000000100138E48  TINLINENODE__HANDLE_READ_WRITE, line 1365 of ninl.pas
>   $000000010013F731  TINLINENODE__PASS_TYPECHECK,  line 3268 of ninl.pas
>   $000000010014603C  TYPECHECKPASS_INTERNAL,  line 81 of pass_1.pas
>   $0000000100146188  DO_TYPECHECKPASS_CHANGED,  line 124 of pass_1.pas
>   $00000001001857D0  POSTFIXOPERATORS,  line 1994 of pexpr.pas
> Call trace for block $000000007CD23DC0 size 224
>   $000000010000DA72
>   $000000010000BF6A
>   $000000010013341C  TDEREFNODE__CREATE,  line 755 of nmem.pas
>   $0000000100138E2A  TINLINENODE__HANDLE_READ_WRITE, line 1365 of ninl.pas
>   $000000010013F731  TINLINENODE__PASS_TYPECHECK,  line 3268 of ninl.pas
>   $000000010014603C  TYPECHECKPASS_INTERNAL,  line 81 of pass_1.pas
>   $0000000100146188  DO_TYPECHECKPASS_CHANGED,  line 124 of pass_1.pas
>   $00000001001857D0  POSTFIXOPERATORS,  line 1994 of pexpr.pas
> Call trace for block $000000007CCEA040 size 256
>   $000000010000DA72
>   $000000010000BF6A
>   $00000001000FCFCC  TTEMPREFNODE__CREATE,  line 1103 of nbas.pas
>   $0000000100138E0C  TINLINENODE__HANDLE_READ_WRITE, line 1365 of ninl.pas
>   $000000010013F731  TINLINENODE__PASS_TYPECHECK,  line 3268 of ninl.pas
>   $000000010014603C  TYPECHECKPASS_INTERNAL,  line 81 of pass_1.pas
>   $0000000100146188  DO_TYPECHECKPASS_CHANGED,  line 124 of pass_1.pas
>   $00000001001857D0  POSTFIXOPERATORS,  line 1994 of pexpr.pas

FIxed in r39565

> Call trace for block $000000007CEEA050 size 120
>   $000000010000DB6B
>   $00000001000FC14D  TTEMPCREATENODE__CREATE,  line 906 of nbas.pas
>   $0000000100138CFA  TINLINENODE__HANDLE_READ_WRITE, line 1341 of ninl.pas
>   $000000010013F731  TINLINENODE__PASS_TYPECHECK,  line 3268 of ninl.pas
>   $000000010014603C  TYPECHECKPASS_INTERNAL,  line 81 of pass_1.pas
>   $0000000100146188  DO_TYPECHECKPASS_CHANGED,  line 124 of pass_1.pas
>   $00000001001857D0  POSTFIXOPERATORS,  line 1994 of pexpr.pas
>   $0000000100188A4A  FACTOR,  line 3431 of pexpr.pas

Fixed in r39566

Please feel free to report more memory leaks if you find them, but 
report them directly to the bug tracker with an as minimal example as 
possible.

Regards,
Sven



More information about the fpc-devel mailing list