Bug 444328 - CPU skyrockets when editing malformed JavaScript file
Summary: CPU skyrockets when editing malformed JavaScript file
Status: NEW
Alias: None
Product: JSDT
Classification: WebTools
Component: General (show other bugs)
Version: 3.6.1   Edit
Hardware: PC Mac OS X
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact: Chris Jaun CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-17 03:51 EDT by Lucas Galfaso CLA
Modified: 2015-06-24 10:47 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lucas Galfaso CLA 2014-09-17 03:51:03 EDT
When editing a malformed JavaScript file, the CPU skyrockets (it is using all cores in my box) and even after several hours, it did not stop.

Using Luna on OSX
Comment 1 Lucas Galfaso CLA 2014-09-17 03:51:23 EDT
Thread dump


   java.lang.Thread.State: RUNNABLE
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.updateRecoveryState(Parser.java:7047)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.resumeOnSyntaxError(Parser.java:6973)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.parse(Parser.java:5727)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.parse(Parser.java:6044)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.parse(Parser.java:5996)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.dietParse(Parser.java:4601)
	at org.eclipse.wst.jsdt.internal.core.CompilationUnitProblemFinder.accept(CompilationUnitProblemFinder.java:166)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.askForBinding(LookupEnvironment.java:287)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:249)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2156)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getType(Scope.java:1927)
	at org.eclipse.wst.jsdt.core.infer.InferredType.resolveType(InferredType.java:492)
	at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolveVarType(LocalDeclaration.java:138)
	at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolveLocal(LocalDeclaration.java:161)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.MethodScope.findVariable(MethodScope.java:457)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getBinding(Scope.java:924)
	at org.eclipse.wst.jsdt.internal.compiler.ast.SingleNameReference.findBinding(SingleNameReference.java:355)
	at org.eclipse.wst.jsdt.internal.compiler.ast.SingleNameReference.resolveType(SingleNameReference.java:256)
	at org.eclipse.wst.jsdt.internal.compiler.ast.SingleNameReference.resolveType(SingleNameReference.java:249)
	at org.eclipse.wst.jsdt.internal.compiler.ast.FieldReference.resolveType(FieldReference.java:187)
	at org.eclipse.wst.jsdt.internal.compiler.ast.FieldReference.resolveType(FieldReference.java:138)
	at org.eclipse.wst.jsdt.internal.compiler.ast.FieldReference.resolveType(FieldReference.java:187)
	at org.eclipse.wst.jsdt.internal.compiler.ast.FieldReference.resolveType(FieldReference.java:138)
	at org.eclipse.wst.jsdt.internal.compiler.ast.BinaryExpression.resolveType(BinaryExpression.java:262)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFields(SourceTypeBinding.java:396)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:260)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:195)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding$9.performAction(SourceTypeBinding.java:1481)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.performActionOnLinkedBindings(SourceTypeBinding.java:2519)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.methods(SourceTypeBinding.java:1468)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.MethodBinding.ensureBindingsAreComplete(MethodBinding.java:773)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.findMethod(Scope.java:686)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getImplicitMethod(Scope.java:1686)
	at org.eclipse.wst.jsdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:181)
	at org.eclipse.wst.jsdt.internal.compiler.ast.ReturnStatement.resolve(ReturnStatement.java:166)
	at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:462)
	at org.eclipse.wst.jsdt.internal.compiler.ast.MethodDeclaration.resolveStatements(MethodDeclaration.java:129)
	at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:372)
	at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:488)
	at org.eclipse.wst.jsdt.internal.compiler.ast.FunctionExpression.resolveType(FunctionExpression.java:66)
	at org.eclipse.wst.jsdt.internal.compiler.ast.ObjectLiteralField.resolveType(ObjectLiteralField.java:70)
	at org.eclipse.wst.jsdt.internal.compiler.ast.ObjectLiteral.resolveType(ObjectLiteral.java:80)
	at org.eclipse.wst.jsdt.internal.compiler.ast.ReturnStatement.resolve(ReturnStatement.java:166)
	at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:462)
	at org.eclipse.wst.jsdt.internal.compiler.ast.MethodDeclaration.resolveStatements(MethodDeclaration.java:129)
	at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:372)
	at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:488)
	at org.eclipse.wst.jsdt.internal.compiler.ast.FunctionExpression.resolveType(FunctionExpression.java:66)
	at org.eclipse.wst.jsdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:161)
	at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolveLocal(LocalDeclaration.java:225)
	at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolve(LocalDeclaration.java:153)
	at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:462)
	at org.eclipse.wst.jsdt.internal.compiler.ast.MethodDeclaration.resolveStatements(MethodDeclaration.java:129)
	at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:372)
	at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:488)
	at org.eclipse.wst.jsdt.internal.compiler.ast.FunctionExpression.resolveType(FunctionExpression.java:66)
	at org.eclipse.wst.jsdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:161)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFields(SourceTypeBinding.java:396)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:260)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:195)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.buildFieldsAndMethods(CompilationUnitScope.java:246)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:431)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:480)
	at org.eclipse.wst.jsdt.internal.core.CompilationUnitProblemFinder.accept(CompilationUnitProblemFinder.java:175)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.askForBinding(LookupEnvironment.java:287)
	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:815)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.getResolvedType(LookupEnvironment.java:766)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getJavaLangString(Scope.java:1796)
	at org.eclipse.wst.jsdt.internal.compiler.ast.StringLiteral.literalType(StringLiteral.java:56)
	at org.eclipse.wst.jsdt.internal.compiler.ast.Literal.resolveType(Literal.java:48)
	at org.eclipse.wst.jsdt.internal.compiler.ast.Expression.resolve(Expression.java:431)
	at org.eclipse.wst.jsdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:462)
	at org.eclipse.wst.jsdt.internal.compiler.Compiler.resolve(Compiler.java:668)
	at org.eclipse.wst.jsdt.internal.compiler.Compiler.resolve(Compiler.java:710)
	at org.eclipse.wst.jsdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:263)
	at org.eclipse.wst.jsdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:335)
	at org.eclipse.wst.jsdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:197)
	at org.eclipse.wst.jsdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:96)
	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.CompilationUnit.reconcile(CompilationUnit.java:1272)
	at org.eclipse.wst.jsdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:95)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.wst.jsdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:76)
	at org.eclipse.wst.jsdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile(JavaReconcilingStrategy.java:170)
	at org.eclipse.wst.jsdt.internal.ui.text.CompositeReconcilingStrategy.initialReconcile(CompositeReconcilingStrategy.java:113)
	at org.eclipse.wst.jsdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconcile(JavaCompositeReconcilingStrategy.java:120)
	at org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess(MonoReconciler.java:105)
	at org.eclipse.wst.jsdt.internal.ui.text.JavaReconciler.initialProcess(JavaReconciler.java:360)
	- locked <0x00000007a7970c40> (a java.lang.Object)
	at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:173)
Comment 2 Lucas Galfaso CLA 2014-09-17 03:52:17 EDT
The reason for the malformed javaScript file is that had to edit a file that had svn conflicts in it