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

Bug 358981

Summary: StackOverflow in Semantic Highlighting task
Product: z_Archived Reporter: Rich Davies <rt_davies>
Component: PDTAssignee: PHP UI <php.ui-inbox>
Status: CLOSED WORKSFORME QA Contact:
Severity: minor    
Priority: P3 CC: silviya
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Rich Davies CLA 2011-09-26 18:56:24 EDT
Build Identifier: I20100608-0911

StackOverflowError while debugging a large PHP file (Drupal 7's common.inc, 7,000+ lines).  Prior to crash, 1 cpu at 100%.  Error message says task at fault is Semantic Highlighting.  With this hint, I discovered a work-around--uncheck the preference "General/Editors/Structured Text/Enable Semantic Highlighting".

Here's the log:
!ENTRY org.eclipse.core.jobs 4 2 2011-09-26 14:08:03.301
!MESSAGE An internal error occurred during: "Semantic Highlighting Job".
!STACK 0
java.lang.StackOverflowError
	at java.lang.String.lastIndexOf(String.java:1639)
	at org.eclipse.osgi.internal.loader.BundleLoader.getPackageName(BundleLoader.java:105)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:432)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
	at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:338)
	at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:232)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1197)
	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)
	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:904)
	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
	at org.eclipse.dltk.internal.core.index2.IndexerManager.getIndexer(IndexerManager.java:77)
	at org.eclipse.dltk.core.index2.search.ModelAccess.getIndexerParticipant(ModelAccess.java:344)
	at org.eclipse.dltk.core.index2.search.ModelAccess.getElementResolver(ModelAccess.java:381)
	at org.eclipse.dltk.core.index2.search.ModelAccess.findElements(ModelAccess.java:276)
	at org.eclipse.dltk.core.index2.search.ModelAccess.findElements(ModelAccess.java:263)
	at org.eclipse.dltk.core.index2.search.ModelAccess.findTypes(ModelAccess.java:203)
	at org.eclipse.dltk.internal.core.hierarchy.HierarchyResolver.findTypes(HierarchyResolver.java:63)
	at org.eclipse.dltk.internal.core.hierarchy.HierarchyResolver.searchTypes(HierarchyResolver.java:307)
	at org.eclipse.dltk.internal.core.hierarchy.HierarchyResolver.searchTypes(HierarchyResolver.java:287)
	at org.eclipse.dltk.internal.core.hierarchy.HierarchyResolver.computeSupertypesFor(HierarchyResolver.java:257)
	at org.eclipse.dltk.internal.core.hierarchy.HierarchyResolver.computeSupertypes(HierarchyResolver.java:243)
	at org.eclipse.dltk.internal.core.hierarchy.HierarchyResolver.resolve(HierarchyResolver.java:56)
	at org.eclipse.dltk.internal.core.hierarchy.HierarchyBuilder.buildSupertypes(HierarchyBuilder.java:123)
	at org.eclipse.dltk.internal.core.hierarchy.IndexBasedHierarchyBuilder.build(IndexBasedHierarchyBuilder.java:168)
	at org.eclipse.dltk.internal.core.hierarchy.TypeHierarchy.compute(TypeHierarchy.java:337)
	at org.eclipse.dltk.internal.core.hierarchy.TypeHierarchy.refresh(TypeHierarchy.java:1207)
	at org.eclipse.dltk.internal.core.CreateTypeHierarchyOperation.executeOperation(CreateTypeHierarchyOperation.java:89)
	at org.eclipse.dltk.internal.core.ModelOperation.run(ModelOperation.java:698)
	at org.eclipse.dltk.internal.core.ModelOperation.runOperation(ModelOperation.java:764)
	at org.eclipse.dltk.internal.core.SourceType.newSupertypeHierarchy(SourceType.java:397)
	at org.eclipse.dltk.internal.core.SourceType.newSupertypeHierarchy(SourceType.java:367)
	at org.eclipse.php.internal.core.typeinference.evaluators.phpdoc.PHPDocClassVariableEvaluator.init(PHPDocClassVariableEvaluator.java:59)
first loop...
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.typeinference.PHPTypeInferenceUtils.resolveExpression(PHPTypeInferenceUtils.java:92)
	at org.eclipse.php.internal.core.typeinference.BindingUtility.getFunctionReturnType(BindingUtility.java:490)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:148)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:154)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:111)
...123 more times through the loop before crashing	


Reproducible: Always

Steps to Reproduce:
1. Create a project containing a clean install of Drupal 7
2. Set a break point in common.inc, or step into it
3. Performance is sluggish, then crashes with a message something like, "StackOverflowError in task 'Semantic Highlighting', do you want to close Eclipse?"
Comment 1 Zhongwei Zhao CLA 2013-01-29 23:58:18 EST
Can not be reproduced now
Comment 2 Sylvia Tancheva CLA 2015-02-17 06:47:57 EST
Two years already ... closing