Bug 208184 - [build] During build of all projects, the aspectJ builder locks on a resource and blocks all other actions
Summary: [build] During build of all projects, the aspectJ builder locks on a resource...
Status: NEW
Alias: None
Product: AspectJ
Classification: Tools
Component: IDE (show other bugs)
Version: 1.5.0   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-31 01:34 EDT by Chris Rose CLA
Modified: 2007-10-31 01:34 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Rose CLA 2007-10-31 01:34:42 EDT
Build ID: M20070921-1145

Steps To Reproduce:
Given my workspace:  Build my AJDT projects (I have two of them, one of which is quite large (it's an EJB project, with a fairly large amount of code)).

Observe that the build hangs at 38%, pegging on CPU core.

More information:
jstack output:

2007-10-30 23:32:35
Full thread dump Java HotSpot(TM) Client VM (1.6.0_03-b05 mixed mode, sharing):

"Worker-16" prio=10 tid=0x093f4c00 nid=0x182c in Object.wait() [0x02dba000..0x02dbae30]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x67736710> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

   Locked ownable synchronizers:
	- None

"Worker-15" prio=10 tid=0xae98bc00 nid=0x1800 runnable [0x024c5000..0x024c5eb0]
   java.lang.Thread.State: RUNNABLE
	at org.eclipse.core.internal.jobs.JobListeners.newEvent(JobListeners.java:72)
	at org.eclipse.core.internal.jobs.JobListeners.done(JobListeners.java:150)
	at org.eclipse.core.internal.jobs.JobManager.endJob(JobManager.java:550)
	at org.eclipse.core.internal.jobs.WorkerPool.endJob(WorkerPool.java:105)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:71)

   Locked ownable synchronizers:
	- None

"Worker-13" prio=10 tid=0x08ee7800 nid=0x17e3 runnable [0x02381000..0x02382130]
   java.lang.Thread.State: RUNNABLE
	at java.io.FileInputStream.readBytes(Native Method)
	at java.io.FileInputStream.read(FileInputStream.java:199)
	at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
	- locked <0x663d15b8> (a java.io.BufferedInputStream)
	at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
	at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
	at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
	- locked <0x663d3658> (a java.io.InputStreamReader)
	at java.io.InputStreamReader.read(InputStreamReader.java:167)
	at org.aspectj.org.eclipse.jdt.internal.compiler.util.Util.getInputStreamAsCharArray(Util.java:246)
	at org.aspectj.org.eclipse.jdt.internal.compiler.util.Util.getFileCharContent(Util.java:70)
	at org.aspectj.org.eclipse.jdt.internal.compiler.batch.CompilationUnit.getContents(CompilationUnit.java:57)
	at org.aspectj.ajdt.internal.core.builder.EclipseAdapterUtils.makeLocationContext(EclipseAdapterUtils.java:50)
	at org.aspectj.ajdt.internal.core.builder.EclipseAdapterUtils.makeSourceLocation(EclipseAdapterUtils.java:122)
	at org.aspectj.ajdt.internal.core.builder.EclipseAdapterUtils.makeMessage(EclipseAdapterUtils.java:132)
	at org.aspectj.ajdt.internal.core.builder.AjBuildManager$4.acceptResult(AjBuildManager.java:1042)
	at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.acceptResult(AjPipeliningCompilerAdapter.java:405)
	at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.afterProcessing(AjPipeliningCompilerAdapter.java:378)
	at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$after$org_aspectj_ajdt_internal_compiler_CompilerAdapter$5$6b855184(CompilerAdapter.aj:98)
	at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:533)
	at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:329)
	at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:974)
	at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:262)
	at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:214)
	at org.aspectj.ajdt.internal.core.builder.AjBuildManager.incrementalBuild(AjBuildManager.java:185)
	at org.aspectj.ajde.core.internal.AjdeCoreBuildManager.doBuild(AjdeCoreBuildManager.java:88)
	at org.aspectj.ajde.core.AjCompiler.build(AjCompiler.java:96)
	at org.eclipse.ajdt.core.builder.AJBuilder.build(AJBuilder.java:198)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:624)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:166)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:197)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:246)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:249)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:302)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:334)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:137)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

   Locked ownable synchronizers:
	- None

"Attach Listener" daemon prio=10 tid=0xb1e45000 nid=0x16f2 waiting on condition [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=10 tid=0x08f31800 nid=0x16a7 in Object.wait() [0x0716a000..0x0716ae30]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:176)
	- locked <0x68a552d0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

   Locked ownable synchronizers:
	- None

