Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 38801 - spamassassin compile hits /out of memory'
Summary: spamassassin compile hits /out of memory'
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Net-Mail Packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-01-20 03:07 UTC by Charles Goodwin
Modified: 2004-02-16 11:44 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Charles Goodwin 2004-01-20 03:07:13 UTC
When trying to update to the latest Spamassassin, it starts finding 'missing symbols' in DB_File, hits an infinite depth of some function, and consumes all memory.

I don't have the log as I did this last night and was beat at the time - sorry!  But it seems that Spamassassin just isn't compatable with the latest version of dev-perl/DB_File - on my system, at least.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Comment 1 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2004-01-24 00:04:26 UTC
'emerge info'?
what version of DB_File do you have?
'emerge -p perl DB_File' ?

include the error output.
Comment 2 Charles Goodwin 2004-01-24 02:40:38 UTC
mightymax root # emerge info
Portage 2.0.50_pre19 (default-x86-1.4, gcc-3.3.2, glibc-2.3.3_pre20040117-r0, 2.6.1-rc1-love3)
=================================================================
System uname: 2.6.1-rc1-love3 i686 Celeron (Coppermine)
Gentoo Base System version 1.4.3.12
Autoconf: sys-devel/autoconf-2.59
Automake: sys-devel/automake-1.7.8
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer -frename-registers -mfpmath=sse,387 -msse -mmmx"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer -frename-registers -mfpmath=sse,387 -msse -mmmx"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aalib alsa apache2 arts avi berkdb bonobo crypt cups dnd dvd encode esd evo fbcon foomaticdb gdbm ggi gif gnome gpm gtk gtk2 gtkhtml guile imap imlib innodb java jpeg kde ldap libg++ libwww mad maildir mbox mikmod mng mozilla moznoirc moznomail mozp3p mozsvg mozxmlterm mpeg nas ncurses nls nptl oggvorbis openal opengl pam pdflib perl plotutils png python qt quicktime readline samba sasl sdl slang spell sse ssl svga tcltk tcpd truetype usb wmf wxwindows x86 xml2 xmms xv xvid zlib"
 
mightymax root # emerge -p perl DB_File
 
These are the packages that I would merge, in order:
 
Calculating dependencies ...done!
[ebuild   R   ] dev-lang/perl-5.8.3
[ebuild   R   ] dev-perl/DB_File-1.807
Comment 3 Malte S. Stretz 2004-01-24 17:56:24 UTC
Charles,

I updated my DB_File to the current version and could not reproduce your problems. What exactly do you do to stumble upon this bug? Is it already happening in the 'make test' stage?
Comment 4 Charles Goodwin 2004-01-24 18:25:34 UTC
Just tried again, same result.

The important bit is:

t/basic_lint................ok
t/cidrs.....................ok
t/db_awl_path...............ok
t/db_based_whitelist........Use of uninitialized value in numeric gt (>) at 
/usr/lib/perl5/5.8.3/i686-linux/DB_File.pm line 270.
Deep recursion on subroutine "DB_File::AUTOLOAD" at /usr/lib/perl5/5.8.3/i686-linux/DB_File.pm line 234.



A bit more leading up to said error:

/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/spamd
Manifying blib/man1/sa-learn.1
Manifying blib/man1/spamc.1
Manifying blib/man1/spamassassin.1
Manifying blib/man1/spamd.1
Manifying blib/man3/Mail::SpamAssassin::AutoWhitelist.3pm
Manifying blib/man3/Mail::SpamAssassin::Conf.3pm
Manifying blib/man3/Mail::SpamAssassin::PerMsgStatus.3pm
Manifying blib/man3/Mail::SpamAssassin::PersistentAddrList.3pm
Manifying blib/man3/Mail::SpamAssassin.3pm
Manifying blib/man3/Mail::SpamAssassin::ConfSourceSQL.3pm
Manifying blib/man3/Mail::SpamAssassin::PerMsgLearner.3pm
Manifying blib/man3/Mail::SpamAssassin::Bayes.3pm
cp spamd/spamc blib/script/spamc
/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/spamc
cp sa-learn blib/script/sa-learn
/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/sa-learn
cp spamassassin blib/script/spamassassin
/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/spamassassin
cp spamd/spamd blib/script/spamd
/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/spamd
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/basic_lint................ok
t/cidrs.....................ok
t/db_awl_path...............ok
t/db_based_whitelist........Use of uninitialized value in numeric gt (>) at /usr/lib/perl5/5.8.3/i686-linux/DB_File.pm line 270.
Deep recursion on subroutine "DB_File::AUTOLOAD" at /usr/lib/perl5/5.8.3/i686-linux/DB_File.pm line 234.
make: *** [test_dynamic] Terminated


