James Server
  1. James Server
  2. JAMES-153

Looping MessageException causes system stall

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 2.1
    • Fix Version/s: 2.2.0
    • Labels:
      None
    • Environment:
      James 2.1.3 on RedHat Linux (x86) with Sun Java 1.4.2

      Description

      James hangs and creates looping exception stack traces within the log files until the filesystem runs full and the complete Linux box hangs. The following exception stack trace is added again and again (several 1000 times) to the phoenix.console log file in the phoenix temp directory, what causes an increadible big log file in temp, so that no filesystem space remains free:

      javax.mail.MessagingException: Unknown encoding: text
      at javax.mail.internet.MimeUtility.encode(MimeUtility.java:309)
      at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1146)
      at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1600)
      at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1576)
      at org.apache.james.core.MailImpl.writeMessageTo(MailImpl.java:427)
      at org.apache.james.mailrepository.AvalonMailRepository.store(AvalonMailRepository.java:325)
      at org.apache.james.James.sendMail(James.java:499)
      at org.apache.james.James.sendMail(James.java:462)
      at org.apache.james.James.sendMail(James.java:444)
      at org.apache.james.James.storeMail(James.java:819)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.apache.avalon.phoenix.components.application.BlockInvocationHandler.invoke(BlockInvocationHandler.java:92)
      at $Proxy9.storeMail(Unknown Source)
      at org.apache.james.transport.mailets.LocalDelivery.service(LocalDelivery.java:111)
      at org.apache.james.transport.LinearProcessor.service(LinearProcessor.java:413)
      at org.apache.james.transport.JamesSpoolManager.process(JamesSpoolManager.java:436)
      at org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.java:366)
      at org.apache.avalon.excalibur.thread.impl.ExecutableRunnable.execute(ExecutableRunnable.java:47)
      at org.apache.avalon.excalibur.thread.impl.WorkerThread.run(WorkerThread.java:80)

      In the james log, the following line is repeating several 1000 times:
      17/02/04 05:17:17 ERROR James: Error forwarding mail to draese@progredy.deattempting local delivery

      In the maillet log, the following exception is repeating several 1000 times:
      17/02/04 07:22:37 INFO James.Mailet: Error while storing mail.
      javax.mail.MessagingException: Exception spooling message: Exception caught while storing Message Container: javax.mail.MessagingException: Unknown encoding: text
      ;
      nested exception is:
      java.lang.RuntimeException: Exception caught while storing Message Container: javax.mail.MessagingException: Unknown encoding: text
      at org.apache.james.James.sendMail(James.java:505)
      at org.apache.james.James.sendMail(James.java:462)
      at org.apache.james.James.sendMail(James.java:444)
      at org.apache.james.James.storeMail(James.java:819)
      at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.apache.avalon.phoenix.components.application.BlockInvocationHandler.invoke(BlockInvocationHandler.java:92)
      at $Proxy9.storeMail(Unknown Source)
      at org.apache.james.transport.mailets.LocalDelivery.service(LocalDelivery.java:111)
      at org.apache.james.transport.LinearProcessor.service(LinearProcessor.java:413)
      at org.apache.james.transport.JamesSpoolManager.process(JamesSpoolManager.java:436)
      at org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.java:366)
      at org.apache.avalon.excalibur.thread.impl.ExecutableRunnable.execute(ExecutableRunnable.java:47)
      at org.apache.avalon.excalibur.thread.impl.WorkerThread.run(WorkerThread.java:80)

      In the mailstore log, the following error sequence is repeating several 1000 times:
      17/02/04 06:44:41 ERROR mailstore: Exception storing mail: javax.mail.MessagingException: Unknown encoding: text
      17/02/04 06:44:41 ERROR mailstore: Exception storing mail: javax.mail.MessagingException: Unknown encoding: text
      17/02/04 06:44:41 ERROR mailstore: Exception storing mail: javax.mail.MessagingException: Unknown encoding: text
      17/02/04 06:44:41 ERROR mailstore: Exception storing mail: javax.mail.MessagingException: Unknown encoding: text
      17/02/04 06:44:41 ERROR mailstore: Exception retrieving mail: java.lang.RuntimeException: Exception caught while retrieving an object, cause: java.io.FileNotFound
      Exception: /opt/james-2.1.3/apps/james/var/mail/spool/4D61696C313037363939363638313837372D353239373934.Repository.FileObjectStore (No such file or directory), so
      we're deleting it... good riddance!

      The other log files seem to be OK. Wouldn't it be enough to show trace the exception once, instead of looping it to all logs? This error occurrs on my system at least once per week what causes me to have an extremely instable mail server environment because the filesystem is running full all the times and I have to delete all the logs before I can go on.

      Please let me know, if you need any further information to solve this problem

        Activity

          People

          • Assignee:
            Unassigned
            Reporter:
            Oliver Draese
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development