"Thread-6" prio=10 tid=0xb2a29400 nid=0x169e waiting on condition [0x02474000..0x02474fb0]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at org.eclipse.mylyn.monitor.core.ActivityTimerThread.run(ActivityTimerThread.java:64)

   Locked ownable synchronizers:
	- None

"Timer-2" prio=10 tid=0xb2a28800 nid=0x169d in Object.wait() [0x02423000..0x02424130]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.util.TimerThread.mainLoop(Timer.java:509)
	- locked <0x682adf18> (a java.util.TaskQueue)
	at java.util.TimerThread.run(Timer.java:462)

   Locked ownable synchronizers:
	- None

"Worker-1" prio=10 tid=0x089e5400 nid=0x1696 runnable [0x00a45000..0x00a45fb0]
   java.lang.Thread.State: RUNNABLE
	at java.util.Arrays.copyOfRange(Arrays.java:3209)
	at java.lang.String.<init>(String.java:216)
	at java.lang.StringBuffer.toString(StringBuffer.java:585)
	- locked <0x663d0358> (a java.lang.StringBuffer)
	at java.net.URLStreamHandler.toExternalForm(URLStreamHandler.java:491)
	at java.net.URL.toExternalForm(URL.java:901)
	at java.net.URL.toString(URL.java:887)
	at java.lang.ClassLoader.defineClassSourceLocation(ClassLoader.java:497)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:617)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:161)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:501)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:471)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:430)
	- locked <0x67731ed8> (a org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:413)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:189)
	at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:340)
	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:408)
	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:369)
	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:357)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
	- locked <0x67731ed8> (a org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader)
	at org.eclipse.ui.internal.statushandlers.StatusNotificationManager.addError(StatusNotificationManager.java:112)
	at org.eclipse.ui.statushandlers.WorkbenchErrorHandler.handle(WorkbenchErrorHandler.java:50)
	at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.handle(IDEWorkbenchErrorHandler.java:91)
	at org.eclipse.ui.internal.WorkbenchErrorHandlerProxy.handle(WorkbenchErrorHandlerProxy.java:36)
	at org.eclipse.ui.statushandlers.StatusManager.handle(StatusManager.java:186)
	at org.eclipse.ui.internal.progress.ProgressManager$1.done(ProgressManager.java:447)
	at org.eclipse.core.internal.jobs.JobListeners$3.notify(JobListeners.java:39)
	at org.eclipse.core.internal.jobs.JobListeners.doNotify(JobListeners.java:96)
	at org.eclipse.core.internal.jobs.JobListeners.done(JobListeners.java:152)
	at org.eclipse.core.internal.jobs.JobManager.endJob(JobManager.java:550)
	at org.eclipse.core.internal.jobs.WorkerPool.endJob(WorkerPool.java:105)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:71)

   Locked ownable synchronizers:
	- None

"Timer-1" prio=10 tid=0x087cb400 nid=0x168e in Object.wait() [0x00e4a000..0x00e4b130]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.util.TimerThread.mainLoop(Timer.java:509)
	- locked <0x67d12d10> (a java.util.TaskQueue)
	at java.util.TimerThread.run(Timer.java:462)

   Locked ownable synchronizers:
	- None

"Java indexing" daemon prio=10 tid=0x0882d400 nid=0x168d in Object.wait() [0x00b4a000..0x00b4b0b0]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:369)
	- locked <0x67c59950> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- None

"Timer-0" prio=10 tid=0x08affc00 nid=0x168c in Object.wait() [0x00af9000..0x00af9e30]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.util.TimerThread.mainLoop(Timer.java:509)
	- locked <0x67c59a08> (a java.util.TaskQueue)
	at java.util.TimerThread.run(Timer.java:462)

   Locked ownable synchronizers:
	- None

"Worker-0" prio=10 tid=0x08995c00 nid=0x1689 in Object.wait() [0x0098e000..0x0098eeb0]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.mylyn.internal.tasks.ui.OfflineCachingStorage$CacheFlushJob.run(OfflineCachingStorage.java:238)
	- locked <0x67d1ae70> (a org.eclipse.mylyn.internal.tasks.ui.OfflineCachingStorage$CacheFlushJob)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

   Locked ownable synchronizers:
	- None

