[Mimedefang] Sire MimeDefang 2.44: Undefined subroutine &main::do_main_loop

Jan Pieter Cornet johnpc at xs4all.nl
Mon Aug 2 18:26:45 EDT 2004


On Mon, Aug 02, 2004 at 02:10:53PM -0700, Tory Blue wrote:
> I'm having an issue and after exhaustive searches it's unclear what is
> happening.
> 
> System:
> Redhat 9
> Mimdefang 2.44
> ClamAv 0.75.1
> Spamassassin 2.63
> MIME-tools-5.411a-RP-Patched-02.tar.gz 
> IO-stringy-1.212.tar.gz IO::stringy 
> MIME-Base64-2.11.tar.gz MIME::Base64 
> MailTools-1.1401.tar.gz Mail::Tools 
> Digest-SHA1-2.00.tar.gz Digest::SHA1
> Unix-Syslog-0.100.tar.gz 
> zlib-1.1.4-8 
> zlib-devel
> 
> All the correct libraries etc (I believe)
> 
> Sendmail and spamass-milter/spamassassin works fine on this system
> 
> [defang at gateway2 clamav-0.75.1]# mimedefang.pl -test
> Filter /etc/mail/mimedefang-filter seems syntactically correct.
> 
> 
> I'm seeing this the momemt I start up mimedefang: and line 60 if
> mimedefang.pl is the "use MIME::Tools 5.40 ();" statement. One other oddity
> is that if you are using spamassassin via RPM, mimedefang does not
> acknowledge that it's installed.
> 
> Thanks for any input you can provide, 
> 
> [defang at gateway2 mail]# /etc/init.d/mimedefang start
> Starting mimedefang-multiplexor: [  OK  ]
> Starting mimedefang: [  OK  ]
> [defang at gateway2 mail]# tail -f /var/log/maillog
> Aug  2 12:50:44 gateway2 mimedefang-multiplexor[15598]: Initialized embedded
> Perl interpreter Aug  2 12:50:44 gateway2 mimedefang-multiplexor[15598]:
> Starting slave 0 (pid 15612) (1 running): Bringing slaves up to minSlaves
> (2) Aug  2 12:50:44 gateway2 mimedefang-multiplexor[15598]: Slave 0 stderr:
> Undefined subroutine &main::do_main_loop called at
> /usr/local/bin/mimedefang.pl line 60. 
> Aug  2 12:50:44 gateway2 mimedefang-multiplexor[15598]: Reap: Idle slave 0
> (pid 15612) exited normally with status 9 (SLAVE DIED UNEXPECTEDLY) Aug  2

Since you're using the embedded interpreter, the call do "do_main_loop"
is made from C, which is probably why you get the nonsensical "at ...
line 60" thrown at you. perl is a bit wonky in this case...

It will likely work if you disable the embedding: remove the -E switch
or do not set MX_EMBED_PERL in the startup script.

I can't say why embedding doesn't work. I did notice that embedded perl
programs are particularly picky on the perl version. Upgrade perl, and
your embedded mimedefang will likely break. Did you compile mimedefang
yourself? Maybe a recompile will help.

-- 
#!perl -wpl # mmfppfmpmmpp mmpffm <pmmppfmfpppppfmmmf at fpffmm4mmmpmfpmf.ppppmf>
$p=3-2*/[^\W\dmpf_]/i;s.[a-z]{$p}.vec($f=join('',$p-1?chr(sub{$_[0]*9+$_[1]*3+
$_[2]}->(map{/p|f/i+/f/i}split//,$&)+97):qw(m p f)[map{((ord$&)%32-1)/$_%3}(9,
3,1)]),5,1)='`'lt$&;$f.eig;                                # Jan-Pieter Cornet



More information about the MIMEDefang mailing list