Exim PanicLog has Non-Zero Size...?

I'm getting the following error from my Ubuntu server:

exim paniclog /var/log/exim4/paniclog on (my server FQDN) has non-zero size, mail system might be broken.

I found a solution on the web here. Basically, I just need erase the paniclog by entering the following code:

sudo rm /var/log/exim4/paniclog

So, I know how to get rid of the error, but I don't know how it started, and how to not let it happen again. Any explanation? Thanks in advance.


Solution 1:

I had the same issue, here is what my exim4 paniclog looked like:

$ sudo cat /var/log/exim4/paniclog

2014-02-01 21:36:51 socket bind() to port 25 for address 127.0.0.1 failed: Address already in use: daemon abandoned
2014-02-01 22:03:33 socket bind() to port 25 for address 127.0.0.1 failed: Address already in use: daemon abandoned
2014-02-01 22:33:19 socket bind() to port 25 for address 127.0.0.1 failed: Address already in use: daemon abandoned
2014-02-01 22:36:33 socket bind() to port 25 for address 127.0.0.1 failed: Address already in use: daemon abandoned
2014-02-01 23:03:51 socket bind() to port 25 for address 127.0.0.1 failed: Address already in use: daemon abandoned
2014-02-01 23:14:31 socket bind() to port 25 for address 127.0.0.1 failed: Address already in use: daemon abandoned
2014-02-02 11:09:48 socket bind() to port 25 for address 127.0.0.1 failed: Address already in use: daemon abandoned

This problem was apparently solved by deleting the paniclog file

Solution 2:

The answers above are bad because you delete a log file and it's then gone for future log entries from exim. The solution is to create a logfile backup.

Most Debian based distros use logrotate for this. You can force a backup with the logrotate command. Option -f is to force it and -v is for a more verbose output.

Try (for Debian and also should work on Ubuntu).

sudo logrotate -f -v /etc/logrotate.d/exim4-paniclog

Solution 3:

This blog entry seems to have an answer. Looks like it can have to do with IPv6 settings and results from a change in the way the kernel supports IPv6.

Basically, disable IPv6 for now.

Solution 4:

In my case the error was as follows:

exim paniclog on my-host has non-zero size

socket bind() to port 25 for address ::1 failed: cannot assign requested address: daemon abandoned

My solution was to remove the paniclog file and do a dpkg-reconfigure exim4-config removing ::1 from the IPs to bind to.