Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 358518

Summary: when open an javascript file,outofmemory
Product: [WebTools] JSDT Reporter: ybin0 <spybutfly>
Component: GeneralAssignee: Project Inbox <jsdt.javascript-inbox>
Status: RESOLVED WORKSFORME QA Contact: Nitin Dahyabhai <thatnitind>
Severity: critical    
Priority: P3    
Version: unspecified   
Target Milestone: 3.1.1   
Hardware: PC   
OS: Linux   
Whiteboard:

Description ybin0 CLA 2011-09-22 02:55:41 EDT
Build Identifier: 20110615-0604

when i open an javascript file(this file have more then 1w lines codes)
the eclipse is so slow,then prompt me that java space heap outof memory,
the config of jvm is 
the errorlog
-vmargs
-XX:PermSize=256m
-Dosgi.requiredJavaVersion=1.5
-XX:MaxPermSize=256m
-Xms256m
-Xmx512m
when i modify the config to 
-vmargs
-XX:PermSize=384m
-Dosgi.requiredJavaVersion=1.5
-XX:MaxPermSize=384m
-Xms512m
-Xmx1024m
there is the same error......


!ENTRY org.eclipse.core.jobs 4 2 2011-09-22 11:15:12.908
!MESSAGE An internal error occurred during: "Decoration Calculation".
!STACK 0
java.lang.OutOfMemoryError: Java heap space
	at org.eclipse.wst.jsdt.internal.compiler.parser.Scanner.pushLineSeparator(Scanner.java:2644)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Scanner.getNextToken(Scanner.java:1106)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.parse(Parser.java:5746)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.parse(Parser.java:6036)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.parse(Parser.java:5988)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.dietParse(Parser.java:4593)
	at org.eclipse.wst.jsdt.internal.core.hierarchy.HierarchyResolver.accept(HierarchyResolver.java:141)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.addUnitsContainingBinding(LookupEnvironment.java:167)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.buildTypeBindings(CompilationUnitScope.java:342)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings(LookupEnvironment.java:239)
	at org.eclipse.wst.jsdt.internal.core.hierarchy.HierarchyResolver.accept(HierarchyResolver.java:145)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.addUnitsContainingBinding(LookupEnvironment.java:167)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.buildTypeBindings(CompilationUnitScope.java:342)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings(LookupEnvironment.java:239)
	at org.eclipse.wst.jsdt.internal.core.hierarchy.HierarchyResolver.resolve(HierarchyResolver.java:629)
	at org.eclipse.wst.jsdt.internal.core.hierarchy.HierarchyResolver.resolve(HierarchyResolver.java:527)
	at org.eclipse.wst.jsdt.internal.core.hierarchy.HierarchyBuilder.buildSupertypes(HierarchyBuilder.java:126)
	at org.eclipse.wst.jsdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.build(IndexBasedHierarchyBuilder.java:152)
	at org.eclipse.wst.jsdt.internal.core.hierarchy.TypeHierarchy.compute(TypeHierarchy.java:290)
	at org.eclipse.wst.jsdt.internal.core.hierarchy.TypeHierarchy.refresh(TypeHierarchy.java:979)
	at org.eclipse.wst.jsdt.internal.core.CreateTypeHierarchyOperation.executeOperation(CreateTypeHierarchyOperation.java:90)
	at org.eclipse.wst.jsdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:742)
	at org.eclipse.wst.jsdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:802)
	at org.eclipse.wst.jsdt.internal.core.SourceType.newSupertypeHierarchy(SourceType.java:557)
	at org.eclipse.wst.jsdt.internal.core.SourceType.newSupertypeHierarchy(SourceType.java:533)
	at org.eclipse.wst.jsdt.internal.corext.util.SuperTypeHierarchyCache.getTypeHierarchy(SuperTypeHierarchyCache.java:119)
	at org.eclipse.wst.jsdt.internal.corext.util.SuperTypeHierarchyCache.getTypeHierarchy(SuperTypeHierarchyCache.java:79)
	at org.eclipse.wst.jsdt.internal.corext.util.SuperTypeHierarchyCache.getMethodOverrideTester(SuperTypeHierarchyCache.java:88)
	at org.eclipse.wst.jsdt.ui.OverrideIndicatorLabelDecorator.getOverrideIndicators(OverrideIndicatorLabelDecorator.java:158)
	at org.eclipse.wst.jsdt.ui.OverrideIndicatorLabelDecorator.computeAdornmentFlags(OverrideIndicatorLabelDecorator.java:126)
	at org.eclipse.wst.jsdt.ui.OverrideIndicatorLabelDecorator.decorate(OverrideIndicatorLabelDecorator.java:221)
	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:269)


Reproducible: Always

