No, this produces
 
Deep recursion on subroutine "Qpsmtpd::Transaction::DESTROY" at lib/Qpsmtpd.pm line 271.
Deep recursion on subroutine "Qpsmtpd::log" at lib/Qpsmtpd/Transaction.pm line 242.
Deep recursion on subroutine "Qpsmtpd::varlog" at lib/Qpsmtpd.pm line 93.
Deep recursion on subroutine "Qpsmtpd::run_hooks_no_respond" at lib/Qpsmtpd.pm line 105.
Out of memory!
 
Hans
 
Gesendet: Montag, 05. Januar 2015 um 01:35 Uhr
Von: "Matt Simerson" <m...@tnpi.net>
An: "Hans Salvisberg" <salvi...@gmx.ch>
Cc: "Jared Johnson" <jjohn...@efolder.net>, "qpsmtpd@perl.org" <qpsmtpd@perl.org>
Betreff: Re: Issues in the current HEAD
 
On Jan 4, 2015, at 3:38 PM, Hans Salvisberg <salvi...@gmx.ch> wrote:
 
Going to the new HEAD
   b1abc66 - qpsmtpd: Add additional dependency for geoip: Math::Complex. (2015-01-03 18:29:08 +0100)
has brought some relief:
 
Handle 2 now gives me only 7 instances of
 
FATAL PLUGIN ERROR [logging::file_3a7]: Can't call method "notes" on unblessed reference at /home/smtpd/qpsmtpd/plugins/logging/file line 275.
 
anymore, even though I still have 4 file loggers enabled. Plus one
 
5014 XX: Can't call method "notes" on unblessed reference at /home/smtpd/qpsmtpd/plugins/logging/file line 275.
 
And the warn_handler message is indeed gone, at least in my test case! Thanks!
 
Hans
 
 
Seems to be a bug in that logging plugin:
 
    if (   !$self->{_f}
        || !$self->{_nosplit}
        || !$transaction
        || !$transaction->notes('file-logged-this-session'))
 
The last line is 275, and apparently $transaction isn't a reference there. $transaction can be an empty hash defined in ::Qpsmtpd, which seems like a dumb default, as it will cause arrow operations like this one to blow up). Try this and see if it helps:
 
--- a/lib/Qpsmtpd.pm
+++ b/lib/Qpsmtpd.pm
@@ -244,7 +244,10 @@ sub _load_package_plugin {
     return $plug;
 }

 

-sub transaction { return {}; }    # base class implements empty transaction
+sub transaction {
+    eval 'use Qpsmtpd::Transaction';
+    return Qpsmtpd::Transaction->new();
+}

 

 sub run_hooks {
     my ($self, $hook) = (shift, shift);
 
 
Matt
 
 
 
Gesendet: Sonntag, 04. Januar 2015 um 06:11 Uhr
Von: "Jared Johnson" <jjohn...@efolder.net>
An: "salvi...@gmx.ch" <salvi...@gmx.ch>
Cc: "qpsmtpd@perl.org" <qpsmtpd@perl.org>
Betreff: Re: Issues in the current HEAD

Regarding the warn_handler message, I probably managed to mess up my recently merged https://github.com/smtpd/qpsmtpd/pull/168 for xinetd mode. Unfortunately my availability will be spotty this week. As a temporary fix, you could use a different mode (I recorded prefork) or un-merge that PR. Of course this may be the least of your problems.

On Jan 3, 2015 5:12 PM, salvi...@gmx.ch wrote:
I'm using xinetd according to http://wiki.qpsmtpd.org/doku.php?id=deploy:start, i.e. no daemon mode but just running

exec qpsmtpd


-----Ursprüngliche Nachricht-----
Gesendet: Saturday, 03 January 2015 um 23:31:06 Uhr
Von: "Jared Johnson" <jjohn...@efolder.net>
An: "salvi...@gmx.ch" <salvi...@gmx.ch>
Betreff: Re: Issues in the current HEAD

What daemon mode are you using? Prefork?
--
*** DoubleCheck identified this as CLEAN. Give feedback:
*** This is SPAM: http://filter.emailportal.com
*** More options: http://filter.emailportal.com

Reply via email to