[Home]

Summary:ASTERISK-13869: unfreed memory in ast_frdup() in frame.c
Reporter:caspy (caspy)Labels:
Date Opened:2009-03-31 14:27:31Date Closed:2009-06-08 11:15:39
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:*CLI> memory show summary frame.c
    48504 bytes in 3 allocations in function 'ast_smoother_new' of 'frame.c'
   829988 bytes (    829988 cache) in 3795 allocations in function 'ast_frdup' of 'frame.c'
878492 bytes allocated (829988 in caches) in 3798 allocations


# rasterisk -x 'memory show allocations frame.c' | sort | uniq -c | sort -rn
  1802        128 bytes allocated (cache) in            ast_frdup at line   461 of frame.c
  1747        299 bytes allocated (cache) in            ast_frdup at line   461 of frame.c
   215        292 bytes allocated (cache) in            ast_frdup at line   461 of frame.c
    30        458 bytes allocated (cache) in            ast_frdup at line   461 of frame.c
     3      16168 bytes allocated in     ast_smoother_new at line   140 of frame.c
     1 878492 bytes allocated (829988 in caches) in 3798 allocations
     1        459 bytes allocated (cache) in            ast_frdup at line   461 of frame.c


asterisk is idle, uptime ~35h, 66824 processed calls
Comments:By: Kevin P. Fleming (kpfleming) 2009-04-27 15:10:39

As you can see from the output, these are all the frame caches managed by ast_frdup() so that it can reduce memory allocation/freeing (thrashing). If you don't want frame caches to be used, build Asterisk with LOW_MEMORY defined.