"Start Level Event Dispatcher" daemon prio=10 tid=0x088a3800 nid=0x1686 in Object.wait() [0x008ec000..0x008ed130]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x66951898> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:355)
	- locked <0x66951898> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:293)

   Locked ownable synchronizers:
	- None

"Framework Event Dispatcher" daemon prio=10 tid=0x088d2000 nid=0x1685 in Object.wait() [0x0089b000..0x0089c0b0]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:355)
	- locked <0x66951a10> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:293)

   Locked ownable synchronizers:
	- None

"State Data Manager" daemon prio=10 tid=0x088d1c00 nid=0x1684 waiting on condition [0x0084a000..0x0084ae30]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.java:297)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- None

"Low Memory Detector" daemon prio=10 tid=0x087a3c00 nid=0x1682 runnable [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"CompilerThread0" daemon prio=10 tid=0x087a2400 nid=0x1681 waiting on condition [0x00000000..0x0070b948]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"Signal Dispatcher" daemon prio=10 tid=0x087a1000 nid=0x1680 runnable [0x00000000..0x0068ad10]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"Finalizer" daemon prio=10 tid=0x0879c800 nid=0x167f in Object.wait() [0x00639000..0x00639fb0]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
	- locked <0x667f6830> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

   Locked ownable synchronizers:
	- None

"Reference Handler" daemon prio=10 tid=0x08798400 nid=0x167e in Object.wait() [0x005e9000..0x005e9130]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
	- locked <0x667f68c0> (a java.lang.ref.Reference$Lock)

   Locked ownable synchronizers:
	- None

"main" prio=10 tid=0x08770000 nid=0x1381 runnable [0xbfc16000..0xbfc19ce8]
   java.lang.Thread.State: RUNNABLE
	at java.lang.String.substring(String.java:1940)
	at org.eclipse.jface.dialogs.Dialog.shortenText(Dialog.java:359)
	at org.eclipse.ui.internal.progress.ProgressInfoItem.updateText(ProgressInfoItem.java:770)
	at org.eclipse.ui.internal.progress.ProgressInfoItem.setLinkText(ProgressInfoItem.java:759)
	at org.eclipse.ui.internal.progress.ProgressInfoItem.refresh(ProgressInfoItem.java:520)
	at org.eclipse.ui.internal.progress.ProgressInfoItem.setDisplayed(ProgressInfoItem.java:902)
	at org.eclipse.ui.internal.progress.ProgressInfoItem.setDisplayed(ProgressInfoItem.java:888)
	at org.eclipse.ui.internal.progress.DetailedProgressViewer.updateVisibleItems(DetailedProgressViewer.java:503)
	at org.eclipse.ui.internal.progress.DetailedProgressViewer.access$0(DetailedProgressViewer.java:497)
	at org.eclipse.ui.internal.progress.DetailedProgressViewer$2.controlMoved(DetailedProgressViewer.java:99)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:210)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1101)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1125)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1106)
	at org.eclipse.swt.widgets.Control.setBounds(Control.java:682)
	at org.eclipse.swt.widgets.Composite.setBounds(Composite.java:1153)
	at org.eclipse.swt.widgets.Control.setLocation(Control.java:750)
	at org.eclipse.swt.custom.ScrolledComposite.setContent(ScrolledComposite.java:438)
	at org.eclipse.ui.internal.progress.DetailedProgressViewer.updateForShowingProgress(DetailedProgressViewer.java:180)
	at org.eclipse.ui.internal.progress.DetailedProgressViewer.add(DetailedProgressViewer.java:172)
	at org.eclipse.ui.internal.progress.ProgressViewerContentProvider.add(ProgressViewerContentProvider.java:213)
	at org.eclipse.ui.internal.progress.ProgressViewUpdater$1.runInUIThread(ProgressViewUpdater.java:277)
	at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:94)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
	- locked <0x66292970> (a org.eclipse.swt.widgets.RunnableLock)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974)
	at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.runEventLoop(EventLoopProgressMonitor.java:123)
	at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.isCanceled(EventLoopProgressMonitor.java:97)
	at org.eclipse.core.runtime.ProgressMonitorWrapper.isCanceled(ProgressMonitorWrapper.java:106)
	at org.eclipse.core.runtime.SubMonitor$RootInfo.isCanceled(SubMonitor.java:257)
	at org.eclipse.core.runtime.SubMonitor.isCanceled(SubMonitor.java:514)
	at org.eclipse.core.internal.jobs.ThreadJob.isCanceled(ThreadJob.java:132)
	at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:167)
	at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:87)
	at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:225)
	at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:117)
	at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:1744)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1792)
	at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:113)
	- locked <0x657828c8> (a org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation)
	at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:73)
	at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:63)
	at org.eclipse.ui.editors.text.TextFileDocumentProvider.executeOperation(TextFileDocumentProvider.java:450)
	at org.eclipse.ui.editors.text.TextFileDocumentProvider.saveDocument(TextFileDocumentProvider.java:761)
	at org.eclipse.ui.texteditor.AbstractTextEditor.performSave(AbstractTextEditor.java:4716)
	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSave(CompilationUnitEditor.java:1216)
	at org.eclipse.ajdt.internal.ui.editor.AspectJEditor.doSave(AspectJEditor.java:298)
	- locked <0x6801d478> (a org.eclipse.ajdt.core.javaelements.AJCompilationUnit)
	at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.doSave(AbstractTextEditor.java:6779)
	at org.eclipse.ui.Saveable.doSave(Saveable.java:212)
	at org.eclipse.ui.internal.SaveableHelper.doSaveModel(SaveableHelper.java:339)
	at org.eclipse.ui.internal.SaveableHelper$2.run(SaveableHelper.java:185)
	at org.eclipse.ui.internal.SaveableHelper$4.run(SaveableHelper.java:266)
	at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:369)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:313)
	at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:758)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
	at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:755)
	at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2451)
	at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:274)
	at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:253)
	at org.eclipse.ui.internal.SaveableHelper.saveModels(SaveableHelper.java:196)
	at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:136)
	at org.eclipse.ui.internal.EditorManager.savePart(EditorManager.java:1345)
	at org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage.java:3202)
	at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3215)
	at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:73)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
	at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:475)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:429)
	at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:165)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:821)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:879)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:568)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:126)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1423)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1100)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1125)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1110)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1137)
	at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:663)
	at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:2533)
	at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:679)
	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1486)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4234)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:3973)
	at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
	at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:5593)
	at org.eclipse.swt.widgets.Display.eventProc(Display.java:1192)
	at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
	at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1487)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2969)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1173)

   Locked ownable synchronizers:
	- None

