On closer look of the exception trace i do not think out.close() is causing
this issue... Can you pass the xml as well for everyone to see the content
being written?

Regards,
-yogesh

On Friday, August 8, 2014, Yogesh Rao <yog...@gmail.com> wrote:

> Hi,
>
> I see out.close() in the writeXML method of yours.. I do not think you
> should be closing it.
>
> Can you try removing that and putting it to a test?
>
> Regards,
> -yogesh
>
> On Friday, August 8, 2014, Filip Hanik <fi...@hanik.com
> <javascript:_e(%7B%7D,'cvml','fi...@hanik.com');>> wrote:
>
>> if you could capture the XML that you are trying to write, we can put it
>> into a test case and reproduce.
>>
>> Filip
>>
>>
>>
>> On Thu, Aug 7, 2014 at 3:24 PM, Terence M. Bandoian <tere...@tmbsw.com>
>> wrote:
>>
>> > On 8/7/2014 10:04 AM, John Smith wrote:
>> >
>> >> TC 7.0.54 / RHEL 6 / JDK 1.7.0_60
>> >>
>> >> I'm getting a pretty consistent error in my logs that started showing
>> up
>> >> recently. I use logback and have a servlet catch all 500 errors and log
>> >> them. The error seems to be associated with one servlet that writes XML
>> >> output.
>> >>
>> >> Two changes I made recently were implement SSL for one subdirectory on
>> the
>> >> webapp, and removing redirects in IPTables to the HWLB. I can't really
>> >> think of any other code level changes that might have caused the
>> change in
>> >> behavior. Please let me know if you need more information. Any
>> thoughts?
>> >>
>> >> The writeXML method is:
>> >>
>> >> protected void writeXML(HttpServletResponse res, String xml) throws
>> >> IOException {
>> >>          res.setContentType("text/xml");
>> >>          PrintWriter out = res.getWriter();
>> >>          out.write(xml);
>> >>          out.close();
>> >> }
>> >>
>> >>
>> >> The stacktrace almost always looks like this:
>> >> _____________________________________
>> >> 14:18:59.617 [http-nio-8080-exec-45] ERROR c.m.
>> >> SiteExceptionHandlerServlet
>> >> - Stacktrace was: java.lang.IllegalArgumentException
>> >> at java.nio.Buffer.limit(Buffer.java:267)
>> >> at
>> org.apache.tomcat.util.buf.C2BConverter.convert(C2BConverter.java:85)
>> >> at
>> >> org.apache.catalina.connector.OutputBuffer.realWriteChars(
>> >> OutputBuffer.java:481)
>> >> at org.apache.tomcat.util.buf.CharChunk.flushBuffer(CharChunk.java:464)
>> >> at org.apache.tomcat.util.buf.CharChunk.append(CharChunk.java:384)
>> >> at org.apache.catalina.connector.OutputBuffer.write(
>> >> OutputBuffer.java:554)
>> >> at org.apache.catalina.connector.CoyoteWriter.write(
>> >> CoyoteWriter.java:174)
>> >> at org.apache.catalina.connector.CoyoteWriter.write(
>> >> CoyoteWriter.java:184)
>> >> at com.mysite.AbstractServlet.writeXML(AbstractServlet.java:182)
>> >> at
>> com.mysite.level.GetLevelServlet.getAllAsXML(GetLevelServlet.java:82)
>> >> at com.mysite.level.GetLevelServlet.manageActions(
>> >> GetLevelServlet.java:33)
>> >> at com.mysite.AbstractServlet.doPost(AbstractServlet.java:52)
>> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
>> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>> >> ...
>> >> __________________________
>> >>
>> >> Although there are variations like:
>> >>
>> >> Stacktrace was: java.lang.IllegalArgumentException
>> >> at java.nio.Buffer.position(Buffer.java:236)
>> >> at sun.nio.cs.ISO_8859_1$Encoder.encodeArrayLoop(ISO_8859_1.java:179)
>> >> at sun.nio.cs.ISO_8859_1$Encoder.encodeLoop(ISO_8859_1.java:212)
>> >> at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:561)
>> >> at
>> org.apache.tomcat.util.buf.C2BConverter.convert(C2BConverter.java:108)
>> >> at
>> >> org.apache.catalina.connector.OutputBuffer.realWriteChars(
>> >> OutputBuffer.java:481)
>> >> at org.apache.tomcat.util.buf.CharChunk.flushBuffer(CharChunk.java:464)
>> >> at org.apache.tomcat.util.buf.CharChunk.append(CharChunk.java:384)
>> >> at org.apache.catalina.connector.OutputBuffer.write(
>> >> OutputBuffer.java:554)
>> >> at org.apache.catalina.connector.CoyoteWriter.write(
>> >> CoyoteWriter.java:174)
>> >> at org.apache.catalina.connector.CoyoteWriter.write(
>> >> CoyoteWriter.java:184)
>> >> at com.mysite.AbstractServlet.writeXML(AbstractServlet.java:182)
>> >>
>> >> ___________________
>> >>
>> >>
>> >
>> > What's on line 182 of AbstractServlet.java?
>> >
>> > -Terence Bandoian
>> >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> > For additional commands, e-mail: users-h...@tomcat.apache.org
>> >
>> >
>>
>

Reply via email to