On Thursday 05 May 2005 11:52, Justin Mason wrote:
> Bikrant Neupane writes:
> > from maillog
> > Deep recursion on subroutine "Mail::SpamAssassin::Message::Node::finish"
> > at /usr/local/lib/perl5/site_perl/5.8.5/Mail/SpamAssassin/Message/Node.pm
> > line 659
>
> could you try this patch?  if it doesn't work, I suggest opening
> a bug in the bugzilla.
>
> --j.
>
> Index: lib/Mail/SpamAssassin/Message/Node.pm
> ===================================================================
> --- lib/Mail/SpamAssassin/Message/Node.pm       (revision 168093)
> +++ lib/Mail/SpamAssassin/Message/Node.pm       (working copy)
> @@ -641,7 +641,9 @@
>    # Clean up our kids
>    if (exists $self->{'body_parts'}) {
>      while ( my $part = shift @{$self->{'body_parts'}} ) {
> -      $part->finish();
> +      if ($part != $self) {
> +        $part->finish();
> +      }
>      }
>      undef $self->{'body_parts'};
>    }

Sorry, your above patch didn't stop spamd from over using memory.
I even tried with --max-conn-per-child=10. But still no success.

I am planning to fallback to 3.0.2 version. Can you please let me know if 
3.0.2 code also has same problem or any other issues.

best regards,
Bikrant

>> from top
61688 root      96    0 28592K 26660K select 1   0:00  2.42%  0.88% perl
61395 root      96    0 30436K 28408K select 1   0:03  0.68%  0.68% perl
61398 root      96    0 30704K 28356K select 0   0:02  0.63%  0.63% perl
61386 root      96    0   148M   130M select 1   0:10  0.54%  0.54% perl
61385 root      96    0   118M   102M select 1   0:08  0.29%  0.29% perl
61389 root      96    0   142M   124M select 1   0:06  0.20%  0.20% perl
61393 root      96    0 29608K 27660K select 1   0:02  0.10%  0.10% perl
61387 root      96    0 35700K 32528K select 1   0:02  0.05%  0.05% perl
61399 root      96    0 31168K 28772K select 0   0:02  0.05%  0.05% perl

Reply via email to