dev@grizzly.java.net

Re: TCPSelectorHandler$1 leaking

From: Jeanfrancois Arcand <Jeanfrancois.Arcand_at_Sun.COM>
Date: Fri, 26 Jun 2009 10:26:59 -0400

Salut,

Oleksiy Stashok wrote:
> 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.

That would make sense as this use a CachedThreadPool (quite scary
still). But this is dangerous IMO. We need to find why 8 millions of
that class were there at the first place. Working with Scott....

A+

-- Jeanfrancois



>
> 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
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
> For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
>