I'm having a problem with the SQL logging functionality in MailScanner and hopefully someone can help me figure it out. After MailScanner starts, it works perfectly for a period of time, usually 30 minutes to an hour, then it stops logging incoming email to the MySQL database. The log shows "Logging message to SQL" but it never finishes with the usual "Logged message to SQL. When this happens, the queue builds incredibly fast and there are huge delays in delivering email -- often many hours of delay. Currently the MySQL database is local, but I had the same problem logging to a remote database where an older version of MailScanner is currently running (and logging) without problems. I put some custom debugging in the CustomFunctions/MailWatch.pm and I can tell that the connection to the database is failing here and never seems to recover.
<br><br># Failed to connect - kick off new child, wait, and try again<br>InitMailWatchLogging();<br><br>I ran strace on the MailWatch SQL process until the problem occurred and it doesn't really show any good info, other than it eventually gets stuck waiting for data.
<br><br>24731 write(3, "<22>Dec 24 15:15:20 MailScanner[24731]: lBOGSJ16013580: Logged to MailWatch SQL\n\0", 81) = 81<br>24731 accept(7, {sa_family=AF_INET, sin_port=htons(57527), sin_addr=inet_addr("
<a href="http://127.0.0.1">127.0.0.1</a>")}, [13249590112313933840]) = 10<br>24731 close(9) = 0<br>24731 ioctl(10, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffaedc7350) = -1 EINVAL (Invalid argument)
<br>24731 lseek(10, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)<br>24731 ioctl(10, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffaedc7350) = -1 EINVAL (Invalid argument)<br>24731 lseek(10, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
<br>24731 fcntl(10, F_SETFD, FD_CLOEXEC) = 0<br>24731 alarm(9600) = 9600<br>24731 read(10,<br><br># ps auwx | grep Mail<br>root 22372 0.0 0.0 152796 31408 ? Ss 14:58 0:00 MailScanner: master waiting for children, sleeping
<br>root 22373 8.7 0.3 237232 104848 ? S 14:58 3:24 MailScanner: finishing batch<br>root 22387 7.8 0.3 242212 107484 ? S 14:58 3:02 MailScanner: finishing batch<br>root 22396 8.4 0.3
237400 104764 ? S 14:58 3:17 MailScanner: finishing batch<br>root 22409 3.9 0.3 234432 103984 ? S 14:58 1:33 MailScanner: finishing batch<br><br>Strace on these MailScanner processes all show the same thing...
<br><br>connect(8, {sa_family=AF_INET, sin_port=htons(11553), sin_addr=inet_addr("<a href="http://127.0.0.1">127.0.0.1</a>")}, 16<br><br>I check the port 11553 and it is indeed listening. Restarting MailScanner fixes the problem (for about 30 minutes). I installed MailScanner using the rpm packages/installation scripts on the download page "
<a href="http://www.mailscanner.info/files/4/rpm/MailScanner-4.65.3-1.rpm.tar.gz">Version 4.65.3-1 for RedHat, Fedora and Mandrake Linux</a>". The OS is Linux RHEL 5 64-bit, 16 processors and 32 GB ram. Has anyone experienced this before or have any advice?
<br><br>Thanks,<br><br>Ryan<br>