You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by bu...@bugzilla.spamassassin.org on 2013/01/31 02:22:34 UTC
[Bug 6901] untie db first to fix "bayes db version 0 is not able to
be used, aborting!" problem
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6901
Rob Mueller <sp...@robm.fastmail.fm> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |spamassassin@robm.fastmail.
| |fm
--- Comment #1 from Rob Mueller <sp...@robm.fastmail.fm> ---
I've just applied this patch to my local DBM.pm module and will see in 24 hours
how it's looking. I think this should fix it, but I'll update to confirm what I
find.
---
--- DBM.pm 2013-01-30 20:20:43.000000000 -0500
+++ /usr/share/perl5/Mail/SpamAssassin/BayesStore/DBM.pm 2013-01-30
20:21:09.000000000 -0500
@@ -175,7 +175,7 @@
my $db_var = 'db_'.$dbname;
dbg("bayes: tie-ing to DB file R/O $name");
- # untie %{$self->{$db_var}} if (tied %{$self->{$db_var}});
+ untie %{$self->{$db_var}};
if (!tie %{$self->{$db_var}},$self->DBM_MODULE, $name, O_RDONLY,
(oct($main->{conf}->{bayes_file_mode}) & 0666))
{
@@ -185,6 +185,7 @@
# be writing to it; let the R/W api deal with that case.
if ($dbname eq 'seen') {
+ untie %{$self->{$db_var}};
tie %{$self->{$db_var}},$self->DBM_MODULE, $name, O_RDWR|O_CREAT,
(oct($main->{conf}->{bayes_file_mode}) & 0666)
or goto failed_to_tie;
@@ -290,6 +291,7 @@
($self->DBM_MODULE eq 'DB_File') and
Mail::SpamAssassin::Util::avoid_db_file_locking_bug ($name);
+ untie %{$self->{$db_var}};
tie %{$self->{$db_var}},$self->DBM_MODULE, $name, O_RDWR|O_CREAT,
(oct($main->{conf}->{bayes_file_mode}) & 0666)
or goto failed_to_tie;
--
You are receiving this mail because:
You are the assignee for the bug.