Yahoo Groups archive

Milter-greylist

Index last updated: 2026-04-28 23:32 UTC

Message

Re: [milter-greylist] memory consumption

2010-02-18 by Dietmar Rieder

On 02/16/2010 11:37 PM, Bob Friesenhahn wrote:
>
>
> On Tue, 16 Feb 2010, Dietmar Rieder wrote:
>  >
>  >> Regardless, if switching to libumem solves problems, there is surely a
>  >> bug somewhere. Libumem supports some built in debugging features
>  >> which might help to discover the location of the problem.
>  >
>  > ...I suspected that, but unfortunately I do not have the skills nor
>  > resources for debugging this problem, but hopefully there is someone out
>  > there who does...
>
> Consult 'man umem_debug'. This documents a UMEM_DEBUG environment
> variable and some other features which can be used to enable debugging
> and reporting of issues.
>
> It seems that
>
> UMEM_DEBUG=default
>
> is useful. With this enabled, the software may run a bit slower, but
> it should report any issues. Allocated data is non-zero so if the
> software somehow depended on this, then the problem should soon become
> evident.

Hi, thanks for the hint, I tried to use umem debugging and here is what 
I get:

gcore 25869
mdb core.25869

 > ::findleaks -dvf
findleaks:                maximum buffers => 871328
findleaks:                 actual buffers => 870422
findleaks:
findleaks:             potential pointers => 8295213
findleaks:                     dismissals => 2109500       (25.4%)
findleaks:                         misses => 4738170       (57.1%)
findleaks:                           dups => 578557        ( 6.9%)
findleaks:                        follows => 868986        (10.4%)
findleaks:
findleaks:              elapsed wall time => 5 seconds
findleaks:
CACHE     LEAKED   BUFCTL CALLER
080ee710    1436 09f79648 libresolv.so.2`__res_vinit+0x118
----------------------------------------------------------------------
    Total    1436 buffers, 1286656 bytes

umem_alloc_896 leak: 1436 buffers, 896 bytes each, 1286656 bytes total
             ADDR          BUFADDR        TIMESTAMP           THREAD
                             CACHE          LASTLOG         CONTENTS
          9f79648          9f7ab80     2dcdb5b1a541               12
                           80ee710          80ceed8                0
                  libumem.so.1`umem_cache_alloc_debug+0x16c
                  libumem.so.1`umem_cache_alloc+0x15c
                  libumem.so.1`umem_alloc+0x3f
                  libumem.so.1`malloc+0x23
                  libresolv.so.2`__res_vinit+0x118
                  libresolv.so.2`res_ninit+0x1a
                  dnsrbl_check_source+0x14a
                  acl_filter+0x281
                  real_envrcpt+0x201
                  mlfi_envrcpt+0x19
                  st_rcpt+0x66
                  mi_engine+0x2b5
                  mi_handle_session+0x36
                  mi_thread_handle_wrapper+0xe
                  libc.so.1`_thr_setup+0x4e

Unfortunately I'm no C programmer so I'm not sure what all of this 
means, it seems to be something with lirbresolve.so.2...

Didi

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.