A couple of weeks ago I noticed my log files were going out of control. The following exception was occurring every few seconds, 24/7 in the spoolmanager log and the mailstore log. The log files were filling up and rolling over every 2 or 3 minutes. i.e. thousands of log files accumulating over a few days. Actually filled up my hard drive before I noticed it.

This morning, I realized that the Mail ID on the exception was identical on days after days of exceptions which led me to believe it was one bad email that was stuck in the processing loop. I checked the spool and noticed that there were 3 records sitting in the spool table (I'm using MySQL as the mailstore). They didn't appear to be important (destined for a little-used account...). So I deleted the records from the table, and the exception flood ceased.

Ok, fine.... somehow I got a 'bad' email in the queue (most likely spam...). But what caused JAMES to go into an infinite loop trying to process it? I'm running 2.3.2, which I know might be a bit old. I haven't checked to see if there's a newer version. But I figured I'd ask here first to see if this is a known (hopefully fixed) problem before I start downloading and upgrading, etc.

The problem is gone now. But only because I had to take an ax to the spool table. I'm a bit worried. Again, I understand there's no control over what might be in any particular email I might receive. But I'm hoping there is a fix to prevent JAMES from going into an infinite loop trying to process some rogue-content email.

Thanks.

Jerry (Exception follows.... one of many identical.... )

========================================
03/12/13 04:05:00 ERROR spoolmanager: Exception processing Mail1385274088031-219233 in JamesSpoolManager.run Exception caught while storing mail Container: javax.mail.MessagingException: Exception caught while storing mail Container: ;
  nested exception is:
java.io.IOException: Error in encoded stream: needed 4 valid base64 characters but only got 1 before EOF, the 10 most recent characters were: "\r\n\r\n\r\n\r\n\r\n" at org.apache.james.mailrepository.JDBCMailRepository.store(JDBCMailRepository.java:764) at org.apache.james.mailrepository.JDBCSpoolRepository.store(JDBCSpoolRepository.java:240) at org.apache.james.mailrepository.MailStoreSpoolRepository.store(MailStoreSpoolRepository.java:126)
        at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.avalon.phoenix.components.application.BlockInvocationHandler.invoke(BlockInvocationHandler.java:134)
        at $Proxy5.store(Unknown Source)
at org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.java:330)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Error in encoded stream: needed 4 valid base64 characters but only got 1 before EOF, the 10 most recent characters were: "\r\n\r\n\r\n\r\n\r\n" at com.sun.mail.util.BASE64DecoderStream.decode(BASE64DecoderStream.java:250) at com.sun.mail.util.BASE64DecoderStream.read(BASE64DecoderStream.java:148)
        at java.io.FilterInputStream.read(Unknown Source)
at org.apache.james.core.MimeMessageUtil.copyStream(MimeMessageUtil.java:167) at org.apache.james.core.MimeMessageUtil.writeMessageBodyTo(MimeMessageUtil.java:152) at org.apache.james.core.MimeMessageUtil.writeToInternal(MimeMessageUtil.java:90) at org.apache.james.core.MimeMessageUtil.writeTo(MimeMessageUtil.java:70) at org.apache.james.core.MimeMessageUtil.writeTo(MimeMessageUtil.java:50) at org.apache.james.mailrepository.MessageInputStream.writeStream(MessageInputStream.java:131) at org.apache.james.mailrepository.MessageInputStream.<init>(MessageInputStream.java:101) at org.apache.james.mailrepository.JDBCMailRepository.store(JDBCMailRepository.java:677)
        ... 9 more

---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
For additional commands, e-mail: server-user-h...@james.apache.org

Reply via email to