com.sun.mail.util.DecodingException: BASE64Decoder: Error in encoded stream: needed at least 2 valid base64 characters, but only got 1 before padding character (=), the 10 most recent characters were: "peg; name="

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • Alternate Java Client library to JavaMail?
    via Stack Overflow by tbeernot
    ,
  • The exception below occurs 1-2 times a day on a server handling between a few hundred and a few thousands of messages per day. I took a short look at the code, and it looks like there's a MimeMessageCopyOnWriteProxy wrapping a null message. A few possible causes: - MessageReferenceTracker.getWrapped() should be synchronized, as the field is neither final nor volatile and so it's possible that a thread other than the one which creates it will see a null wrapped message. - the refCount field is not properly synchronized nor volatile so methods which set/replace its value (private constructor, getWrappedMessageForWriting) may cause some threads to see the new instance and some the old one. this can result in buggy reference counting, which can result in the wrapped message being set to null (when reference count is decreased too much) and then being accessed. - a MailImpl is being constructed (or copy-constructed) somewhere with a null message (which is passed on to the proxy class). - something completely different. The stacktrace from spoolmanager log: 25/04/09 02:00:58 ERROR spoolmanager.transport: Exception calling LocalDelivery: Exception spooling message: Exception caught while storing mail Container: javax.mail.MessagingException: Exception spooling message: Exception caught while storing mail Container: ; nested exception is: javax.mail.MessagingException: Exception caught while storing mail Container: ; nested exception is: java.lang.NullPointerException at org.apache.james.James.sendMail(James.java:501) at org.apache.james.James.sendMail(James.java:454) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.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 $Proxy9.sendMail(Unknown Source) at org.apache.james.transport.mailets.ToMultiRepository.service(ToMultiRepository.java:183) at org.apache.james.transport.mailets.LocalDelivery.service(LocalDelivery.java:66) at org.apache.james.transport.LinearProcessor.service(LinearProcessor.java:424) at org.apache.james.transport.JamesSpoolManager.process(JamesSpoolManager.java:405) at org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.java:309) at java.lang.Thread.run(Unknown Source) Caused by: javax.mail.MessagingException: Exception caught while storing mail Container: ; nested exception is: java.lang.NullPointerException 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.GeneratedMethodAccessor10.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.James.sendMail(James.java:493) ... 13 more Caused by: java.lang.NullPointerException at org.apache.james.core.MimeMessageUtil.calculateMessageSize(MimeMessageUtil.java:277) at org.apache.james.core.MimeMessageUtil.getMessageSize(MimeMessageUtil.java:261) at org.apache.james.core.MimeMessageCopyOnWriteProxy.getMessageSize(MimeMessageCopyOnWriteProxy.java:745) at org.apache.james.core.MimeMessageUtil.getMessageSize(MimeMessageUtil.java:257) at org.apache.james.core.MailImpl.getMessageSize(MailImpl.java:372) at org.apache.james.mailrepository.MessageInputStream.<init>(MessageInputStream.java:53) at org.apache.james.mailrepository.JDBCMailRepository.store(JDBCMailRepository.java:718) ... 21 more javax.mail.MessagingException: Exception caught while storing mail Container: ; nested exception is: java.lang.NullPointerException 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.GeneratedMethodAccessor10.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.James.sendMail(James.java:493) at org.apache.james.James.sendMail(James.java:454) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.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 $Proxy9.sendMail(Unknown Source) at org.apache.james.transport.mailets.ToMultiRepository.service(ToMultiRepository.java:183) at org.apache.james.transport.mailets.LocalDelivery.service(LocalDelivery.java:66) at org.apache.james.transport.LinearProcessor.service(LinearProcessor.java:424) at org.apache.james.transport.JamesSpoolManager.process(JamesSpoolManager.java:405) at org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.java:309) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NullPointerException at org.apache.james.core.MimeMessageUtil.calculateMessageSize(MimeMessageUtil.java:277) at org.apache.james.core.MimeMessageUtil.getMessageSize(MimeMessageUtil.java:261) at org.apache.james.core.MimeMessageCopyOnWriteProxy.getMessageSize(MimeMessageCopyOnWriteProxy.java:745) at org.apache.james.core.MimeMessageUtil.getMessageSize(MimeMessageUtil.java:257) at org.apache.james.core.MailImpl.getMessageSize(MailImpl.java:372) at org.apache.james.mailrepository.MessageInputStream.<init>(MessageInputStream.java:53) at org.apache.james.mailrepository.JDBCMailRepository.store(JDBCMailRepository.java:718) ... 21 more java.lang.NullPointerException at org.apache.james.core.MimeMessageUtil.calculateMessageSize(MimeMessageUtil.java:277) at org.apache.james.core.MimeMessageUtil.getMessageSize(MimeMessageUtil.java:261) at org.apache.james.core.MimeMessageCopyOnWriteProxy.getMessageSize(MimeMessageCopyOnWriteProxy.java:745) at org.apache.james.core.MimeMessageUtil.getMessageSize(MimeMessageUtil.java:257) at org.apache.james.core.MailImpl.getMessageSize(MailImpl.java:372) at org.apache.james.mailrepository.MessageInputStream.<init>(MessageInputStream.java:53) at org.apache.james.mailrepository.JDBCMailRepository.store(JDBCMailRepository.java:718) at org.apache.james.mailrepository.JDBCSpoolRepository.store(JDBCSpoolRepository.java:240) at org.apache.james.mailrepository.MailStoreSpoolRepository.store(MailStoreSpoolRepository.java:126) at sun.reflect.GeneratedMethodAccessor10.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.James.sendMail(James.java:493) at org.apache.james.James.sendMail(James.java:454) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.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 $Proxy9.sendMail(Unknown Source) at org.apache.james.transport.mailets.ToMultiRepository.service(ToMultiRepository.java:183) at org.apache.james.transport.mailets.LocalDelivery.service(LocalDelivery.java:66) at org.apache.james.transport.LinearProcessor.service(LinearProcessor.java:424) at org.apache.james.transport.JamesSpoolManager.process(JamesSpoolManager.java:405) at org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.java:309) at java.lang.Thread.run(Unknown Source)
    via by Amichai Rothman,
    • com.sun.mail.util.DecodingException: BASE64Decoder: Error in encoded stream: needed at least 2 valid base64 characters, but only got 1 before padding character (=), the 10 most recent characters were: "peg; name=" at com.sun.mail.util.BASE64DecoderStream.decode(BASE64DecoderStream.java:266) at com.sun.mail.util.BASE64DecoderStream.read(BASE64DecoderStream.java:144) at java.io.FilterInputStream.read(FilterInputStream.java:107) at javax.activation.DataHandler.writeTo(DataHandler.java:308) at com.atlassian.jira.plugins.mail.handlers.AbstractMessageHandler.getFileFromPart(AbstractMessageHandler.java:1182)

    Users with the same issue

    Unknown visitor1 times, last one,