Last time it said /out of memory - but I killed it early this time rather than waiting for it to consume all my swap as well as all my ram.  I'm trying to work at the same time. ;)

Hope that helps!
Comment 5 Charles Goodwin 2004-01-24 18:30:31 UTC
Something rather cool.  Since this was 'just a test', a 'killall perl' made it jump the test and continue, and sure enough SpamAssassin 2.63 is now installed and working.

(I had to upgrade because a DB_File upgrade, I think, prevent 2.61 from working!)
Comment 6 Charles Goodwin 2004-01-24 18:32:41 UTC
Ah. but sa-learn now borks:

charlie@mightymax ibex $ sa-learn --spam --mbox ~/evolution/local/Spam/subfolders/Missed/mbox
/usr/bin/perl: relocation error: /usr/lib/perl5/5.8.3/i686-linux/auto/DB_File/DB_File.so: undefined symbol: db_version_4000
Comment 7 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2004-01-24 18:37:15 UTC
emerge DB_File again
then spamassassin again.
Comment 8 Malte S. Stretz 2004-01-24 18:41:10 UTC
Hmmm... that's most probably a DB_File problem and not a SpamAssassin bug. I've heard of both errors before; the first is normally a DB_File bug but might also be caused by a corrupt Bayes DB (I think). The latter happens if the previous version of an XS module was not cleanly uninstalled. In this case it's the version shipped with Perl, so it might also be a @INC gobbledygook.
Comment 9 Charles Goodwin 2004-01-24 19:27:25 UTC
charlie@mightymax charlie $ sa-learn
/usr/bin/perl: relocation error: /usr/lib/perl5/5.8.3/i686-linux/auto/DB_File/DB_File.so: undefined symbol: db_version_4000

Still doing it.

Trying 'emerge -C DB_File && emerge dev-perl/DB_File-1.803-r2' (was 1.807).
Comment 10 Charles Goodwin 2004-01-24 19:31:54 UTC
Well that's fixed SpamAssassin for me.

The problem was with DB_File 1.807 afaik.  Does anybody else have that installed?
Comment 11 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2004-01-24 19:33:43 UTC
could you include the output of 'emerge -p unmerge sys-libs/db' ?

I'm using perl-5.8.2-r1, libperl-5.8.2, and DB_File-1.807 without any problems.
Comment 12 Charles Goodwin 2004-01-24 19:37:03 UTC
mightymax games-strategy # emerge -p unmerge sys-libs/db
 
>>> These are the packages that I would unmerge:
 
 sys-libs/db
    selected: 1.85-r1 4.0.14-r1 4.1.25_p1-r3 3.2.9-r10
   protected: none
     omitted: none
 
>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.
Comment 13 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2004-01-24 19:51:19 UTC
whoa
i see the problem
sys-libs/db-4.0 isn't up to date.

please upgrade it to 4.0.14-r3 and then re-merge perl and DB_File (in that order) and try spamassassin again.
Comment 14 Charles Goodwin 2004-01-25 03:27:23 UTC
Surely the DB_File or the perl ebuild should be updated dev-sys/db?
Comment 15 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2004-01-25 04:42:51 UTC
i don't know why your db is out of date, it should have been pulled in by perl AFAIK.
Comment 16 Charles Goodwin 2004-01-25 08:47:12 UTC
Well upgrading db from 4.014-r1 ro 4.014-r3 didn't help.  The results were identical wrt emerging Mail-SpamAssassin.
Comment 17 Eric Sammer (RETIRED) gentoo-dev 2004-02-16 11:32:05 UTC
I can't seem to reproduce this at all. This seems more like some weird combination of db and DB_File than a SpamAssassin bug.

Is this still the case?

It could also be the CFLAGS that are here - I would suggest trimming them down to something a bit more conservative and rebuilding db, DB_File, and SA, in that order. If you still have old versions of db floating around that could cause problems as well.
Comment 18 Charles Goodwin 2004-02-16 11:44:51 UTC
Hmm it works for me now (at least, SA is working and I'm sure it's up-to-date).

One to come back to, if it reoccurs, I guess.