This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 100389 - OOME due to profiler wrong usage of RP
Summary: OOME due to profiler wrong usage of RP
Status: RESOLVED FIXED
Alias: None
Product: profiler
Classification: Unclassified
Component: Base (show other bugs)
Version: 6.x
Hardware: All All
: P1 blocker (vote)
Assignee: issues@profiler
URL:
Keywords: PERFORMANCE
Depends on:
Blocks:
 
Reported: 2007-04-09 18:03 UTC by Jaroslav Tulach
Modified: 2007-09-08 10:34 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Thread dump (84.21 KB, text/plain)
2007-04-09 18:04 UTC, Jaroslav Tulach
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jaroslav Tulach 2007-04-09 18:03:32 UTC
I tried to open following 72 files from command line using netbeans --open

core/src/org/netbeans/core/LookupCache.java:51
core/src/org/netbeans/core/LookupCache.java:112
core/src/org/netbeans/core/LookupCache.java:112
core/options/src/org/netbeans/modules/options/CategoryModel.java:42
core/options/src/org/netbeans/modules/options/advanced/Model.java:40
core/options/src/org/netbeans/modules/options/CategoryModel.java:263
core/options/src/org/netbeans/modules/options/advanced/Model.java:159
core/settings/src/org/netbeans/modules/settings/RecognizeInstanceObjects.java:33
projects/projectapi/src/org/netbeans/spi/project/support/LookupProviderSupport.java:38
projects/projectapi/src/org/netbeans/spi/project/support/LookupProviderSupport.java:88
projects/projectuiapi/src/org/netbeans/spi/project/ui/support/NodeFactorySupport.java:34
projects/projectuiapi/src/org/netbeans/spi/project/ui/support/NodeFactorySupport.java:118
core/navigator/src/org/netbeans/modules/navigator/ProviderRegistry.java:39
core/navigator/src/org/netbeans/modules/navigator/ProviderRegistry.java:128
core/navigator/src/org/netbeans/modules/navigator/ProviderRegistry.java:128
xml/core/src/org/netbeans/modules/xml/api/model/GrammarQueryManager.java:37
xml/core/src/org/netbeans/modules/xml/core/scenario/NewScenarioPanel.java:26
xml/core/src/org/netbeans/modules/xml/api/model/GrammarQueryManager.java:192
xml/core/src/org/netbeans/modules/xml/api/model/GrammarQueryManager.java:193
xml/core/src/org/netbeans/modules/xml/core/scenario/NewScenarioPanel.java:70
xml/core/src/org/netbeans/modules/xml/core/scenario/NewScenarioPanel.java:71
xml/catalog/src/org/netbeans/modules/xml/catalog/settings/CatalogSettings.java:37
xml/catalog/src/org/netbeans/modules/xml/catalog/settings/CatalogSettings.java:261
xml/xsl/src/org/netbeans/modules/xsl/grammar/XSLGrammarQuery.java:36
xml/xsl/src/org/netbeans/modules/xsl/grammar/XSLGrammarQuery.java:824
xml/xsl/src/org/netbeans/modules/xsl/grammar/XSLGrammarQuery.java:825
editor/errorstripe/src/org/netbeans/modules/editor/errorstripe/AnnotationViewDataImpl.java:52
editor/errorstripe/src/org/netbeans/modules/editor/errorstripe/AnnotationViewDataImpl.java:131
editor/errorstripe/src/org/netbeans/modules/editor/errorstripe/AnnotationViewDataImpl.java:138
editor/hints/src/org/netbeans/spi/editor/hints/ProvidersList.java:39
editor/hints/src/org/netbeans/spi/editor/hints/ProvidersList.java:95
editor/hints/src/org/netbeans/spi/editor/hints/ProvidersList.java:95
projects/projectui/src/org/netbeans/modules/project/ui/ProjectsRootNode.java:50
projects/projectui/src/org/netbeans/modules/project/ui/ProjectsRootNode.java:108
ant/freeform/src/org/netbeans/modules/ant/freeform/ui/ProjectNodeWrapper.java:55
ant/freeform/src/org/netbeans/modules/ant/freeform/ui/ProjectNodeWrapper.java:110
ant/freeform/src/org/netbeans/modules/ant/freeform/ui/ProjectNodeWrapper.java:110
apisupport/project/src/org/netbeans/modules/apisupport/project/ui/ModuleActions.java:62
apisupport/project/src/org/netbeans/modules/apisupport/project/ui/SuiteActions.java:48
java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/J2SELogicalViewProvider.java:77
java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/J2SELogicalViewProvider.java:499
db/src/org/netbeans/api/db/explorer/JDBCDriverManager.java:34
db/src/org/netbeans/modules/db/explorer/ConnectionList.java:33
db/src/org/netbeans/modules/db/runtime/DatabaseRuntimeManager.java:32
db/src/org/netbeans/api/db/explorer/JDBCDriverManager.java:204
db/src/org/netbeans/modules/db/explorer/ConnectionList.java:148
db/src/org/netbeans/modules/db/runtime/DatabaseRuntimeManager.java:111
db/dbapi/src/org/netbeans/modules/dbapi/DbMetaDataListenerImpl.java:29
db/dbapi/src/org/netbeans/modules/dbapi/DbMetaDataListenerImpl.java:60
web/webapi/src/org/netbeans/modules/web/api/webmodule/WebFrameworkSupport.java:29
web/webapi/src/org/netbeans/modules/web/api/webmodule/WebFrameworkSupport.java:54
web/webapi/src/org/netbeans/modules/web/api/webmodule/WebFrameworkSupport.java:54
j2eeserver/src/org/netbeans/modules/j2ee/deployment/impl/Server.java:77
j2eeserver/src/org/netbeans/modules/j2ee/deployment/impl/ui/ServerRegistryNode.java:163
j2ee/clientproject/src/org/netbeans/modules/j2ee/clientproject/ui/AppClientLogicalViewProvider.java:104
j2ee/clientproject/src/org/netbeans/modules/j2ee/clientproject/ui/AppClientLogicalViewProvider.java:541
j2ee/clientproject/src/org/netbeans/modules/j2ee/clientproject/ui/AppClientLogicalViewProvider.java:541
j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/EjbJarLogicalViewProvider.java:94
j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/EjbJarLogicalViewProvider.java:499
j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/EjbJarLogicalViewProvider.java:499
web/project/src/org/netbeans/modules/web/project/ui/WebLogicalViewProvider.java:56
web/project/src/org/netbeans/modules/web/project/ui/WebLogicalViewProvider.java:512
j2ee/archiveproject/src/org/netbeans/modules/j2ee/archive/ui/RootNode.java:46
j2ee/archiveproject/src/org/netbeans/modules/j2ee/archive/ui/RootNode.java:122
j2ee/archiveproject/src/org/netbeans/modules/j2ee/archive/ui/RootNode.java:122
j2ee/earproject/src/org/netbeans/modules/j2ee/earproject/ui/J2eeArchiveLogicalViewProvider.java:83
j2ee/earproject/src/org/netbeans/modules/j2ee/earproject/ui/J2eeArchiveLogicalViewProvider.java:514
j2ee/earproject/src/org/netbeans/modules/j2ee/earproject/ui/J2eeArchiveLogicalViewProvider.java:514
web/jspsyntax/src/org/netbeans/modules/web/core/syntax/completion/JspCompletionItem.java:45
websvc/registry/src/org/netbeans/modules/websvc/registry/netbeans/RegisterViewImplNetBeansSide.java:32
websvc/registry/extsrc/org/netbeans/modules/websvc/registry/RegistryViewImpl.java:54
websvc/registry/extsrc/org/netbeans/modules/websvc/registry/RegistryViewImpl.java:86

