users@grizzly.java.net

Re: IllegalStateException after call to AtmpsphereServlet

From: Chris Wesdorp <chriswesdorp_at_gmail.com>
Date: Wed, 29 Sep 2010 23:46:37 +0200

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