james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Bagnara <apa...@bago.org>
Subject Re: [mime4j] null charset error
Date Fri, 04 May 2007 09:19:36 GMT
This message come through totally unformatted.
I formatted it and opened a JIRA issue [1] so we can track it.

Thank you,
Stefano

[1] http://issues.apache.org/jira/browse/MIME4J-12

GX GLIX ha scritto:
> Hi allI sincerely apologise for the delay, I have had other priorities and had to put
this aside till now, after futher debugging I have come across the cause of the java.io.IOException:
Bad file descriptor error.In the file /org/mime4j/message/Header.java the following code is
foundpublic void writeTo(OutputStream out) throws IOException {        String charString =
((ContentTypeField) getField(Field.CONTENT_TYPE)).getCharset();                BufferedWriter
writer = new BufferedWriter(new OutputStreamWriter(out, CharsetUtil.getCharset(charString)),8192);
       writer.write(toString()+ "\r\n");        writer.flush();        writer.close();   
}as you can see the output stream is closed here. This is cause of the IOException as the
stream is used later again for writing.I tried commenting the writer.close(); call and it
worked fine, however I dont know what the implications of this may be.The case I am facing
is a multipart message which calls the writeTo method below    
public void writeTo(OutputStream out) throws IOException {        getHeader().writeTo(out);
       Body body = getBody();        if (body instanceof Multipart) {            Multipart
mp = (Multipart) body;            mp.writeTo(out);        } else {            body.writeTo(out);
       }    }when getHeader().writeTo(out); is called the stream is closed and when mp.writeTo(out);
is called the exception is throw as the stream is closed.Regards GX> From: mailme_gx@hotmail.com>
To: server-dev@james.apache.org> Subject: Re: [mime4j] null charset error> Date: Thu,
26 Apr 2007 18:07:11 +0300> > Hi Norman Maurer> > Thanks again your your time
and suggestions,> > Although  we are using windows 2003 server the JDK is 1.4, and the
submitted > bug is for jdk 1.6> As am busy with other things for the moment I only be
able to look into this > after the next few days, If I do manage to find anything I will
keep you > posted.> > GX> > >From: Norman Maurer <norman@apache.org>>
>Reply-To: "Jam
es Developers List" <server-dev@james.apache.org>> >To: James Developers List
<server-dev@james.apache.org>> >Subject: Re: [mime4j] null charset error> >Date:
Tue, 24 Apr 2007 15:36:34 +0200> >> >Hi GX,> >> >what JDK and OS you
using? I found some intressting stuff:> >> >http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6322678>
>http://256.com/gray/docs/misc/java_bad_file_descriptor_close_bug.shtml> >> >bye>
>Norman> >> >> >GX GLIX schrieb:> > > Hi All> > >>
> > I am getting a "Null charset name" error during parsing, it seems that> >
> getCharset(String charsetName) is passed an empty string... I tried> > > the
following hack to fix it:> > >> > > ..........> > >    public static
java.nio.charset.Charset getCharset(String> > > charsetName) {> > >    
   if(charsetName == null)> > >            charsetName = "ISO8859-1";> > >
       java.nio.charset.Charset c => > > java.nio.charset.Charset.forName(charsetName);>
> > ............> > >> > > now the result is :> > >> >
> java.i
o.IOException: Bad file descriptor> > >     at java.io.FileOutputStream.writeBytes(Native
Method)> > >     at java.io.FileOutputStream.write(FileOutputStream.java:260)>
> >     at> > > sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:336)>
> >     at> > > > >sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(StreamEncoder.java:404)>
> >> > >     at> > > sun.nio.cs.StreamEncoder$CharsetSE.implFlush(StreamEncoder.java:408)>
> >     at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:152)> > >    
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:213)> > >     at java.io.BufferedWriter.flush(BufferedWriter.java:230)>
> >     at org.mime4j.message.Header.writeTo(Header.java:152)> > >     at org.mime4j.message.BodyPart.writeTo(BodyPart.java:39)>
> >     at org.mime4j.message.Multipart.writeTo(Multipart.java:178)> > >  
  at org.mime4j.message.Message.writeTo(Message.java:91)> > > any ideas anyone?>
> >> > > _______________________________________________
__________________> > > FREE pop-up blocking with the new MSN Toolbar - get it now!>
> > http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/> > >>
> >> > > --------------------------------------------------------------------->
> > To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org> > > For
additional commands, e-mail: server-dev-help@james.apache.org> > >> > >>
> > !DSPAM:1,462c94fb324321289648189!> > >> > >> >> >>
>---------------------------------------------------------------------> >To unsubscribe,
e-mail: server-dev-unsubscribe@james.apache.org> >For additional commands, e-mail: server-dev-help@james.apache.org>
>> > _________________________________________________________________> Express
yourself instantly with MSN Messenger! Download today it's FREE! > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/>
> > ---------------------------------------------------------------------> To unsubscribe,
e-mail: server-dev-unsubscribe@james.ap
ache.org> For additional commands, e-mail: server-dev-help@james.apache.org> 



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Mime
View raw message