[jbosstools-issues] [JBoss JIRA] (JBIDE-26697) Possible memory leak during Loading projects job when using CRC

André Dietisheim (Jira) issues at jboss.org
Mon Oct 21 09:52:00 EDT 2019


    [ https://issues.jboss.org/browse/JBIDE-26697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13802084#comment-13802084 ] 

André Dietisheim edited comment on JBIDE-26697 at 10/21/19 9:51 AM:
--------------------------------------------------------------------

Watching is done by adding the *watch=true* parameter in a request to a resource (type). We thus have to request each resource type separately (there's no bulk watching endpoint). In consequence okHttp will open up 12 threads to listen on each one of those web sockets. This is in accordance to their basic design principle where they try not to have any blocking whatsoever:
https://square.github.io/okhttp/concurrency/
{quote}
So we have a dedicated thread for every socket that just reads frames and dispatches them.
{quote}


was (Author: adietish):
The root cause here is that we're watching for changes for 12 resource types on different url. In consequence okHttp will open up connections and threads for each one of them. This results from the basic design principle of okHttp where they try not to have any blocking whatsoever:
https://square.github.io/okhttp/concurrency/
{quote}
So we have a dedicated thread for every socket that just reads frames and dispatches them.
{quote}

> Possible memory leak during Loading projects job when using CRC
> ---------------------------------------------------------------
>
>                 Key: JBIDE-26697
>                 URL: https://issues.jboss.org/browse/JBIDE-26697
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: openshift
>    Affects Versions: 4.12.0.Final
>         Environment: Mac 10.14.5 (18F203), Fedora 29, crstudio GA-v20190626-0604-B4591
>            Reporter: Josef Kopriva
>            Assignee: André Dietisheim
>            Priority: Major
>             Fix For: 4.13.0.Final
>
>
> Exception in error log:
> {code:java}
> eclipse.buildId=12.12.0.GA-v20190626-0604-B4591
> java.version=11.0.2
> java.vendor=Oracle Corporation
> BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_GB
> Framework arguments:  -product com.jboss.devstudio.core.product -product com.jboss.devstudio.core.product -keyring /Users/jkopriva/.eclipse_keyring
> Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -product com.jboss.devstudio.core.product -data file:/Users/jkopriva/workspace_B4591_3/ -product com.jboss.devstudio.core.product -keyring /Users/jkopriva/.eclipse_keyring
> org.eclipse.core.jobs
> Error
> Wed Jun 26 14:36:11 CEST 2019
> An internal error occurred during: "Loading projects...".
> java.lang.OutOfMemoryError: Java heap space
> 	at org.jboss.dmr.JSONParser.yyParse(JSONParser.java:877)
> 	at org.jboss.dmr.ModelNode.fromJSONString(ModelNode.java:1472)
> 	at com.openshift.internal.restclient.ResourceFactory.create(ResourceFactory.java:100)
> 	at com.openshift.internal.restclient.ResourceFactory.createInstanceFrom(ResourceFactory.java:149)
> 	at com.openshift.internal.restclient.DefaultClient.execute(DefaultClient.java:304)
> 	at com.openshift.internal.restclient.DefaultClient.execute(DefaultClient.java:275)
> 	at com.openshift.internal.restclient.DefaultClient.execute(DefaultClient.java:264)
> 	at com.openshift.internal.restclient.DefaultClient.list(DefaultClient.java:171)
> 	at com.openshift.internal.restclient.DefaultClient.list(DefaultClient.java:160)
> 	at com.openshift.internal.restclient.DefaultClient.list(DefaultClient.java:151)
> 	at com.openshift.internal.restclient.capability.resources.ProjectTemplateListCapability.getCommonTemplates(ProjectTemplateListCapability.java:53)
> 	at org.jboss.tools.openshift.internal.ui.wizard.newapp.ApplicationSourceTreeItems$1.visit(ApplicationSourceTreeItems.java:121)
> 	at org.jboss.tools.openshift.internal.ui.wizard.newapp.ApplicationSourceTreeItems$1.visit(ApplicationSourceTreeItems.java:1)
> 	at com.openshift.internal.restclient.model.KubernetesResource.accept(KubernetesResource.java:94)
> 	at org.jboss.tools.openshift.internal.ui.wizard.newapp.ApplicationSourceTreeItems.loadTemplates(ApplicationSourceTreeItems.java:113)
> 	at org.jboss.tools.openshift.internal.ui.wizard.newapp.ApplicationSourceTreeItems.createChildren(ApplicationSourceTreeItems.java:61)
> 	at org.jboss.tools.openshift.internal.ui.treeitem.ObservableTreeItem.loadChildren(ObservableTreeItem.java:69)
> 	at org.jboss.tools.openshift.internal.ui.treeitem.ObservableTreeItem.load(ObservableTreeItem.java:56)
> 	at org.jboss.tools.openshift.internal.ui.treeitem.ObservableTreeItem.load(ObservableTreeItem.java:59)
> 	at org.jboss.tools.openshift.internal.ui.wizard.newapp.NewApplicationWizardModel.loadResources(NewApplicationWizardModel.java:247)
> 	at org.jboss.tools.openshift.internal.ui.wizard.common.AbstractProjectPage$3.doRun(AbstractProjectPage.java:255)
> 	at org.jboss.tools.openshift.internal.common.core.job.AbstractDelegatingMonitorJob.run(AbstractDelegatingMonitorJob.java:37)
> 	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
> {code}



--
This message was sent by Atlassian Jira
(v7.13.8#713008)



More information about the jbosstools-issues mailing list