voodoodyne / subetha

SubEtha Mail is a J2EE-based mailing list manager
Other
13 stars 6 forks source link

BlobOutputStream is closed (postgresql) #44

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1.Create a message with attachment and send it to list
2.Approve it by moderator.

What is the expected output? What do you see instead?
Subscribers should receive message with attachement.
But instead I see in app log exceptions that BlobOutputStream is closed:

>>>>>>>>>>>>>>>>>
javax.ejb.EJBTransactionRolledbackException: javax.mail.MessagingException: 
IOException while sending message;
                                     nested exception is:
                                        java.io.IOException: BlobOutputStream is closed
                                        at com.caucho.ejb.util.XAManager.rethrowEjbException(XAManager.java:323)
                                        at org.subethamail.core.deliv.DeliveratorBean__StatelessProxy.deliver(DeliveratorBean__StatelessProxy.java:148)
                                        at org.subethamail.core.queue.DeliveryListener.onMessage(DeliveryListener.java:51)
                                        at org.subethamail.core.queue.DeliveryListener__MessageProxy.onMessage(DeliveryListener__MessageProxy.java:75)
                                        at com.caucho.jms.connection.MessageConsumerImpl$MessageConsumerCallback.messageReceived(MessageConsumerImpl.java:501)
                                        at com.caucho.jms.queue.AbstractMemoryQueue$ListenEntryCallback.run(AbstractMemoryQueue.java:624)
                                        at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:169)
                                        at com.caucho.env.thread.ResinThread.run(ResinThread.java:126)
                                   Caused by: java.lang.RuntimeException: javax.mail.MessagingException: IOException while sending message;
                                     nested exception is:
                                        java.io.IOException: BlobOutputStream is closed
                                        at org.subethamail.core.deliv.DeliveratorBean.deliverTo(DeliveratorBean.java:149)
                                        at org.subethamail.core.deliv.DeliveratorBean.deliver(DeliveratorBean.java:91)
                                        at org.subethamail.core.deliv.DeliveratorBean__StatelessProxy.deliver(DeliveratorBean__StatelessProxy.java:134)
                                        ... 6 more
                                   Caused by: javax.mail.MessagingException: IOException while sending message;
                                     nested exception is:
                                        java.io.IOException: BlobOutputStream is closed
                                        at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:676)
                                        at javax.mail.Transport.send0(Transport.java:189)
                                        at javax.mail.Transport.send(Transport.java:140)
                                        at org.subethamail.core.deliv.DeliveratorBean.deliverTo(DeliveratorBean.java:137)
                                        ... 8 more
                                   Caused by: java.io.IOException: BlobOutputStream is closed
                                        at org.postgresql.largeobject.BlobInputStream.checkClosed(BlobInputStream.java:202)
                                        at org.postgresql.largeobject.BlobInputStream.reset(BlobInputStream.java:173)
                                        at org.subethamail.common.io.TrivialDataSource.getInputStream(TrivialDataSource.java:49)
                                        at javax.activation.DataHandler.writeTo(DataHandler.java:290)
                                        at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1403)
                                        at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:874)
                                        at javax.mail.internet.MimeMultipart.writeTo(MimeMultipart.java:444)
                                        at com.sun.mail.handlers.multipart_mixed.writeTo(multipart_mixed.java:102)
                                        at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:869)
                                        at javax.activation.DataHandler.writeTo(DataHandler.java:302)
                                        at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1403)
                                        at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1745)
                                        at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:636)
                                        ... 11 more

What version of the product are you using? On what operating system?
Subetha 2.1,Resin 4.0.9,postgres-driver-8.4-702.jdbc3.jar

Please provide any additional information below.

Original issue reported on code.google.com by dumb...@gmail.com on 10 Feb 2011 at 3:57

GoogleCodeExporter commented 9 years ago
I resolved this issue by fixing DetacherBean - I use standard 
javax.mail.util.ByteArrayDataSource instead of your TrivialDataSource 
implementation.

Here is the fixing string:

part.setDataHandler(new DataHandler(new 
ByteArrayDataSource(att.getContentStream(),att.getContentType())));

Original comment by dumb...@gmail.com on 11 Feb 2011 at 11:43

GoogleCodeExporter commented 9 years ago
commit f98158f3263f02857e7604f84f323c35a76c0912
Date:   Sat Apr 12 10:17:18 2014 -0400

Original comment by jasonpye...@gmail.com on 12 Apr 2014 at 2:19