Bug 545743 - Stackoverflow building workspace
Summary: Stackoverflow building workspace
Status: CLOSED WONTFIX
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 4.11   Edit
Hardware: PC Windows 7
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: JDT-Core-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2019-03-25 08:11 EDT by Andrew Niefer CLA
Modified: 2019-03-27 18:48 EDT (History)
2 users (show)

See Also:


Attachments
logs files (49.08 KB, application/x-zip-compressed)
2019-03-26 10:08 EDT, Andrew Niefer CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Niefer CLA 2019-03-25 08:11:00 EDT
java.lang.StackOverflowError
	at org.eclipse.core.internal.dtree.AbstractDataTreeNode.assembleWith(AbstractDataTreeNode.java:180)
	at org.eclipse.core.internal.dtree.AbstractDataTreeNode.assembleWith(AbstractDataTreeNode.java:142)
	at org.eclipse.core.internal.dtree.AbstractDataTreeNode.assembleWith(AbstractDataTreeNode.java:203)
	at org.eclipse.core.internal.dtree.AbstractDataTreeNode.assembleWith(AbstractDataTreeNode.java:142)
<snip 3642 frames of AbstractDataTreeNode lines 142 & 203>
	at org.eclipse.core.internal.dtree.AbstractDataTreeNode.assembleWith(AbstractDataTreeNode.java:203)
	at org.eclipse.core.internal.dtree.AbstractDataTreeNode.assembleWith(AbstractDataTreeNode.java:142)
	at org.eclipse.core.internal.dtree.AbstractDataTreeNode.assembleWith(AbstractDataTreeNode.java:203)
	at org.eclipse.core.internal.dtree.AbstractDataTreeNode.assembleWith(AbstractDataTreeNode.java:128)
	at org.eclipse.core.internal.dtree.AbstractDataTreeNode.assembleWith(AbstractDataTreeNode.java:194)
	at org.eclipse.core.internal.dtree.DeltaDataTree.assembleWithForwardDelta(DeltaDataTree.java:156)
	at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:836)
	at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:811)
	at org.eclipse.core.internal.watson.ElementTree.immutable(ElementTree.java:522)
	at org.eclipse.core.internal.events.ResourceDeltaFactory.computeDelta(ResourceDeltaFactory.java:46)
	at org.eclipse.core.internal.events.NotificationManager.getDelta(NotificationManager.java:240)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149)
	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:379)
	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1502)
	at org.eclipse.core.internal.resources.Resource.copy(Resource.java:542)
	at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.copyResource(AbstractImageBuilder.java:401)
	at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.findSourceFiles(IncrementalImageBuilder.java:711)
	at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.findSourceFiles(IncrementalImageBuilder.java:588)
<snip 1912 stack frames of IncrementalImageBuilder.java:588>
	at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.findSourceFiles(IncrementalImageBuilder.java:588)
	at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.findSourceFiles(IncrementalImageBuilder.java:525)
	at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build(IncrementalImageBuilder.java:118)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas(JavaBuilder.java:279)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:200)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:833)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:220)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:263)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:316)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:319)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:371)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:392)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:154)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:244)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Comment 1 Andrey Loskutov CLA 2019-03-25 08:15:08 EDT
Steps to reproduce? Does it happen always? Any errors in the log?
Comment 2 Andrey Loskutov CLA 2019-03-25 08:16:00 EDT
(In reply to Andrey Loskutov from comment #1)
> Any errors in the log?

Any *other* errors in the log *before* the stack overflow?
Comment 3 Andrew Niefer CLA 2019-03-25 08:53:53 EDT
Unfortunately I don't have steps. 
 Looking back in the logs, the first instance of this StackOverflow is on Friday 

I left work on Friday probably around 15:00 and left my Eclipse instance running.  The log shows the StackOverflow happening at the following times:
 2019-03-22 21:52:45.436.
 2019-03-23 03:34:37.875
 2019-03-23 14:45:18.858
 2019-03-24 02:11:43.278
 2019-03-24 14:03:27.039
 2019-03-25 02:11:54.721

So there seems to be some kind of background build job running every 12 hours or so.

The only other errors in the log are hours before this started, and is a Illegal Hierarchy during content assist:
Java Model Exception: Core Exception [code 0] Illegal hierarchy
	at org.eclipse.jdt.internal.ui.text.java.LazyGenericTypeProposal.findMatchingSuperTypeSignature(LazyGenericTypeProposal.java:575)
	at org.eclipse.jdt.internal.ui.text.java.LazyGenericTypeProposal.mapTypeParameterIndex(LazyGenericTypeProposal.java:535)
	at org.eclipse.jdt.internal.ui.text.java.LazyGenericTypeProposal.computeTypeArgumentProposals(LazyGenericTypeProposal.java:354)
	at org.eclipse.jdt.internal.ui.text.java.LazyGenericTypeProposal.apply(LazyGenericTypeProposal.java:228)
Comment 4 Andrey Loskutov CLA 2019-03-25 16:21:25 EDT
Could you please attach the full error log here?
Comment 5 Andrew Niefer CLA 2019-03-26 10:08:58 EDT
Created attachment 278012 [details]
logs files
Comment 6 Andrey Loskutov CLA 2019-03-27 09:38:28 EDT
I guess the initial issue was that Eclipse was killed before and I guess the resources tree was damaged somehow:

!ENTRY org.eclipse.core.resources 2 10035 2019-03-20 09:54:26.528
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.

Ideally we should also be able to handle that gracefully, but without reproduction steps and time to investigate I would say: create new workspace.

Closing as WONTFIX, sorry.
Comment 7 Stephan Herrmann CLA 2019-03-27 18:48:58 EDT
(In reply to Andrey Loskutov from comment #6)
> I guess the initial issue was that Eclipse was killed before and I guess the
> resources tree was damaged somehow:

For a moment I was suspecting a different cause, but in fact this line
 org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.findSourceFiles(IncrementalImageBuilder.java:588)

which to me appears as the root cause, descends into the tree of an IResourceDelta. The very deep recursion seems to indicate a cycle in the "tree".

So yes: corrupt resource tree.