Steps to Reproduce:
1.create an javascript project
2.copy a js file to the project directory,and the code lines more than 1w lines
3.
Comment 1 Nitin Dahyabhai CLA 2011-09-22 10:51:37 EDT
What is "1w"?
Comment 2 ybin0 CLA 2011-09-22 23:44:10 EDT
(In reply to comment #1)
> What is "1w"?

the code lines.....

more than 10,000 lines code:) sorry,this is a chinese indicator.....
Comment 3 Nitin Dahyabhai CLA 2011-09-23 11:04:46 EDT
3.3.1 is out today.  I strongly recommend upgrading to it and retrying this scenario.
Comment 4 ybin0 CLA 2011-09-25 22:39:52 EDT
ok,i will try 3.3.1 for it
very appreciating for you to reply me:)
Comment 5 ybin0 CLA 2011-09-25 23:06:35 EDT
great, it's really do work

and the bug is not exist:)

very nice
Comment 6 ybin0 CLA 2011-09-26 04:16:28 EDT
e.....

i am sorry to tell you another bug

now, i often get an error which is :

Requesting JavaScript AST from selection

the error log is 

!ENTRY org.eclipse.core.jobs 4 2 2011-09-26 16:08:54.002
!MESSAGE An internal error occurred during: "Requesting JavaScript AST from selection".
!STACK 0
java.lang.NullPointerException
	at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:669)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:674)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:387)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:443)
	at org.eclipse.wst.jsdt.internal.core.CompilationUnitProblemFinder.accept(CompilationUnitProblemFinder.java:174)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.askForBinding(LookupEnvironment.java:279)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:132)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.getType(LookupEnvironment.java:766)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.getResolvedType(LookupEnvironment.java:720)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getJavaLangString(Scope.java:1745)
	at org.eclipse.wst.jsdt.core.dom.DefaultBindingResolver.resolveExpressionType(DefaultBindingResolver.java:604)
	at org.eclipse.wst.jsdt.core.dom.Expression.resolveTypeBinding(Expression.java:111)
	at org.eclipse.wst.jsdt.internal.corext.refactoring.code.flow.ReturnFlowInfo.getReturnFlag(ReturnFlowInfo.java:31)
	at org.eclipse.wst.jsdt.internal.corext.refactoring.code.flow.ReturnFlowInfo.<init>(ReturnFlowInfo.java:19)
	at org.eclipse.wst.jsdt.internal.corext.refactoring.code.flow.FlowAnalyzer.createReturn(FlowAnalyzer.java:151)
	at org.eclipse.wst.jsdt.internal.corext.refactoring.code.flow.FlowAnalyzer.endVisit(FlowAnalyzer.java:679)
	at org.eclipse.wst.jsdt.core.dom.ReturnStatement.accept0(ReturnStatement.java:141)
	at org.eclipse.wst.jsdt.core.dom.ASTNode.accept(ASTNode.java:2354)
	at org.eclipse.wst.jsdt.internal.corext.refactoring.code.flow.InOutFlowAnalyzer.perform(InOutFlowAnalyzer.java:41)
	at org.eclipse.wst.jsdt.internal.ui.search.MethodExitsFinder.markReferences(MethodExitsFinder.java:122)
	at org.eclipse.wst.jsdt.internal.ui.search.MethodExitsFinder.perform(MethodExitsFinder.java:92)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.JavaEditor.updateOccurrenceAnnotations(JavaEditor.java:2840)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.JavaEditor$7.selectionChanged(JavaEditor.java:2905)
	at org.eclipse.wst.jsdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:157)
	at org.eclipse.wst.jsdt.internal.ui.viewsupport.SelectionListenerWithASTManager$3.run(SelectionListenerWithASTManager.java:134)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!SESSION 2011-09-26 16:10:21.924 -----------------------------------------------
eclipse.buildId=M20110909-1335
java.version=1.6.0_27
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.cpp.product
Command-line arguments:  -os linux -ws gtk -arch x86 -product org.eclipse.epp.package.cpp.product