"VM Thread" prio=10 tid=0x08796c00 nid=0x167d runnable 

"VM Periodic Task Thread" prio=10 tid=0x087a5800 nid=0x1683 waiting on condition 

JNI global references: 1629

Eventually there's an out of memory exception:
java.lang.OutOfMemoryError: Java heap space
        at org.aspectj.org.eclipse.jdt.internal.compiler.util.Util.getInputStreamAsCharArray(Util.java:239)
        at org.aspectj.org.eclipse.jdt.internal.compiler.util.Util.getFileCharContent(Util.java:70)
        at org.aspectj.org.eclipse.jdt.internal.compiler.batch.CompilationUnit.getContents(CompilationUnit.java:57)
        at org.aspectj.ajdt.internal.core.builder.EclipseAdapterUtils.makeLocationContext(EclipseAdapterUtils.java:50)
        at org.aspectj.ajdt.internal.core.builder.EclipseAdapterUtils.makeSourceLocation(EclipseAdapterUtils.java:122)
        at org.aspectj.ajdt.internal.core.builder.EclipseAdapterUtils.makeMessage(EclipseAdapterUtils.java:132)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager$4.acceptResult(AjBuildManager.java:1042)
        at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.acceptResult(AjPipeliningCompilerAdapter.java:405)
        at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.afterProcessing(AjPipeliningCompilerAdapter.java:378)
        at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$after$org_aspectj_ajdt_internal_compiler_CompilerAdapter$5$6b855184(CompilerAdapter.aj:98)
        at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:533)
        at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:329)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:974)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:262)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:214)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.incrementalBuild(AjBuildManager.java:185)
        at org.aspectj.ajde.core.internal.AjdeCoreBuildManager.doBuild(AjdeCoreBuildManager.java:88)
        at org.aspectj.ajde.core.AjCompiler.build(AjCompiler.java:96)
        at org.eclipse.ajdt.core.builder.AJBuilder.build(AJBuilder.java:198)
        at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:624)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
        at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:166)
        at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:197)
        at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:246)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
        at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:249)
        at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:302)
        at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:334)
        at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:137)
        at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)