users@grizzly.java.net

Re: IllegalStateException after call to AtmpsphereServlet

From: Oleksiy Stashok <oleksiy.stashok_at_oracle.com>
Date: Thu, 30 Sep 2010 17:43:51 +0200

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
>
>