Yahoo Groups archive

Milter-greylist

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

Message

Re: [milter-greylist] DOes SPF cause memory leak?

2008-10-23 by Petar Bogdanovic

On Fri, Oct 24, 2008 at 12:37:36AM +0200, Fredrik Pettai wrote:
> On Oct 23, 2008, at 11:55 PM, Petar Bogdanovic wrote:
> > On Fri, Oct 24, 2008 at 02:07:58AM +0900, Hajimu UMEMOTO wrote:
> > > >>>>> On Thu, 23 Oct 2008 14:31:15 +0200
> > > >>>>> Petar Bogdanovic <petar@...> said:
> > >
> > > petar> It apparently has nothing to do with libspf since I get  
> > similar results
> > > petar> with libspf_alt and libspf2 (1.2.8). The situation even got  
> > worse with
> > > petar> libspf2 from another point of view -- milter-greylist using  
> > libspf_alt
> > > petar> claimed about 15% of the CPU when it had to deal with 900  
> > simultaneous
> > > petar> connections while the same situation ate every second of  
> > the available
> > > petar> CPU-time when linked against libspf2. That's why I wasn't  
> > able to drop
> > > petar> the same amounth of mails through milter-greylist+libspf2:  
> > the CPU was
> > > petar> the bottleneck.
> > >
> > > The BIND9's resolver requires res_ndestroy() for cleanup res_state.
> > > However, libspf2 doesn't issue res_ndestroy() but issues  
> > res_nclose().
> > > It causes memory leak. The FreeBSD port of libspf2 has a patch to
> > > address this issue.
> >
> > Thanks, I applied all patches (~10) from the FreeBSD Ports tree and  
> > the
> > problem is gone. The memory usage of milter-greylist is actually  
> > frozen
> > now, no matter how hard I try. Also, the claimed cpu-time is much  
> > lower.
> >
> 
> Did you really used libspf2 from pkgsrc?
> I only find the current version to be 1.2.5 in there

I did use the current version (1.2.5). See LOCALPATCHES.


> I'll see if I can convince the maintainer put those patches in the
> pkgsrc tree as well.

Yes, please!

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.