You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Burak Oguz <bu...@gmail.com> on 2008/11/03 13:38:11 UTC

TCP RST on rapid data in NIO Connector

Hi,

I am using Tomcat 6.0.18 with NIO Connector with Comet. And I have crashed
into a real problem. I want to use Comet to transfer data on high rate over
http but Tomcat gives such an error when data starts to come too rapid. I
have a multithreaded architecture behind Tomcat to handle connections as in
the example application. Are there anyone who met this problem before? Any
ideas will greatly appreciated... Thanks in advance...

Exception in thread "MessageSender[]" java.lang.NullPointerException at
org.apache.coyote.http11.InternalNioOutputBuffer.addToBB(
InternalNioOutputBuffer.java:607)
at org.apache.coyote.http11.InternalNioOutputBuffer.commit(
InternalNioOutputBuffer.java:600)
at org.apache.coyote.http11.Http11NioProcessor.action(
Http11NioProcessor.java:1032)
at org.apache.coyote.Response.action(Response.java:181)
at org.apache.coyote.http11.InternalNioOutputBuffer.doWrite(
InternalNioOutputBuffer.java:571)
at org.apache.coyote.Response.doWrite(Response.java:560) at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(
OutputBuffer.java:353)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java :434)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349)
at org.apache.catalina.connector.OutputBuffer.writeBytes(
OutputBuffer.java:381) at org.apache.catalina.connector.OutputBuffer.write(
OutputBuffer.java:370)
at org.apache.catalina.connector.CoyoteOutputStream.write(
CoyoteOutputStream.java:89)
at org.apache.catalina.connector.CoyoteOutputStream.write(
CoyoteOutputStream.java:83)
at com.cognotec.streaming.SynchronizedOutputStream.write(
SynchronizedOutputStream.java:25)
at com.cognotec.streaming.CometRateSender.run(CometRateSender.java :86)
at java.lang.Thread.run(Thread.java:595)



-- burak

Re: TCP RST on rapid data in NIO Connector

Posted by Burak Oguz <bu...@gmail.com>.
Hi Filip,

Also I need to add something more:

   1. After a lot of googling and forum researchs, I saw a few topics about
   that. I have tried them all. They made it a little bit stable. (especially
   these ones : http://markmail.org/message/5zs7qejpjy3vxhfy and
   http://www.nabble.com/Comet-servlet-synchronization-and-flush-problems-td13879322.html
   )
   2. I think that problem is about Tomcat's handling of raw socket. As far
   as I know tomcat is not so capable as Apache in handling buffers. I wanted
   to try comet over Apache but I could not complete it. Mod_jk does not
   support nio. Can you offer any methods about this?

Thanks again..

On Mon, Nov 3, 2008 at 4:02 PM, Filip Hanik - Dev Lists
<de...@hanik.com>wrote:

> Hi Burak, I will take a look at the trace and see if I can find anything
>
> Filip
>
>
> Burak Oguz wrote:
>
>> Hi,
>>
>> I am using Tomcat 6.0.18 with NIO Connector with Comet. And I have crashed
>> into a real problem. I want to use Comet to transfer data on high rate
>> over
>> http but Tomcat gives such an error when data starts to come too rapid. I
>> have a multithreaded architecture behind Tomcat to handle connections as
>> in
>> the example application. Are there anyone who met this problem before? Any
>> ideas will greatly appreciated... Thanks in advance...
>>
>> Exception in thread "MessageSender[]" java.lang.NullPointerException at
>> org.apache.coyote.http11.InternalNioOutputBuffer.addToBB(
>> InternalNioOutputBuffer.java:607)
>> at org.apache.coyote.http11.InternalNioOutputBuffer.commit(
>> InternalNioOutputBuffer.java:600)
>> at org.apache.coyote.http11.Http11NioProcessor.action(
>> Http11NioProcessor.java:1032)
>> at org.apache.coyote.Response.action(Response.java:181)
>> at org.apache.coyote.http11.InternalNioOutputBuffer.doWrite(
>> InternalNioOutputBuffer.java:571)
>> at org.apache.coyote.Response.doWrite(Response.java:560) at
>> org.apache.catalina.connector.OutputBuffer.realWriteBytes(
>> OutputBuffer.java:353)
>> at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java :434)
>> at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349)
>> at org.apache.catalina.connector.OutputBuffer.writeBytes(
>> OutputBuffer.java:381) at
>> org.apache.catalina.connector.OutputBuffer.write(
>> OutputBuffer.java:370)
>> at org.apache.catalina.connector.CoyoteOutputStream.write(
>> CoyoteOutputStream.java:89)
>> at org.apache.catalina.connector.CoyoteOutputStream.write(
>> CoyoteOutputStream.java:83)
>> at com.cognotec.streaming.SynchronizedOutputStream.write(
>> SynchronizedOutputStream.java:25)
>> at com.cognotec.streaming.CometRateSender.run(CometRateSender.java :86)
>> at java.lang.Thread.run(Thread.java:595)
>>
>>
>>
>> -- burak
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Re: TCP RST on rapid data in NIO Connector

Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
Hi Burak, I will take a look at the trace and see if I can find anything

Filip

Burak Oguz wrote:
> Hi,
>
> I am using Tomcat 6.0.18 with NIO Connector with Comet. And I have crashed
> into a real problem. I want to use Comet to transfer data on high rate over
> http but Tomcat gives such an error when data starts to come too rapid. I
> have a multithreaded architecture behind Tomcat to handle connections as in
> the example application. Are there anyone who met this problem before? Any
> ideas will greatly appreciated... Thanks in advance...
>
> Exception in thread "MessageSender[]" java.lang.NullPointerException at
> org.apache.coyote.http11.InternalNioOutputBuffer.addToBB(
> InternalNioOutputBuffer.java:607)
> at org.apache.coyote.http11.InternalNioOutputBuffer.commit(
> InternalNioOutputBuffer.java:600)
> at org.apache.coyote.http11.Http11NioProcessor.action(
> Http11NioProcessor.java:1032)
> at org.apache.coyote.Response.action(Response.java:181)
> at org.apache.coyote.http11.InternalNioOutputBuffer.doWrite(
> InternalNioOutputBuffer.java:571)
> at org.apache.coyote.Response.doWrite(Response.java:560) at
> org.apache.catalina.connector.OutputBuffer.realWriteBytes(
> OutputBuffer.java:353)
> at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java :434)
> at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349)
> at org.apache.catalina.connector.OutputBuffer.writeBytes(
> OutputBuffer.java:381) at org.apache.catalina.connector.OutputBuffer.write(
> OutputBuffer.java:370)
> at org.apache.catalina.connector.CoyoteOutputStream.write(
> CoyoteOutputStream.java:89)
> at org.apache.catalina.connector.CoyoteOutputStream.write(
> CoyoteOutputStream.java:83)
> at com.cognotec.streaming.SynchronizedOutputStream.write(
> SynchronizedOutputStream.java:25)
> at com.cognotec.streaming.CometRateSender.run(CometRateSender.java :86)
> at java.lang.Thread.run(Thread.java:595)
>
>
>
> -- burak
>
>   


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org