dev@grizzly.java.net

Re: TCPSelectorHandler$1 leaking

From: Oleksiy Stashok <Oleksiy.Stashok_at_Sun.COM>
Date: Fri, 26 Jun 2009 11:29:05 +0200

Hi,

>>>> Hi Scott,
>>>>> Sure thing, but I'm slightly confused by the wording -- do I
>>>>> need to get the new source and build, or is the latest snapshot
>>>>> download already built from the new source?
>>>> To be sure, I'll prefer to try from sources, because snapshots
>>>> could be produced with delays, and hudson is not so stable.
>>>
>>> Alexey, I saw your commit...that will for sure fix the issue, but
>>> we also need to find why we leak so bad when the pending I/O is
>>> executed by the thread pool. I suspect this could be related to
>>> our thread-count number (and all the issue we are observing right
>>> now with Executors ;-))
>> I'm even not sure there is some leak, because during stress test we
>> may load Thread-pool so hard, that it executes pending tasks
>> slower, than we add them. So the number of tasks continuesly grows.
>
> Well Scott measured 8 millions on TCPSelectorHandler$1 instance....I
> serioulsy thinks this is a major leak. It is not normal to see all
> those instance IMO.
>
> We need to rethink about the thread pool....we see too many
> regressions right now. Will start a new thread.
We can use kernel thread pool to execute pending tasks.

WBR,
Alexey.

>
> A+
>
> -- Jeanfrancois
>
>> WBR,
>> Alexey.
>>>
>>> A+
>>>
>>> - Jeanfrancois
>>>
>>>
>>>> Thank you.
>>>> WBR,
>>>> Alexey.
>>>>>
>>>>> -Scott
>>>>>
>>>>> On 06/25/09 11:05, Oleksiy Stashok wrote:
>>>>>> Hi Scott,
>>>>>> can you pls. try the latest 1.9.17 SNAPSHOT built from sources?
>>>>>> Thank you.
>>>>>> WBR,
>>>>>> Alexey.
>>>>>> On Jun 24, 2009, at 0:48 , Jeanfrancois Arcand wrote:
>>>>>>> Ok Fixed. But I doubt the issue is fixed as that code didn't
>>>>>>> change. I will take a look Thursday (Holiday here :-))
>>>>>>>
>>>>>>> A+
>>>>>>>
>>>>>>> -- Jeanfrancois
>>>>>>>
>>>>>>> Jeanfrancois Arcand wrote:
>>>>>>>> Salut,
>>>>>>>> Scott Oaks wrote:
>>>>>>>>> Well, so much for OSGi replacements being easy...with 1.9.17
>>>>>>>>> SNAPSHOT jars, I get
>>>>>>>>>
>>>>>>>>> java.lang.NullPointerException
>>>>>>>>> at
>>>>>>>>> com
>>>>>>>>> .sun
>>>>>>>>> .grizzly
>>>>>>>>> .http.SelectorThread.getPortLowLevel(SelectorThread.java:1267)
>>>>>>>>> at
>>>>>>>>> com
>>>>>>>>> .sun.grizzly.http.SelectorThread.getPort(SelectorThread.java:
>>>>>>>>> 1271) at
>>>>>>>>> com
>>>>>>>>> .sun
>>>>>>>>> .grizzly
>>>>>>>>> .config
>>>>>>>>> .GrizzlyServiceListener.getPort(GrizzlyServiceListener.java:
>>>>>>>>> 134)
>>>>>>>>> at
>>>>>>>>> com
>>>>>>>>> .sun
>>>>>>>>> .enterprise
>>>>>>>>> .v3.services.impl.GrizzlyProxy.start(GrizzlyProxy.java:222)
>>>>>>>>> at
>>>>>>>>> com
>>>>>>>>> .sun
>>>>>>>>> .enterprise
>>>>>>>>> .v3
>>>>>>>>> .services
>>>>>>>>> .impl.GrizzlyService.createNetworkProxy(GrizzlyService.java:
>>>>>>>>> 368)
>>>>>>>>> at
>>>>>>>>> com
>>>>>>>>> .sun
>>>>>>>>> .enterprise
>>>>>>>>> .v3
>>>>>>>>> .services
>>>>>>>>> .impl.GrizzlyService.postConstruct(GrizzlyService.java:281)
>>>>>>>>>
>>>>>>>>> Should I try 1.9.16?
>>>>>>>> hum....1.9.16 suffer many issues. I will fix this regression
>>>>>>>> ASAP.
>>>>>>>> Thanks
>>>>>>>> -- Jeanfrancois
>>>>>>>>>
>>>>>>>>> -Scott
>>>>>>>>>
>>>>>>>>> On 06/23/09 13:28, Jeanfrancois Arcand wrote:
>>>>>>>>>> Salut,
>>>>>>>>>>
>>>>>>>>>> Scott Oaks wrote:
>>>>>>>>>>> In our glassfish tests, we are seeing enormous numbers of
>>>>>>>>>>> TCPSelectorHandler$1 objects that are leaking and causing
>>>>>>>>>>> GC issues.
>>>>>>>>>>>
>>>>>>>>>>> I dimly recall that we had already seen this issue and
>>>>>>>>>>> fixed it, but I may be misremembering, and I can't find an
>>>>>>>>>>> email thread about it.
>>>>>>>>>>>
>>>>>>>>>>> If it is fixed, maybe it is just a versioning error, as
>>>>>>>>>>> glassfish is still using grizzly 1.9.15a.
>>>>>>>>>>
>>>>>>>>>> Can you try 1.9.17-SNAPSHOT? I will take a look. Just
>>>>>>>>>> replace the http, util and framework jars.
>>>>>>>>>>
>>>>>>>>>> A+
>>>>>>>>>>
>>>>>>>>>> -- jeanfrancois
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> -Scott
>>>>>>>>>>>
>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>>> For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>> For additional commands, e-mail: dev-
>>>>>>>>>> help_at_grizzly.dev.java.net
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>> For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
>>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
>>>>>>>> For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
>>>>>>> For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
>>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
>>>>>> For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
>>>>> For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
>>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
>>>> For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
>>> For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
>> For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
> For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
>