!ENTRY org.eclipse.ui.workbench 4 2 2011-09-26 16:11:04.984
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench".
!STACK 0
java.lang.NullPointerException
	at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:669)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:674)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:387)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:443)
	at org.eclipse.wst.jsdt.internal.core.CompilationUnitProblemFinder.accept(CompilationUnitProblemFinder.java:174)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.askForBinding(LookupEnvironment.java:279)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:132)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.getType(LookupEnvironment.java:766)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.getResolvedType(LookupEnvironment.java:720)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getJavaLangString(Scope.java:1745)
	at org.eclipse.wst.jsdt.core.dom.DefaultBindingResolver.resolveExpressionType(DefaultBindingResolver.java:604)
	at org.eclipse.wst.jsdt.core.dom.Expression.resolveTypeBinding(Expression.java:111)
	at org.eclipse.wst.jsdt.internal.corext.refactoring.code.flow.ReturnFlowInfo.getReturnFlag(ReturnFlowInfo.java:31)
	at org.eclipse.wst.jsdt.internal.corext.refactoring.code.flow.ReturnFlowInfo.<init>(ReturnFlowInfo.java:19)
	at org.eclipse.wst.jsdt.internal.corext.refactoring.code.flow.FlowAnalyzer.createReturn(FlowAnalyzer.java:151)
	at org.eclipse.wst.jsdt.internal.corext.refactoring.code.flow.FlowAnalyzer.endVisit(FlowAnalyzer.java:679)
	at org.eclipse.wst.jsdt.core.dom.ReturnStatement.accept0(ReturnStatement.java:141)
	at org.eclipse.wst.jsdt.core.dom.ASTNode.accept(ASTNode.java:2354)
	at org.eclipse.wst.jsdt.internal.corext.refactoring.code.flow.InOutFlowAnalyzer.perform(InOutFlowAnalyzer.java:41)
	at org.eclipse.wst.jsdt.internal.ui.search.MethodExitsFinder.markReferences(MethodExitsFinder.java:122)
	at org.eclipse.wst.jsdt.internal.ui.search.MethodExitsFinder.perform(MethodExitsFinder.java:92)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.JavaEditor.updateOccurrenceAnnotations(JavaEditor.java:2840)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.JavaEditor$ActivationListener.windowActivated(JavaEditor.java:1220)
	at org.eclipse.ui.internal.Workbench$14.run(Workbench.java:1002)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.Workbench.fireWindowActivated(Workbench.java:1000)
	at org.eclipse.ui.internal.WorkbenchWindow$28.shellActivated(WorkbenchWindow.java:3141)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:88)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1263)
	at org.eclipse.swt.widgets.Shell.filterProc(Shell.java:731)
	at org.eclipse.swt.widgets.Display.filterProc(Display.java:1543)
	at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
	at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2276)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3207)
	at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
	at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1595)
	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)

!ENTRY org.eclipse.core.jobs 4 2 2011-09-26 16:11:07.108
!MESSAGE An internal error occurred during: "Requesting JavaScript AST from selection".
!STACK 0
java.lang.NullPointerException
	at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:669)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:674)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:387)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:443)
	at org.eclipse.wst.jsdt.internal.core.CompilationUnitProblemFinder.accept(CompilationUnitProblemFinder.java:174)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.askForBinding(LookupEnvironment.java:279)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:132)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.getType(LookupEnvironment.java:766)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.getResolvedType(LookupEnvironment.java:720)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getJavaLangString(Scope.java:1745)
	at org.eclipse.wst.jsdt.core.dom.DefaultBindingResolver.resolveExpressionType(DefaultBindingResolver.java:604)
	at org.eclipse.wst.jsdt.core.dom.Expression.resolveTypeBinding(Expression.java:111)
	at org.eclipse.wst.jsdt.internal.corext.refactoring.code.flow.ReturnFlowInfo.getReturnFlag(ReturnFlowInfo.java:31)
	at org.eclipse.wst.jsdt.internal.corext.refactoring.code.flow.ReturnFlowInfo.<init>(ReturnFlowInfo.java:19)
	at org.eclipse.wst.jsdt.internal.corext.refactoring.code.flow.FlowAnalyzer.createReturn(FlowAnalyzer.java:151)
	at org.eclipse.wst.jsdt.internal.corext.refactoring.code.flow.FlowAnalyzer.endVisit(FlowAnalyzer.java:679)
	at org.eclipse.wst.jsdt.core.dom.ReturnStatement.accept0(ReturnStatement.java:141)
	at org.eclipse.wst.jsdt.core.dom.ASTNode.accept(ASTNode.java:2354)
	at org.eclipse.wst.jsdt.internal.corext.refactoring.code.flow.InOutFlowAnalyzer.perform(InOutFlowAnalyzer.java:41)
	at org.eclipse.wst.jsdt.internal.ui.search.MethodExitsFinder.markReferences(MethodExitsFinder.java:122)
	at org.eclipse.wst.jsdt.internal.ui.search.MethodExitsFinder.perform(MethodExitsFinder.java:92)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.JavaEditor.updateOccurrenceAnnotations(JavaEditor.java:2840)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.JavaEditor$7.selectionChanged(JavaEditor.java:2905)
	at org.eclipse.wst.jsdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:157)
	at org.eclipse.wst.jsdt.internal.ui.viewsupport.SelectionListenerWithASTManager$3.run(SelectionListenerWithASTManager.java:134)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Comment 7 Nitin Dahyabhai CLA 2011-09-26 09:54:37 EDT
(In reply to comment #6)
> e.....
> 
> i am sorry to tell you another bug

Please open a separate bug report for that one.