http://bugzilla.spamassassin.org/show_bug.cgi?id=4330





------- Additional Comments From [EMAIL PROTECTED]  2005-05-13 13:46 -------
Yeah, so ...  In 3.0 spamd would backup all of the non-code references to a 
backup hash.  When 
restoring, spamd let copy_config() overwrite $conf in place, so the code 
references were just left in 
place as well.  No harm, no foul.

In 3.1, copy_config() doesn't do stuff in place:

    $self->{conf} = $source->{obj}->clone();

It just overwrites the conf variable, which ends up setting all the code 
references to undef.

(In reply to comment #1)
> A followup from me:
> 
> My best guess so far is that it looks like $conf->{eval_plugins} is set
> to undef during clone() now and isn't dealt with before the "restored"
> conf gets returned.  So after the first message goes through a spamd
> child, we lose the plugins, and probably a bunch of other stuff:
> 
> my @NON_COPIED_KEYS = qw(
>   main eval_plugins plugins_loaded registered_commands sed_path_cache parser
>   scoreset scores
> );
> 
> scoreset, scores, and sed_path_cache seem to be dealt with.  Everything else
> seems to be left as "undef", which is definitely not the right thing.  Still
> debugging ...
> 





------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Reply via email to