crashes when syslog is not available

Bug #69895 reported by Marc Tardif
10
Affects Status Importance Assigned to Milestone
postgrey (Ubuntu)
Fix Released
Medium
Daniel Hahler
Nominated for Dapper by Daniel Hahler
Nominated for Edgy by Daniel Hahler
Nominated for Feisty by Daniel Hahler
Nominated for Gutsy by Daniel Hahler

Bug Description

Binary package hint: postgrey

By default openlog and syslog do croak() if syslog is not available (because of a restart, for example). To make programs using
Sys::Syslog more robust, the 'nofatal' option has been implemented in Sys::Syslog. See bug #17316.

The problem is that postgrey does no enable the nofatal option which causes it to crash. Then, this also causes postfix to stop accepting email.

The solution has been proposed to simply upgrade Net::Server to 0.94: http://lists.ee.ethz.ch/postgrey/msg01245.html

Considering dapper and edgy both use 0.90-1, it might be time for an upgrade.

Revision history for this message
Daniel Hahler (blueyed) wrote :

libnet-server-perl is 0.94-1 since Feisty.
For Dapper and Edgy it seems to be required patching libnet-server-perl with this particular bug fix/feature and then doing a SRU (http://wiki.ubuntu.com/SRU).

Changed in postgrey:
assignee: nobody → blueyed
importance: Undecided → Medium
status: New → Fix Released
Revision history for this message
Daniel Hahler (blueyed) wrote :

After investigating, 0.94 is still buggy in this regard: it uses "pid,nofatal" as default, but then the validate-regexp does not match it.
It appears to be fixed in 0.97 though. I'll get that into Hardy and then provide a backport of this particular fix for Dapper, Edgy, Feisty and Gutsy.

btw: how does postgrey crash? Would be helpful to have the error here for reference.

Revision history for this message
Daniel Hahler (blueyed) wrote :
Revision history for this message
Daniel Hahler (blueyed) wrote :
Revision history for this message
Daniel Hahler (blueyed) wrote :
Revision history for this message
Daniel Hahler (blueyed) wrote :
Revision history for this message
Wouter Hanegraaff (wouter-openoffice) wrote : Re: [Bug 69895] Re: crashes when syslog is not available

> btw: how does postgrey crash? Would be helpful to have the error here
> for reference.

I don't have much data on that. Because of this problem, we now restart
postgrey after the logrotation. However this doesn't work out good in
all situations, sometimes a crashed(?) postgrey instance remains active,
resulting in:

mail.warn.0:Dec 11 06:26:04 mailserver postgrey[29576]: 2007/12/11-06:26:02 Pid_file already exists for running process (29577)... aborting at line 261 in file /usr/share/perl5/Net/Server.pm
mail.warn.0:Dec 16 06:26:17 mailserver postgrey[5804]: 2007/12/16-06:26:02 Can't connect to TCP port 60000 on 127.0.0.1 [Address already in use] at line 88 in file /usr/share/perl5/Net/Server/Proto/TCP.pm
mail.warn.0:Dec 16 06:26:18 mailserver postgrey[5809]: 2007/12/16-06:26:05 Can't connect to TCP port 60000 on 127.0.0.1 [Address already in use] at line 88 in file /usr/share/perl5/Net/Server/Proto/TCP.pm

The restart is executed using /etc/init.d/postgres stop; sleep 5; /etc/init.d/postgres start;

Revision history for this message
Scott Kitterman (kitterman) wrote :

libnet-server-perl 0.97 is uploaded to Hardy

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.