Hello Alexy,
first apologies for the long wait on this reply, I was not in the office for
some time and did not have time to test this earlier. Today I upgrade the
JVM on the machine to JDK 1.6.0 update 22. The output of the system
properties is
OS: Windows 2003
Version: 5.2
and the java version output is
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing)
I can confirm the problem still exists with this combination.
Regards,
Chris
On Thu, Sep 30, 2010 at 5:43 PM, Oleksiy Stashok <oleksiy.stashok_at_oracle.com
> wrote:
> Hi Chris,
>
> wanted to check two items with you:
>
> 1) can you pls. try the latest JDK6 available (1.6.0_20 or 1.6.0_21) and
> see if the issue is still reproducible?
> 2) can you pls. send me the output from [1]
>
> Thanks.
>
> WBR,
> Alexey.
>
> [1]
>
> public static void main(String[] args) {
> System.out.println("OS: " + System.getProperty("os.name"));
> System.out.println("Version: " + System.getProperty("os.version"));
> }
>
>
> On Sep 29, 2010, at 23:46 , Chris Wesdorp wrote:
>
> Hello Alexey,
>
> A patch to solve this would be great. We now switched to blocking IO to
> work around it. We use glassfish 3.0.1 , do you need more details about
> certain packages? Can be patch also be applied to a 32-bit JVM running on
> Windows Server 2003? The current version there is
>
> java version "1.6.0_13"
> Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
> Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode, sharing)
>
> but if needed we will upgrade it.
>
>
> Regards,
> Chris
>
>
> On Wed, Sep 29, 2010 at 4:07 PM, Oleksiy Stashok <Oleksiy.Stashok_at_sun.com>wrote:
>
>> Thank you for the info.
>> I can provide a patch, which will enforce selector spin workaround to work
>> on Windows 7.
>> Pls. let me know which GFv3 version are you using?
>>
>> Thanks.
>>
>> WBR,
>> Alexey.
>>
>> On 10-09-28 4:08 AM, Chris Wesdorp wrote:
>>>
>>>> Hello,
>>>>
>>>> I did test on Mac OS X.6 but did not encounter the issue. I will try to
>>>> test with Tomcat as well and let you know the results.
>>>>
>>>
>>> Thanks for sharing! I will pass the information to the Grizzly team.
>>>
>>> A+
>>>
>>> -- Jeanfrancois
>>>
>>>
>>>
>>>>
>>>> Regards,
>>>> Chris
>>>>
>>>>
>>>> On Fri, Sep 24, 2010 at 11:30 PM, jfarcand <jfarcand.oss_at_gmail.com
>>>> <mailto:jfarcand.oss_at_gmail.com>> wrote:
>>>>
>>>> Salut,
>>>>
>>>> On 10-09-23 2:31 AM, Chris Wesdorp wrote:
>>>>
>>>> Hi,
>>>>
>>>> I can try on Mac OS X.6 and Linux is an option (need to install
>>>> glassfish on it though). This will be next weekend or begin next
>>>> week. I
>>>> will let you know.
>>>>
>>>>
>>>> another tests is to try with another container like Tomcat. That
>>>> will help isolating the issue.
>>>>
>>>> A+
>>>>
>>>> - Jeanfrancois
>>>>
>>>>
>>>>
>>>>
>>>> Regards,
>>>> Chris
>>>>
>>>>
>>>> On Thu, Sep 23, 2010 at 12:10 AM, jfarcand
>>>> <jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>>>
>>>> wrote:
>>>>
>>>> Salut,
>>>>
>>>> On 10-09-22 3:48 AM, Pierre wrote:
>>>>
>>>> Could it be this bug?
>>>> http://bugs.sun.com/view_bug.do?bug_id=6595055
>>>>
>>>> <http://bugs.sun.com/view_bug.do?bug_id=6595055>Its filed in
>>>> 2007 but no
>>>> fix has been done yet.
>>>> The workaround they suggest is to set the property
>>>> -J-Dcom.sun.CORBA.transport.ORBUseNIOSelectToWait=false
>>>> Would this be a usefull workaround?
>>>>
>>>>
>>>> This is a similar issue except we (including the NIO lead @
>>>> Sun)
>>>> never saw this issue on windows. The property above only
>>>> works with
>>>> Corba. Grizzly support the same workaround except I think it
>>>> only
>>>> applied when run on Linux.
>>>>
>>>> Would it be possible to test on another platform to see if
>>>> the issue
>>>> stills occurs.
>>>>
>>>> Thanks!
>>>>
>>>> -- Jeanfrancois
>>>>
>>>>
>>>> Pierre
>>>>
>>>>
>>>> On Fri, Sep 17, 2010 at 9:41 PM, Chris Wesdorp
>>>> <chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>>>>
>>>> wrote:
>>>>
>>>> Hello Alexy,
>>>>
>>>> Thanks for your interest.
>>>>
>>>> A few mails back I added stack traces from jstack
>>>> when the
>>>> CPU load
>>>> was high. I was running Glassfish in debug mode with
>>>> Netbeans.
>>>> Because I did the jstack a few time some threads got
>>>> my
>>>> attention.
>>>> With the debugger I suspended the threads below which
>>>> brought down
>>>> the CPU to almost zero.
>>>>
>>>> This was done when all clients where disconnected.
>>>> When I
>>>> trigger a
>>>> broadcast and check the number of attached resources
>>>> in
>>>> Atmosphere
>>>> the number is zero.
>>>>
>>>> Can you work with this?
>>>>
>>>>
>>>> Regards,
>>>> Chris
>>>>
>>>>
>>>>
>>>>
>>>> "Thread-38" daemon prio=10 tid=0x0000000038e29800 nid=0x1b3c
>>>> runnable [0x000000003be3f000]
>>>>
>>>> java.lang.Thread.State: RUNNABLE
>>>> at
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native
>>>> Method)
>>>> at
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:273)
>>>> at
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:255)
>>>> at
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:136)
>>>> at
>>>>
>>>> sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
>>>> - locked <0x0000000017ceef40> (a
>>>> sun.nio.ch.Util$1)
>>>> - locked <0x0000000017ceef28> (a
>>>> java.util.Collections$UnmodifiableSet)
>>>> - locked <0x0000000017ceeb80> (a
>>>> sun.nio.ch.WindowsSelectorImpl)
>>>>
>>>> at
>>>> sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
>>>> at
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.TCPSelectorHandler.select(TCPSelectorHandler.java:513)
>>>> at
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:185)
>>>> at
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:130)
>>>> at
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at java.lang.Thread.run(Thread.java:619
>>>>
>>>> "Thread-23" daemon prio=10 tid=0x0000000038e2f000 nid=0x108
>>>> runnable
>>>> [0x000000003d91f000]
>>>>
>>>> java.lang.Thread.State: RUNNABLE
>>>> at
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native
>>>> Method)
>>>> at
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:273)
>>>> at
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:255)
>>>> at
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:136)
>>>> at
>>>>
>>>> sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
>>>> - locked <0x0000000016ba8bc8> (a
>>>> sun.nio.ch.Util$1)
>>>> - locked <0x0000000016ba8bb0> (a
>>>> java.util.Collections$UnmodifiableSet)
>>>> - locked <0x0000000016ba87a8> (a
>>>> sun.nio.ch.WindowsSelectorImpl)
>>>>
>>>> at
>>>> sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
>>>> at
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.TCPSelectorHandler.select(TCPSelectorHandler.java:513)
>>>> at
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:185)
>>>> at
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:130)
>>>> at
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at java.lang.Thread.run(Thread.java:619
>>>>
>>>>
>>>>
>>>> On Fri, Sep 17, 2010 at 7:47 PM, Oleksiy Stashok
>>>> <oleksiy.stashok_at_oracle.com <mailto:oleksiy.stashok_at_oracle.com>
>>>> <mailto:oleksiy.stashok_at_oracle.com
>>>> <mailto:oleksiy.stashok_at_oracle.com>>
>>>> <mailto:oleksiy.stashok_at_oracle.com
>>>> <mailto:oleksiy.stashok_at_oracle.com>
>>>> <mailto:oleksiy.stashok_at_oracle.com
>>>> <mailto:oleksiy.stashok_at_oracle.com>>>> wrote:
>>>>
>>>> Hi guys,
>>>>
>>>> it could be good to make clear which
>>>> thread/threads
>>>> cause the
>>>> 100% CPU problem.
>>>> Is it possible to just stop/disconnect all the
>>>> client,
>>>> when 100%
>>>> CPU is observed and check if it still exists,
>>>> when there
>>>> are no
>>>> clients.
>>>>
>>>> If it's there - it would probably mean the
>>>> Selector spinning
>>>> problem, if not - then the problem is somewhere
>>>> else.
>>>>
>>>> Thanks.
>>>>
>>>> WBR,
>>>> Alexey.
>>>>
>>>>
>>>> On Sep 17, 2010, at 7:29 , jfarcand wrote:
>>>>
>>>> Salut,
>>>>
>>>> On 10-09-17 10:22 AM, Chris Wesdorp wrote:
>>>>
>>>> Hello,
>>>>
>>>> for development I use Windows 7 with the
>>>> following Java:
>>>> java version "1.6.0_20"
>>>> Java(TM) SE Runtime Environment (build
>>>> 1.6.0_20-b02)
>>>> Java HotSpot(TM) 64-Bit Server VM (build
>>>> 16.3-b01, mixed
>>>> mode)
>>>>
>>>> I also noticed the problem on (32-bit
>>>> windows
>>>> server 2003
>>>> java version "1.6.0_13"
>>>> Java(TM) SE Runtime Environment (build
>>>> 1.6.0_13-b03)
>>>> Java HotSpot(TM) Client VM (build
>>>> 11.3-b02,
>>>> mixed mode,
>>>> sharing)
>>>>
>>>>
>>>> Thanks! Alexey, can you check internally if
>>>> there is
>>>> such
>>>> issue on win7 + NIO ? I've also fwd the
>>>> details to
>>>> the NIO
>>>> spec lead. I know this issue was fixed in
>>>> 6u21 (for
>>>> Linux).
>>>> Can you try it?
>>>>
>>>> Thanks!
>>>>
>>>> -- Jeanfrancois
>>>>
>>>>
>>>>
>>>>
>>>> I did attach the JVM report of my local
>>>> glassfish. Then
>>>> you know all the
>>>> details :)
>>>>
>>>>
>>>> Regards,
>>>> Chris
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Fri, Sep 17, 2010 at 3:54 PM, jfarcand
>>>> <jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>>>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>
>>>> <mailto:jfarcand.oss_at_gmail.com
>>>> <mailto:jfarcand.oss_at_gmail.com>>>>> wrote:
>>>>
>>>> Salut,
>>>>
>>>>
>>>> On 10-09-17 5:24 AM, Chris Wesdorp
>>>> wrote:
>>>>
>>>> Also an update from our side;
>>>> with your
>>>> remark on
>>>> the swallowed
>>>> exception we did look at
>>>> atmosphere-gwt-comet,
>>>> also here an
>>>> exception
>>>> was swallowed, seems like
>>>> atmosphere
>>>> needs this
>>>> to remove the
>>>> resource
>>>> (together with your change). In
>>>> my test
>>>> project
>>>> the broadcaster
>>>> does not
>>>> have any resources any more when
>>>> all browser
>>>> connections are
>>>> closed (to
>>>> be sure I just close the browser).
>>>>
>>>> The following stack trace is now
>>>> printed
>>>> into my
>>>> log file (from
>>>> atmosphere):
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> [#|2010-09-17T11:06:56.883+0200|WARNING|oracle-glassfish3.0.1|Atmosphere|_ThreadID=32;_ThreadName=Thread-1;|Serializer
>>>> exception
>>>>
>>>> org.apache.catalina.connector.ClientAbortException:
>>>> java.io.IOException:
>>>> An established connection was
>>>> aborted by the
>>>> software in your
>>>> host machine
>>>> at
>>>>
>>>>
>>>> That means the connection got dropped
>>>> by the
>>>> browser
>>>> when the server
>>>> was trying to writes some bytes. So
>>>> the exception
>>>> logged is correct.
>>>> Now the high CPU isn't. To me it
>>>> clearly look
>>>> like a
>>>> bug within the JDK.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:382)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:351)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:176)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.CountOutputStream.flush(CountOutputStream.java:64)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.deflate.DeflaterOutputStream.flush(DeflaterOutputStream.java:101)
>>>> at
>>>>
>>>>
>>>> sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:278)
>>>> at
>>>>
>>>> sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:122)
>>>> at
>>>>
>>>>
>>>>
>>>> java.io.OutputStreamWriter.flush(OutputStreamWriter.java:212)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtResponseWriterImpl.flush(GwtResponseWriterImpl.java:243)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtResponseWriterImpl.write(GwtResponseWriterImpl.java:207)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.ManagedStreamResponseWriter.write(ManagedStreamResponseWriter.java:75)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtResponseWriterImpl.write(GwtResponseWriterImpl.java:183)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtAtmosphereResourceImpl$2.write(GwtAtmosphereResourceImpl.java:200)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.handler.AbstractReflectorAtmosphereHandler.onStateChange(AbstractReflectorAtmosphereHandler.java:82)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster.broadcast(DefaultBroadcaster.java:345)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster.push(DefaultBroadcaster.java:319)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster.push(DefaultBroadcaster.java:280)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster$1.run(DefaultBroadcaster.java:229)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>> at
>>>>
>>>> java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>> Caused by: java.io.IOException: An
>>>> established
>>>> connection was
>>>> aborted by
>>>> the software in your host machine
>>>> at
>>>> sun.nio.ch.SocketDispatcher.write0(Native
>>>> Method)
>>>> at
>>>>
>>>>
>>>> sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:33)
>>>> at
>>>>
>>>> sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:104)
>>>> at
>>>> sun.nio.ch.IOUtil.write(IOUtil.java:75)
>>>> at
>>>>
>>>>
>>>>
>>>> sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:334)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:106)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:74)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.http.SocketChannelOutputBuffer.flushChannel(SocketChannelOutputBuffer.java:321)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.http.SocketChannelOutputBuffer.flushBuffer(SocketChannelOutputBuffer.java:392)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.http.SocketChannelOutputBuffer.flush(SocketChannelOutputBuffer.java:370)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.http.ProcessorTask.action(ProcessorTask.java:1174)
>>>> at
>>>>
>>>> com.sun.grizzly.tcp.Response.action(Response.java:266)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:378)
>>>> ... 23 more
>>>> |#]
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> [#|2010-09-17T11:06:56.885+0200|FINE|oracle-glassfish3.0.1|Atmosphere|_ThreadID=32;_ThreadName=Thread-1;ClassName=null;MethodName=null;|
>>>> java.io.IOException:
>>>>
>>>> org.apache.catalina.connector.ClientAbortException:
>>>> java.io.IOException: An established
>>>> connection
>>>> was aborted by the
>>>> software in your host machine
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.handler.AbstractReflectorAtmosphereHandler.onStateChange(AbstractReflectorAtmosphereHandler.java:85)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster.broadcast(DefaultBroadcaster.java:345)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster.push(DefaultBroadcaster.java:319)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster.push(DefaultBroadcaster.java:280)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster$1.run(DefaultBroadcaster.java:229)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>> at
>>>>
>>>> java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>> Caused by:
>>>>
>>>> org.apache.catalina.connector.ClientAbortException:
>>>> java.io.IOException: An established
>>>> connection
>>>> was aborted by the
>>>> software in your host machine
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:382)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:351)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:176)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.CountOutputStream.flush(CountOutputStream.java:64)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.deflate.DeflaterOutputStream.flush(DeflaterOutputStream.java:101)
>>>> at
>>>>
>>>>
>>>> sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:278)
>>>> at
>>>>
>>>> sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:122)
>>>> at
>>>>
>>>>
>>>>
>>>> java.io.OutputStreamWriter.flush(OutputStreamWriter.java:212)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtResponseWriterImpl.flush(GwtResponseWriterImpl.java:243)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtResponseWriterImpl.write(GwtResponseWriterImpl.java:207)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.ManagedStreamResponseWriter.write(ManagedStreamResponseWriter.java:75)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtResponseWriterImpl.write(GwtResponseWriterImpl.java:183)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtAtmosphereResourceImpl$2.write(GwtAtmosphereResourceImpl.java:200)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.handler.AbstractReflectorAtmosphereHandler.onStateChange(AbstractReflectorAtmosphereHandler.java:82)
>>>> ... 10 more
>>>> Caused by: java.io.IOException: An
>>>> established
>>>> connection was
>>>> aborted by
>>>> the software in your host machine
>>>> at
>>>> sun.nio.ch.SocketDispatcher.write0(Native
>>>> Method)
>>>> at
>>>>
>>>>
>>>> sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:33)
>>>> at
>>>>
>>>> sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:104)
>>>> at
>>>> sun.nio.ch.IOUtil.write(IOUtil.java:75)
>>>> at
>>>>
>>>>
>>>>
>>>> sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:334)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:106)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:74)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.http.SocketChannelOutputBuffer.flushChannel(SocketChannelOutputBuffer.java:321)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.http.SocketChannelOutputBuffer.flushBuffer(SocketChannelOutputBuffer.java:392)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.http.SocketChannelOutputBuffer.flush(SocketChannelOutputBuffer.java:370)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.http.ProcessorTask.action(ProcessorTask.java:1174)
>>>> at
>>>>
>>>> com.sun.grizzly.tcp.Response.action(Response.java:266)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:378)
>>>> ... 23 more
>>>> |#]
>>>>
>>>> Based on jstack it seems some
>>>> threads are
>>>> using
>>>> the CPU time
>>>> with this
>>>> stack trace
>>>> "Thread-38" daemon prio=10 tid=0x0000000038e29800 nid=0x1b3c
>>>> runnable
>>>> [0x000000003be3f000]
>>>> java.lang.Thread.State:
>>>> RUNNABLE
>>>> at
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native
>>>> Method)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:273)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:255)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:136)
>>>> at
>>>>
>>>>
>>>>
>>>> sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
>>>> - locked <0x0000000017ceef40>
>>>> (a
>>>> sun.nio.ch.Util$1)
>>>> - locked <0x0000000017ceef28>
>>>> (a
>>>>
>>>> java.util.Collections$UnmodifiableSet)
>>>> - locked <0x0000000017ceeb80>
>>>> (a
>>>> sun.nio.ch.WindowsSelectorImpl)
>>>> at
>>>>
>>>> sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.TCPSelectorHandler.select(TCPSelectorHandler.java:513)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:185)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:130)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619
>>>>
>>>> "Thread-23" daemon prio=10 tid=0x0000000038e2f000
>>>> nid=0x108 runnable
>>>> [0x000000003d91f000]
>>>> java.lang.Thread.State:
>>>> RUNNABLE
>>>> at
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native
>>>> Method)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:273)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:255)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:136)
>>>> at
>>>>
>>>>
>>>>
>>>> sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
>>>> - locked <0x0000000016ba8bc8>
>>>> (a
>>>> sun.nio.ch.Util$1)
>>>> - locked <0x0000000016ba8bb0>
>>>> (a
>>>>
>>>> java.util.Collections$UnmodifiableSet)
>>>> - locked <0x0000000016ba87a8>
>>>> (a
>>>> sun.nio.ch.WindowsSelectorImpl)
>>>> at
>>>>
>>>> sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.TCPSelectorHandler.select(TCPSelectorHandler.java:513)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:185)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:130)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619
>>>>
>>>> When I suspend threads using the
>>>> NetBeans
>>>> debugger my CPU load
>>>> drops.
>>>>
>>>>
>>>> I'm cc-ing Alexey (the Grizzly lead)
>>>> as we
>>>> may know
>>>> if there is an
>>>> issue with the JDK on win32. It looks
>>>> like the
>>>> Selector is no longer
>>>> blocking.
>>>>
>>>> Can you cut & paste the java -version
>>>> output?
>>>>
>>>> Thanks!
>>>>
>>>> -- Jeanfrancois
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Regards,
>>>> Chris
>>>>
>>>>
>>>>
>>>>
>>>> On Fri, Sep 17, 2010 at 9:33 AM,
>>>> Chris
>>>> Wesdorp
>>>> <chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>>>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>>>>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>>>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com>
>>>> <mailto:chriswesdorp_at_gmail.com <mailto:chriswesdorp_at_gmail.com
>>>> >>>>>>
>>>> wrote:
>>>>
>>>> Hello Jeanfrancois,
>>>>
>>>> thanks for the quick response.
>>>> Unfortunately
>>>> I experience
>>>> the same
>>>> behavior as before. I also
>>>> don't see the
>>>> warning from the
>>>> handler
>>>> printed into my log files.
>>>>
>>>> Regards,
>>>> Chris
>>>>
>>>>
>>>>
>>>>
>>>> On Fri, Sep 17, 2010 at 5:02
>>>> AM, jfarcand
>>>> <jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>>>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>>>>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>>>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com>
>>>> <mailto:jfarcand.oss_at_gmail.com <mailto:jfarcand.oss_at_gmail.com
>>>> >>>>>>
>>>> wrote:
>>>>
>>>> Salut,
>>>>
>>>> Quick update:
>>>>
>>>>
>>>> http://github.com/Atmosphere/atmosphere/commit/dabe9c17116471ab529780af65c1cd9022f8ef13
>>>>
>>>> looking at the stack
>>>> trace I saw
>>>> that a
>>>> Serializer was
>>>> used and
>>>> if a IO exception
>>>> occurred the
>>>> exception
>>>> was swallowed
>>>> and not
>>>> propagated. Just download
>>>> the latest
>>>> version of the
>>>> atmosphere-runtime and let
>>>> me
>>>> know how it
>>>> goes.
>>>>
>>>>
>>>>
>>>>
>>>> http://oss.sonatype.org/content/repositories/snapshots/org/atmosphere/atmosphere-runtime/0.7-SNAPSHOT/
>>>>
>>>> A+
>>>>
>>>> -- Jeanfrancois
>>>>
>>>>
>>>>
>>>> On 10-09-16 8:52 AM, Chris
>>>> Wesdorp wrote:
>>>>
>>>> Thanks for the
>>>> response, I
>>>> did some
>>>> more testing
>>>> with the
>>>> application
>>>> attached (more about
>>>> this
>>>> later on)
>>>> and got to
>>>> reproduce the
>>>> problem. I
>>>> don't know for sure
>>>> where the
>>>> problem is,
>>>> atmosphere, grizzly or
>>>> Atmosphere GWT Comet
>>>> which we
>>>> use in
>>>> the project. We
>>>> made
>>>> some changes
>>>> to
>>>> atmosphere-gwt-comet, you
>>>> need the
>>>> 0.2-SNAPSHOT
>>>> in your maven
>>>> repository. This seems
>>>> to
>>>> resolve the
>>>> problems in
>>>> previous
>>>> emails with
>>>> exceptions thrown
>>>> around.
>>>>
>>>> After deploying an
>>>> application in
>>>> Glassfish after
>>>> some time
>>>> the CPU load
>>>> stays actively on 50%
>>>> (my
>>>> machine, I
>>>> also encountered
>>>> higher/lower
>>>> loads). In the period
>>>> between
>>>> deployment and this
>>>> high load
>>>> a number of
>>>> comet connections are
>>>> created and
>>>> closed, sometimes with
>>>> little time
>>>> between starting and
>>>> closing a
>>>> connection. When I
>>>> deactivate
>>>> the http
>>>> listener the load is
>>>> back to
>>>> zero,
>>>> but after
>>>> starting/stopping a
>>>> lot of
>>>> connection is stays
>>>> up again.
>>>>
>>>> In some testing I
>>>> discovered a
>>>> situation where after a
>>>> broadcast data
>>>> was written to an
>>>> already closed
>>>> stream, this
>>>> happened when
>>>> a reference
>>>> to a Broadcaster was
>>>> retrieved (using
>>>>
>>>> BroadcasterFactory.getDefault().lookup)
>>>> and after
>>>> this, but
>>>> before or
>>>> during the
>>>> broadcast(), the
>>>> number of
>>>> connections
>>>> changed.
>>>> But then
>>>> again, only when a
>>>> high number of
>>>> connections is
>>>> created and
>>>> closed.
>>>>
>>>> The following stack
>>>> trace is
>>>> printed
>>>> from the GWT Comet:
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> [#|2010-09-16T13:07:34.176+0200|FINE|oracle-glassfish3.0.1|com.greencat.gwt.comet.server.impl.GwtAtmosphereResourceImpl|_ThreadID=35;_ThreadName=Thread-1;ClassName=com.greencat.gwt.comet.server.impl.GwtAtmosphereResourceImpl$2;MethodName=write;|broadcast
>>>> failed, connection
>>>> terminated
>>>> java.io.IOException:
>>>> CometServletResponse terminated
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtResponseWriterImpl.write(GwtResponseWriterImpl.java:199)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.ManagedStreamResponseWriter.write(ManagedStreamResponseWriter.java:75)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtResponseWriterImpl.write(GwtResponseWriterImpl.java:183)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtAtmosphereResourceImpl$2.write(GwtAtmosphereResourceImpl.java:200)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.handler.AbstractReflectorAtmosphereHandler.onStateChange(AbstractReflectorAtmosphereHandler.java:82)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster.broadcast(DefaultBroadcaster.java:327)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster.push(DefaultBroadcaster.java:301)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster.push(DefaultBroadcaster.java:263)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster$1.run(DefaultBroadcaster.java:212)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>> at
>>>>
>>>>
>>>> java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>> |#]
>>>>
>>>>
>>>> This happens in the
>>>> write
>>>> method, the
>>>> first lines are
>>>> @Override
>>>> public
>>>> synchronized void
>>>> write(List<? extends
>>>> Serializable>
>>>> messages, boolean
>>>> flush) throws
>>>> IOException {
>>>> if
>>>> (terminated) {
>>>> throw new
>>>> IOException("CometServletResponse
>>>> terminated");
>>>> }
>>>>
>>>> The writer knowns the
>>>> connections is
>>>> terminated, but
>>>> atmosphere did not
>>>> skip the call. So far
>>>> okay,
>>>> but when
>>>> this happens a few
>>>> times the load
>>>> stays high. It also
>>>> seems the
>>>> number
>>>> of atmosphere
>>>> resources
>>>> in the
>>>> broadcaster is higher
>>>> than
>>>> the number
>>>> of active
>>>> connections
>>>> (based on
>>>> the fact that the
>>>>
>>>>
>>>> broadcaster.getAtmosphereResources().size() > 0 with
>>>> no active browsers).
>>>>
>>>> The attached
>>>> application is
>>>> created
>>>> using GWT, GXT and
>>>> Atmosphere GWT
>>>> comet (using atmosphere
>>>> 0.6.1). The
>>>> bean loading example
>>>> shows a grid
>>>> with data loaded from
>>>> the server.
>>>> The button "Update
>>>> random"
>>>> calls the
>>>> server to update a
>>>> random entry in
>>>> the list, the result is
>>>> returned via
>>>> comet.
>>>> The button "Start"
>>>> starts a comet
>>>> connection, the button
>>>> then becomes
>>>> "Stop" to stop a comet connection.
>>>> The button "Test"
>>>> does the
>>>> trick, it
>>>> starts and stops 25
>>>> connections in
>>>> a loop.
>>>>
>>>> When testing I set my
>>>> log
>>>> level to
>>>> FINEST for both
>>>> atmosphere and GWT
>>>> Comet. After pressing
>>>> start one
>>>> connection is
>>>> created and
>>>> the logging
>>>> shows suspension of 1
>>>> connection.
>>>> When I broadcast a
>>>> message
>>>> the message
>>>> is broadcasted and
>>>> the row in the
>>>> grid is updated or
>>>> added.
>>>> For the test
>>>> we must at least
>>>> connect once
>>>> using
>>>> the start button
>>>> (I think to
>>>> initialize the
>>>> broadcaster).
>>>>
>>>> Now for the test; we
>>>> need a high
>>>> number of start
>>>> stopping
>>>> connections
>>>> and a lot of
>>>> broadcasts;
>>>> there is a
>>>> servlet which
>>>> can trigger a
>>>> broadcast which I
>>>> call with
>>>> curl in a
>>>> loop (curl in
>>>> cygwin
>>>> which allows
>>>> sleeps < 1s, i think
>>>> i would work
>>>> with out sleeps as
>>>> well).
>>>> Just before
>>>> the broadcast the
>>>> number of
>>>> atmosphere resources is
>>>> printed.
>>>>
>>>> for i in $(seq 1 100);
>>>> do
>>>> sleep 0.2;
>>>> curl -N
>>>> '
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> >>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> >>>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> >>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> >>>>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> >>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> >>>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> >>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> >>>>>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> >>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> >>>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> >>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> >>>>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> >>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> >>>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> >>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2>
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> <
>>>> http://127.0.0.1:8080/listloading-1.0-SNAPSHOT/trigger?force=true&id=2
>>>> >>>>>>';
>>>> done
>>>>
>>>> So, I start
>>>> broadcasting and
>>>> at the
>>>> same time I
>>>> press the
>>>> test button in
>>>> the browser. In my
>>>> situation the
>>>> broadcasting slows
>>>> down and
>>>> after
>>>> around 10 broadcasts
>>>> errors
>>>> appear. I
>>>> stop the bash loop
>>>> using ctrl-c
>>>> but the CPU load
>>>> stays high.
>>>>
>>>> After stopping curl,
>>>> i closed the
>>>> browser and call
>>>> curl one
>>>> more time,
>>>> this in an error in
>>>> the log file.
>>>>
>>>> So:
>>>> 1) start the
>>>> application
>>>> 2) start comet
>>>> 3) update a row
>>>> 4) stop comet
>>>> 5) start curl
>>>> broadcasting
>>>> 6) press test in the
>>>> browser
>>>> 7) wait for an
>>>> exception
>>>> 8) stop broadcasting
>>>> 9) close the browser
>>>> 10) submit one more
>>>> broadcast
>>>>
>>>> With the CPU load high;
>>>> looking at
>>>> the runnable threads
>>>> using jvisualvm
>>>> I see a number of
>>>> thread
>>>> active, the
>>>> runnable (and
>>>> atmosphere threads)
>>>> are printed below.
>>>>
>>>> I can include the WAR
>>>> file,
>>>> but this
>>>> is 11MB so if
>>>> you need
>>>> it please
>>>> let me know, then I
>>>> will put
>>>> in on a
>>>> server somewhere.
>>>>
>>>> Regards,
>>>>
>>>> Chris
>>>>
>>>>
>>>>
>>>>
>>>> -----------------------------------
>>>> The thread dump
>>>>
>>>> -----------------------------------
>>>>
>>>> "Atmosphere-BroadcasterConfig-3" daemon prio=10
>>>> tid=0x000000003936c800
>>>> nid=0x163c waiting on
>>>> condition
>>>> [0x000000003d9cf000]
>>>>
>>>> java.lang.Thread.State:
>>>> WAITING
>>>> (parking)
>>>> at
>>>> sun.misc.Unsafe.park(Native
>>>> Method)
>>>> - parking to
>>>> wait for
>>>> <0x000000001a814860> (a
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster$1.run(DefaultBroadcaster.java:209)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>> at
>>>>
>>>>
>>>> java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>>
>>>> Locked ownable
>>>> synchronizers:
>>>> -
>>>> <0x000000001ae56130> (a
>>>>
>>>>
>>>> java.util.concurrent.locks.ReentrantLock$NonfairSync)
>>>>
>>>> "Atmosphere-BroadcasterConfig-0" daemon prio=10
>>>> tid=0x0000000037aad800
>>>> nid=0x610 waiting on
>>>> condition
>>>> [0x000000004071f000]
>>>>
>>>> java.lang.Thread.State:
>>>> WAITING
>>>> (parking)
>>>> at
>>>> sun.misc.Unsafe.park(Native
>>>> Method)
>>>> - parking to
>>>> wait for
>>>> <0x000000001a4fc210> (a
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster$1.run(DefaultBroadcaster.java:209)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>> at
>>>>
>>>>
>>>> java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>>
>>>> Locked ownable
>>>> synchronizers:
>>>> -
>>>> <0x000000001a4fba88> (a
>>>>
>>>>
>>>> java.util.concurrent.locks.ReentrantLock$NonfairSync)
>>>>
>>>> "Atmosphere-BroadcasterConfig-3" daemon prio=10
>>>> tid=0x0000000037aa8800
>>>> nid=0x6e8 waiting on
>>>> condition
>>>> [0x000000003dacf000]
>>>>
>>>> java.lang.Thread.State:
>>>> WAITING
>>>> (parking)
>>>> at
>>>> sun.misc.Unsafe.park(Native
>>>> Method)
>>>> - parking to
>>>> wait for
>>>> <0x000000001a3683a8> (a
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster$1.run(DefaultBroadcaster.java:209)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>> at
>>>>
>>>>
>>>> java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>>
>>>> Locked ownable
>>>> synchronizers:
>>>> -
>>>> <0x000000001a40f2c0> (a
>>>>
>>>>
>>>> java.util.concurrent.locks.ReentrantLock$NonfairSync)
>>>>
>>>> "Atmosphere-BroadcasterConfig-4" daemon prio=10
>>>> tid=0x0000000039366000
>>>> nid=0x1088 waiting on
>>>> condition
>>>> [0x000000004021f000]
>>>>
>>>> java.lang.Thread.State:
>>>> WAITING
>>>> (parking)
>>>> at
>>>> sun.misc.Unsafe.park(Native
>>>> Method)
>>>> - parking to
>>>> wait for
>>>> <0x000000001858d2a8> (a
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster$1.run(DefaultBroadcaster.java:209)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>> at
>>>>
>>>>
>>>> java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>>
>>>> Locked ownable
>>>> synchronizers:
>>>> -
>>>> <0x000000001a2eaa70> (a
>>>>
>>>>
>>>> java.util.concurrent.locks.ReentrantLock$NonfairSync)
>>>>
>>>>
>>>> "Thread-38" daemon prio=10 tid=0x0000000037f8d000 nid=0xa1c
>>>> runnable
>>>> [0x000000003c2ff000]
>>>>
>>>> java.lang.Thread.State:
>>>> RUNNABLE
>>>> at
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native
>>>> Method)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:273)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:255)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:136)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
>>>> - locked
>>>> <0x0000000017b658a0> (a
>>>> sun.nio.ch.Util$1)
>>>> - locked
>>>> <0x0000000017b65888> (a
>>>>
>>>> java.util.Collections$UnmodifiableSet)
>>>> - locked
>>>> <0x0000000017b654e0> (a
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl)
>>>> at
>>>>
>>>> sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.TCPSelectorHandler.select(TCPSelectorHandler.java:513)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:185)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:130)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>>
>>>> Locked ownable
>>>> synchronizers:
>>>> -
>>>> <0x0000000017b63bc8> (a
>>>>
>>>>
>>>> java.util.concurrent.locks.ReentrantLock$NonfairSync)
>>>>
>>>> "RMI TCP Connection(39)-172.16.7.13" daemon prio=6
>>>>
>>>> tid=0x0000000037aaa800 nid=0x15d0
>>>> runnable
>>>> [0x0000000041ecf000]
>>>>
>>>> java.lang.Thread.State:
>>>> RUNNABLE
>>>> at
>>>>
>>>> java.net.SocketInputStream.socketRead0(Native Method)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.net.SocketInputStream.read(SocketInputStream.java:129)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.io.BufferedInputStream.read(BufferedInputStream.java:237)
>>>> - locked
>>>> <0x000000001ba490a8> (a
>>>>
>>>> java.io.BufferedInputStream)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.io.FilterInputStream.read(FilterInputStream.java:66)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:517)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>>
>>>> Locked ownable
>>>> synchronizers:
>>>> -
>>>> <0x000000001ba39230> (a
>>>>
>>>>
>>>> java.util.concurrent.locks.ReentrantLock$NonfairSync)
>>>>
>>>> "RMI TCP Accept-0" daemon prio=6 tid=0x000000003a026800
>>>> nid=0x171c
>>>> runnable
>>>> [0x00000000418cf000]
>>>>
>>>> java.lang.Thread.State:
>>>> RUNNABLE
>>>> at
>>>>
>>>> java.net.PlainSocketImpl.socketAccept(Native
>>>> Method)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
>>>> - locked
>>>> <0x000000001ba0ba90> (a
>>>> java.net.SocksSocketImpl)
>>>> at
>>>>
>>>>
>>>> java.net.ServerSocket.implAccept(ServerSocket.java:453)
>>>> at
>>>>
>>>> java.net.ServerSocket.accept(ServerSocket.java:421)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:34)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>>
>>>> Locked ownable
>>>> synchronizers:
>>>> - None
>>>>
>>>> "Atmosphere-BroadcasterConfig-5" daemon prio=10
>>>> tid=0x000000003a025800
>>>> nid=0x175c waiting on
>>>> condition
>>>> [0x00000000416cf000]
>>>>
>>>> java.lang.Thread.State:
>>>> WAITING
>>>> (parking)
>>>> at
>>>> sun.misc.Unsafe.park(Native
>>>> Method)
>>>> - parking to
>>>> wait for
>>>> <0x000000001b24c0b0> (a
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster$1.run(DefaultBroadcaster.java:209)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>> at
>>>>
>>>>
>>>> java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>>
>>>> Locked ownable
>>>> synchronizers:
>>>> -
>>>> <0x000000001b9c70e0> (a
>>>>
>>>>
>>>> java.util.concurrent.locks.ReentrantLock$NonfairSync)
>>>>
>>>>
>>>> "Thread-35" daemon prio=10 tid=0x0000000037f8a000 nid=0x1010
>>>> waiting on
>>>> condition
>>>> [0x000000003bcef000]
>>>>
>>>> java.lang.Thread.State:
>>>> RUNNABLE
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:236)
>>>> - locked
>>>> <0x000000001b2c0878> (a
>>>> java.lang.Object)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.apache.catalina.connector.Request$RequestAttachment.handleSelectedKey(Request.java:3963)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.handleSelectedKey(SelectorHandlerRunner.java:274)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.handleSelectedKeys(SelectorHandlerRunner.java:258)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:195)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:130)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>>
>>>> Locked ownable
>>>> synchronizers:
>>>> -
>>>> <0x0000000017ae13e0> (a
>>>>
>>>>
>>>> java.util.concurrent.locks.ReentrantLock$NonfairSync)
>>>>
>>>>
>>>>
>>>>
>>>> "Thread-32" daemon prio=10 tid=0x00000000398b5800 nid=0xa60
>>>> runnable
>>>> [0x000000004124f000]
>>>>
>>>> java.lang.Thread.State:
>>>> RUNNABLE
>>>> at
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native
>>>> Method)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:273)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:255)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:136)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
>>>> - locked
>>>> <0x0000000017a3e790> (a
>>>> sun.nio.ch.Util$1)
>>>> - locked
>>>> <0x0000000017a3e778> (a
>>>>
>>>> java.util.Collections$UnmodifiableSet)
>>>> - locked
>>>> <0x0000000017a3e3d0> (a
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl)
>>>> at
>>>>
>>>> sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.TCPSelectorHandler.select(TCPSelectorHandler.java:513)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:185)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:130)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>>
>>>> Locked ownable
>>>> synchronizers:
>>>> -
>>>> <0x0000000017a38420> (a
>>>>
>>>>
>>>> java.util.concurrent.locks.ReentrantLock$NonfairSync)
>>>>
>>>>
>>>> "Thread-23" daemon prio=10 tid=0x0000000037f98000 nid=0xc20
>>>> runnable
>>>> [0x000000004051f000]
>>>>
>>>> java.lang.Thread.State:
>>>> RUNNABLE
>>>> at
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native
>>>> Method)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:273)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:255)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:136)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
>>>> - locked
>>>> <0x0000000016e0fb28> (a
>>>> sun.nio.ch.Util$1)
>>>> - locked
>>>> <0x0000000016e0fb10> (a
>>>>
>>>> java.util.Collections$UnmodifiableSet)
>>>> - locked
>>>> <0x0000000016e0f708> (a
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl)
>>>> at
>>>>
>>>> sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.TCPSelectorHandler.select(TCPSelectorHandler.java:513)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:185)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:130)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>>
>>>> Locked ownable
>>>> synchronizers:
>>>> -
>>>> <0x0000000016e1fe78> (a
>>>>
>>>>
>>>> java.util.concurrent.locks.ReentrantLock$NonfairSync)
>>>>
>>>> "Thread-21" daemon prio=10 tid=0x0000000037f91800 nid=0xb50
>>>> runnable
>>>> [0x000000003bfcf000]
>>>>
>>>> java.lang.Thread.State:
>>>> RUNNABLE
>>>> at
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native
>>>> Method)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:273)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:255)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:136)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
>>>> - locked
>>>> <0x0000000016f0c850> (a
>>>> sun.nio.ch.Util$1)
>>>> - locked
>>>> <0x0000000016f0c838> (a
>>>>
>>>> java.util.Collections$UnmodifiableSet)
>>>> - locked
>>>> <0x0000000016f0c160> (a
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl)
>>>> at
>>>>
>>>> sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.TCPSelectorHandler.select(TCPSelectorHandler.java:513)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:185)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:130)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>>
>>>> Locked ownable
>>>> synchronizers:
>>>> -
>>>> <0x0000000016f0bb08> (a
>>>>
>>>>
>>>> java.util.concurrent.locks.ReentrantLock$NonfairSync)
>>>>
>>>>
>>>> "Thread-15" daemon prio=10 tid=0x0000000037f8e800 nid=0xdd0
>>>> runnable
>>>> [0x000000003d4cf000]
>>>>
>>>> java.lang.Thread.State:
>>>> RUNNABLE
>>>> at
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native
>>>> Method)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:273)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:255)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:136)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
>>>> - locked
>>>> <0x00000000174bcfb8> (a
>>>> sun.nio.ch.Util$1)
>>>> - locked
>>>> <0x00000000174bcfa0> (a
>>>>
>>>> java.util.Collections$UnmodifiableSet)
>>>> - locked
>>>> <0x0000000016d9ba60> (a
>>>>
>>>> sun.nio.ch.WindowsSelectorImpl)
>>>> at
>>>>
>>>> sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.TCPSelectorHandler.select(TCPSelectorHandler.java:513)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:185)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:130)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>>
>>>> Locked ownable
>>>> synchronizers:
>>>> -
>>>> <0x00000000170bce08> (a
>>>>
>>>>
>>>> java.util.concurrent.locks.ReentrantLock$NonfairSync)
>>>>
>>>>
>>>>
>>>> -----------------------------------
>>>> Encountered stack
>>>> traces
>>>>
>>>> -----------------------------------
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> [#|2010-09-16T13:06:54.365+0200|FINE|oracle-glassfish3.0.1|com.greencat.gwt.comet.server.impl.GwtAtmosphereResourceImpl|_ThreadID=34;_ThreadName=Thread-1;ClassName=com.greencat.gwt.comet.server.impl.GwtAtmosphereResourceImpl$2;MethodName=write;|broadcast
>>>> failed, connection
>>>> terminated
>>>>
>>>>
>>>> org.apache.catalina.connector.ClientAbortException:
>>>> java.io.IOException:
>>>> An established
>>>> connection was
>>>> aborted
>>>> by the software in
>>>> your host machine
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:382)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:351)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:176)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.CountOutputStream.flush(CountOutputStream.java:64)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.deflate.DeflaterOutputStream.flush(DeflaterOutputStream.java:101)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:278)
>>>> at
>>>>
>>>>
>>>> sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:122)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> java.io.OutputStreamWriter.flush(OutputStreamWriter.java:212)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtResponseWriterImpl.flush(GwtResponseWriterImpl.java:243)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtResponseWriterImpl.write(GwtResponseWriterImpl.java:207)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.ManagedStreamResponseWriter.write(ManagedStreamResponseWriter.java:75)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtResponseWriterImpl.write(GwtResponseWriterImpl.java:183)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtAtmosphereResourceImpl$2.write(GwtAtmosphereResourceImpl.java:200)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.handler.AbstractReflectorAtmosphereHandler.onStateChange(AbstractReflectorAtmosphereHandler.java:82)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster.broadcast(DefaultBroadcaster.java:327)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster.push(DefaultBroadcaster.java:301)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster.push(DefaultBroadcaster.java:263)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster$1.run(DefaultBroadcaster.java:212)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>> at
>>>>
>>>>
>>>> java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>> Caused by:
>>>> java.io.IOException: An
>>>> established
>>>> connection
>>>> was aborted by
>>>> the software in your
>>>> host machine
>>>> at
>>>> sun.nio.ch.SocketDispatcher.write0(Native
>>>> Method)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:33)
>>>> at
>>>>
>>>>
>>>> sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:104)
>>>> at
>>>> sun.nio.ch.IOUtil.write(IOUtil.java:75)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>> sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:334)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:106)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:74)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.http.SocketChannelOutputBuffer.flushChannel(SocketChannelOutputBuffer.java:321)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.http.SocketChannelOutputBuffer.flushBuffer(SocketChannelOutputBuffer.java:392)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.http.SocketChannelOutputBuffer.flush(SocketChannelOutputBuffer.java:370)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.sun.grizzly.http.ProcessorTask.action(ProcessorTask.java:1174)
>>>> at
>>>>
>>>>
>>>> com.sun.grizzly.tcp.Response.action(Response.java:266)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:378)
>>>> ... 23 more
>>>> |#]
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> [#|2010-09-16T13:06:59.949+0200|INFO|oracle-glassfish3.0.1|javax.enterprise.system.std.com.sun.enterprise.v3.services.impl|_ThreadID=31;_ThreadName=Thread-1;|Number
>>>> of resources in
>>>> broadcaster: 1|#]
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> [#|2010-09-16T13:06:59.950+0200|FINE|oracle-glassfish3.0.1|com.greencat.gwt.comet.server.impl.GwtAtmosphereResourceImpl|_ThreadID=35;_ThreadName=Thread-1;ClassName=com.greencat.gwt.comet.server.impl.GwtAtmosphereResourceImpl$2;MethodName=write;|broadcast
>>>> failed, connection
>>>> terminated
>>>> java.io.IOException:
>>>> CometServletResponse terminated
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtResponseWriterImpl.write(GwtResponseWriterImpl.java:199)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.ManagedStreamResponseWriter.write(ManagedStreamResponseWriter.java:75)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtResponseWriterImpl.write(GwtResponseWriterImpl.java:183)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.greencat.gwt.comet.server.impl.GwtAtmosphereResourceImpl$2.write(GwtAtmosphereResourceImpl.java:200)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.handler.AbstractReflectorAtmosphereHandler.onStateChange(AbstractReflectorAtmosphereHandler.java:82)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster.broadcast(DefaultBroadcaster.java:327)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster.push(DefaultBroadcaster.java:301)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster.push(DefaultBroadcaster.java:263)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> org.atmosphere.cpr.DefaultBroadcaster$1.run(DefaultBroadcaster.java:212)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>> at
>>>>
>>>>
>>>> java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>> at
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>> at
>>>> java.lang.Thread.run(Thread.java:619)
>>>> |#]
>>>>
>>>>
>>>>
>>>> << removed previous mails >>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail:
>>>> users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>>>>
>>>>
>>>> For additional
>>>> commands, e-mail:
>>>> users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail:
>>>> users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>>>>
>>>>
>>>> For additional commands,
>>>> e-mail:
>>>> users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail:
>>>> users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>>>
>>>> For additional commands, e-mail:
>>>> users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail:
>>>> users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>>
>>>> For additional commands, e-mail:
>>>> users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail:
>>>> users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>>
>>>> For additional commands, e-mail:
>>>> users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail:
>>>> users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>>
>>>> For additional commands, e-mail:
>>>> users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>> <mailto:users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>>
>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe_at_atmosphere.dev.java.net
>>>> <mailto:users-unsubscribe_at_atmosphere.dev.java.net>
>>>> For additional commands, e-mail: users-help_at_atmosphere.dev.java.net
>>>> <mailto:users-help_at_atmosphere.dev.java.net>
>>>>
>>>>
>>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_atmosphere.dev.java.net
>> For additional commands, e-mail: users-help_at_atmosphere.dev.java.net
>>
>>
>
>