Bug 493798 - Suspicious workspace activity of JavaReconciler in recent I-build
Summary: Suspicious workspace activity of JavaReconciler in recent I-build
Status: CLOSED WONTFIX
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Text (show other bugs)
Version: 4.6   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Noopur Gupta CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2016-05-17 08:24 EDT by Szymon Ptaszkiewicz CLA
Modified: 2019-11-18 13:12 EST (History)
2 users (show)

See Also:


Attachments
Trace 1 (8.12 KB, text/plain)
2016-05-17 08:24 EDT, Szymon Ptaszkiewicz CLA
no flags Details
Trace 2 (4.98 KB, text/plain)
2016-05-17 08:24 EDT, Szymon Ptaszkiewicz CLA
no flags Details
Trace 3 (7.19 KB, text/plain)
2016-05-17 08:25 EDT, Szymon Ptaszkiewicz CLA
no flags Details
Trace 4 (6.22 KB, text/plain)
2016-05-17 08:25 EDT, Szymon Ptaszkiewicz CLA
no flags Details
Stack (6.01 KB, text/plain)
2016-05-17 10:53 EDT, Szymon Ptaszkiewicz CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Szymon Ptaszkiewicz CLA 2016-05-17 08:24:38 EDT
Created attachment 261787 [details]
Trace 1

I noticed the problem in I20160516-2000 but it could have started a few I-builds ago. Never saw that before.

The attached file is a trace log from my main dev workspace where the only thing I did was to open Eclipse and then close Eclipse. The log is gathered using Window > Preferences > General > Tracing preference page. The option which is shown in logs is org.eclipse.core.resources/build/needbuild=true. I have this and several other options always enabled to track suspicious workspace activity and that's why I can tell such workspace activity of JavaReconciler did not happen before. In case it matters, there are two Java editors open but only one is visible. The number of JavaReconciler operations is different each time, but I can reproduce the problem consistently on my workspace. Attaching several logs as example.
Comment 1 Szymon Ptaszkiewicz CLA 2016-05-17 08:24:58 EDT
Created attachment 261788 [details]
Trace 2
Comment 2 Szymon Ptaszkiewicz CLA 2016-05-17 08:25:12 EDT
Created attachment 261789 [details]
Trace 3
Comment 3 Szymon Ptaszkiewicz CLA 2016-05-17 08:25:27 EDT
Created attachment 261790 [details]
Trace 4
Comment 4 Dani Megert CLA 2016-05-17 08:50:10 EDT
We haven't changed anything in that area. Can you reproduce in a new workspace and provide steps?
Comment 5 Szymon Ptaszkiewicz CLA 2016-05-17 10:49:23 EDT
(In reply to Dani Megert from comment #4)
> We haven't changed anything in that area. Can you reproduce in a new
> workspace and provide steps?

No, but I have another installation and was able to get a stack trace:

Daemon Thread [org.eclipse.jdt.internal.ui.text.JavaReconciler] (Suspended (breakpoint at line 74 in AutoBuildJob))	
	owns: AutoBuildJob  (id=1351)	
	owns: Object  (id=1204)	
	AutoBuildJob.build(boolean) line: 74	
	BuildManager.endTopLevel(boolean) line: 523	
	Workspace.endOperation(ISchedulingRule, boolean, IProgressMonitor) line: 1484	
	Workspace.run(ICoreRunnable, ISchedulingRule, int, IProgressMonitor) line: 2253	
	Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 2267	
	SetContainerOperation(JavaModelOperation).runOperation(IProgressMonitor) line: 795	
	JavaModelManager.getClasspathContainer(IPath, IJavaProject) line: 1973	
	JavaCore.getClasspathContainer(IPath, IJavaProject) line: 3424	
	JavaProject.resolveClasspath(IClasspathEntry[], IClasspathEntry[], boolean, boolean) line: 2693	
	JavaProject.resolveClasspath(JavaModelManager$PerProjectInfo, boolean, boolean) line: 2857	
	JavaProject.getResolvedClasspath() line: 1962	
	JavaProject.buildStructure(OpenableElementInfo, IProgressMonitor, Map, IResource) line: 464	
	JavaProject(Openable).generateInfos(Object, HashMap, IProgressMonitor) line: 259	
	JavaProject(JavaElement).openWhenClosed(Object, boolean, IProgressMonitor) line: 579	
	JavaProject(JavaElement).getElementInfo(IProgressMonitor) line: 316	
	JavaProject(JavaElement).getElementInfo() line: 302	
	JavaProject.getProjectCache() line: 1924	
	JavaProjectElementInfo.newNameLookup(JavaProject, ICompilationUnit[]) line: 310	
	JavaProject.newNameLookup(ICompilationUnit[]) line: 2329	
	CancelableNameEnvironment(SearchableEnvironment).<init>(JavaProject, ICompilationUnit[]) line: 61	
	CancelableNameEnvironment(SearchableEnvironment).<init>(JavaProject, WorkingCopyOwner) line: 68	
	CancelableNameEnvironment.<init>(JavaProject, WorkingCopyOwner, IProgressMonitor) line: 26	
	CompilationUnitProblemFinder.process(CompilationUnit, SourceElementParser, WorkingCopyOwner, HashMap, boolean, int, IProgressMonitor) line: 178	
	CompilationUnitProblemFinder.process(CompilationUnit, WorkingCopyOwner, HashMap, boolean, int, IProgressMonitor) line: 271	
	ReconcileWorkingCopyOperation.makeConsistent(CompilationUnit) line: 191	
	ReconcileWorkingCopyOperation.executeOperation() line: 90	
	ReconcileWorkingCopyOperation(JavaModelOperation).run(IProgressMonitor) line: 724	
	ReconcileWorkingCopyOperation(JavaModelOperation).runOperation(IProgressMonitor) line: 790	
	CompilationUnit.reconcile(int, int, WorkingCopyOwner, IProgressMonitor) line: 1250	
	JavaReconcilingStrategy.reconcile(ICompilationUnit, boolean) line: 128	
	JavaReconcilingStrategy.access$0(JavaReconcilingStrategy, ICompilationUnit, boolean) line: 110	
	JavaReconcilingStrategy$1.run() line: 90	
	SafeRunner.run(ISafeRunnable) line: 42	
	JavaReconcilingStrategy.reconcile(boolean) line: 87	
	JavaReconcilingStrategy.initialReconcile() line: 185	
	JavaCompositeReconcilingStrategy(CompositeReconcilingStrategy).initialReconcile() line: 119	
	JavaCompositeReconcilingStrategy.initialReconcile() line: 136	
	JavaReconciler(MonoReconciler).initialProcess() line: 95	
	JavaReconciler.initialProcess() line: 420	
	AbstractReconciler$BackgroundThread.run() line: 174
Comment 6 Szymon Ptaszkiewicz CLA 2016-05-17 10:53:17 EDT
Created attachment 261801 [details]
Stack

(In reply to Szymon Ptaszkiewicz from comment #5)

Formatting of stacks in bugzilla does not look good so I'm attaching the stack as as a text file (with fully qualified names).
Comment 7 Szymon Ptaszkiewicz CLA 2016-05-17 11:08:11 EDT
This seems to be a timing problem because when the breakpoint is enabled, I get only one occurrence of the problem. If I disable the breakpoint, I get many occurrences as shown in attachments with traces.
Comment 8 Dani Megert CLA 2016-05-23 05:36:29 EDT
Noopur, please check whether you can reproduce, and if so, whether this is a regression.
Comment 9 Eclipse Genie CLA 2019-11-18 13:12:07 EST
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.