Home » Eclipse Projects » Dynamic Languages Toolkit (DLTK) » Save file generates multiple builds(The DLTK ScriptReconciler thread and the eclipse BuildManager worker thread build the same source simultaneously)
Save file generates multiple builds [message #654500] |
Wed, 16 February 2011 04:12 |
Carl Knight Messages: 13 Registered: December 2010 |
Junior Member |
|
|
This appears to be a lot of unnecessary work. The investigation that follows was after I saw multiple messages from static code analysis that should only be reported uniquely. What was found was the messages were being generated from two threads running the same build participant on the same source file after a single change was made:
Script Reconciler:
Daemon Thread [org.eclipse.dltk.internal.ui.text.ScriptReconciler] (Suspended)
UDependencyInfoDiskCache.getIncludeInfo(IPath, IPath) line: 103
UDependencyInfoCache.getIncludeInfoInternal(IPath, IPath, UDependencyInfoCache$depInfoCreationRule) line: 277
UDependencyInfoCache.getIncludeInfo(IPath, IPath) line: 268
UDependencyInfoCache.getIncludeModulesFor(ISourceModule) line: 242
UValidationEngine.processIncludes(List<ISourceModule>) line: 150
UValidationEngine.fullyValidate(ISourceModule) line: 107
USourceElementValidator.endvisit(ModuleDeclaration) line: 214
UModuleDeclaration(ModuleDeclaration).traverse(ASTVisitor) line: 72
UValidationBuildParticipant$UBuildParticipant.build(IBuildCo ntext) line: 45
StructureBuilder.build(String, ISourceModule, AccumulatingProblemReporter) line: 73
ReconcileWorkingCopyOperation.makeConsistent(SourceModule, IProblemRequestor) line: 90
ReconcileWorkingCopyOperation.executeOperation() line: 58
ReconcileWorkingCopyOperation(ModelOperation).run(IProgressM onitor) line: 698
ReconcileWorkingCopyOperation(ModelOperation).runOperation(I ProgressMonitor) line: 764
SourceModule.reconcile(boolean, WorkingCopyOwner, IProgressMonitor) line: 309
ScriptReconcilingStrategy.reconcile(ISourceModule, boolean) line: 164
ScriptReconcilingStrategy.access$0(ScriptReconcilingStrategy , ISourceModule, boolean) line: 153
ScriptReconcilingStrategy$1.run() line: 125
SafeRunner.run(ISafeRunnable) line: 42
ScriptReconcilingStrategy.reconcile(boolean) line: 120
ScriptReconcilingStrategy.reconcile(IRegion) line: 192
ScriptCompositeReconcilingStrategy(CompositeReconcilingStrat egy).reconcile(IRegion) line: 97
ScriptCompositeReconcilingStrategy.reconcile(IRegion) line: 74
ScriptReconciler(MonoReconciler).process(DirtyRegion) line: 77
AbstractReconciler$BackgroundThread.run() line: 206
BuildManager worker thread:
Thread [Worker-36] (Suspended)
SQLParser.jj_scan_token(int) line: not available
SQLParser.jj_3R_399() line: not available
SQLParser.jj_3R_397() line: not available
SQLParser.jj_3R_396() line: not available
SQLParser.jj_3R_387() line: not available
SQLParser.jj_3R_379() line: not available
SQLParser.jj_3R_352() line: not available
SQLParser.jj_3R_327() line: not available
SQLParser.jj_3R_261() line: not available
SQLParser.jj_3R_219() line: not available
SQLParser.jj_3R_124() line: not available
SQLParser.jj_3R_51() line: not available
SQLParser.jj_3_4() line: not available
SQLParser.jj_2_4(int) line: not available
SQLParser.StatementPart(Token[]) line: not available
SQLParser.Statement(String, Object[]) line: not available
ParserImpl.parseStatement(String, Object[]) line: not available
GenericStatement.prepMinion(LanguageConnectionContext, boolean, Object[], SchemaDescriptor, boolean) line: not available
GenericStatement.prepare(LanguageConnectionContext, boolean) line: not available
GenericLanguageConnectionContext.prepareInternalStatement(Sc hemaDescriptor, String, boolean, boolean) line: not available
EmbedPreparedStatement40(EmbedPreparedStatement).<init>(EmbedConnection, String, boolean, int, int, int, int, int[], String[]) line: not available
EmbedPreparedStatement40(EmbedPreparedStatement20).<init>(EmbedConnection, String, boolean, int, int, int, int, int[], String[]) line: not available
EmbedPreparedStatement40(EmbedPreparedStatement30).<init>(EmbedConnection, String, boolean, int, int, int, int, int[], String[]) line: not available
EmbedPreparedStatement40.<init>(EmbedConnection, String, boolean, int, int, int, int, int[], String[]) line: not available
Driver40.newEmbedPreparedStatement(EmbedConnection, String, boolean, int, int, int, int, int[], String[]) line: not available
EmbedConnection40(EmbedConnection).prepareStatement(String, int, int, int, int, int[], String[]) line: not available
EmbedConnection40(EmbedConnection).prepareStatement(String) line: not available
UDependencyInfoDiskCache.getIncludeInfo(IPath, IPath) line: 107
UDependencyInfoCache.getIncludeInfoInternal(IPath, IPath, UDependencyInfoCache$depInfoCreationRule) line: 277
UDependencyInfoCache.getIncludeInfo(IPath, IPath) line: 268
UDependencyInfoCache.getIncludeModulesFor(ISourceModule) line: 242
UValidationEngine.processIncludes(List<ISourceModule>) line: 150
UValidationEngine.fullyValidate(ISourceModule) line: 107
USourceElementValidator.endvisit(ModuleDeclaration) line: 214
UModuleDeclaration(ModuleDeclaration).traverse(ASTVisitor) line: 72
UValidationBuildParticipant$UBuildParticipant.build(IBuildCo ntext) line: 45
StandardScriptBuilder.buildModule(IBuildContext) line: 219
StandardScriptBuilder.buildNatureModules(IScriptProject, int, List<ISourceModule>, IProgressMonitor) line: 167
StandardScriptBuilder.buildModules(IScriptProject, List<ISourceModule>, int, IProgressMonitor) line: 136
StandardScriptBuilder.buildModelElements(IScriptProject, List<ISourceModule>, IProgressMonitor, int) line: 52
ScriptBuilder.buildElements(ScriptBuilder$BuilderState[], IProgressMonitor, int) line: 858
ScriptBuilder.incrementalBuild(IResourceDelta, IProgressMonitor) line: 697
ScriptBuilder.build(int, Map, IProgressMonitor) line: 274
BuildManager$2.run() line: 629
SafeRunner.run(ISafeRunnable) line: 42
BuildManager.basicBuild(int, IncrementalProjectBuilder, Map, MultiStatus, IProgressMonitor) line: 172
BuildManager.basicBuild(IProject, int, ICommand[], MultiStatus, IProgressMonitor) line: 203
BuildManager$1.run() line: 255
SafeRunner.run(ISafeRunnable) line: 42
BuildManager.basicBuild(IProject, int, MultiStatus, IProgressMonitor) line: 258
BuildManager.basicBuildLoop(IProject[], IProject[], int, MultiStatus, IProgressMonitor) line: 311
BuildManager.build(int, IProgressMonitor) line: 343
AutoBuildJob.doBuild(IProgressMonitor) line: 144
AutoBuildJob.run(IProgressMonitor) line: 242
Worker.run() line: 54
Ideally I want a single build of the source file in this case.
Am I doing something wrong?
- Carl.
|
|
| |
Goto Forum:
Current Time: Fri Dec 06 12:02:41 GMT 2024
Powered by FUDForum. Page generated in 0.02708 seconds
|