the IDE run OutOfMemory. Very likely because profiler spanned >50 threads. 

PS: Guys, please learn how to use RequestProcessor and do audit of your code 
for wrong usages...
Comment 1 Jaroslav Tulach 2007-04-09 18:04:13 UTC
Created attachment 40630 [details]
Thread dump
Comment 2 Petr Nejedly 2007-04-09 18:22:09 UTC
To the contrary, I'd say that the profiler's wrong usage of RP (which is already
reported and fixed, see issue 100077) is NOT the cause of the OOME.
Heap dump, or at least histogram (cf. jmap) would be much more usable in
identifying the culprit.
Comment 3 Jaroslav Tulach 2007-04-09 18:26:35 UTC
Needless to say that without profiler cluster everything works.
Comment 4 J Bachorik 2007-04-10 09:01:35 UTC
I've never anticipated that the infrastructure would block all simple read only
queries till the scan is done. However, profiler now uses it's own instance of
RequestProcessor (see issue 1000077) with 2 threads in pool so it should never
happen again that there will be 50 threads spawned in profiler.
Comment 5 J Bachorik 2007-04-10 09:02:28 UTC
The OOME might be caused by an excessive usage of threads, indeed.
I've never anticipated that the infrastructure would block all simple read only
queries till the scan is done. However, profiler now uses it's own instance of
RequestProcessor (see issue 1000077) with 2 threads in pool so it should never
happen again that there will be 50 threads spawned in profiler.
Comment 6 Alexander Kouznetsov 2007-09-08 10:34:41 UTC
jtulach, could you please verify this issue or provide detailed instructions how to reproduce it