OK, this is good information. You are, in fact, running out of memory -- somehow.
I've see this, but seldom as performance starts to suck for me long before. How exactly are you allocating memory for Java? How are you starting Eclipse? And when you were checking how much memory Eclipse was using, how did you check that, exactly? It sounds like you used the task manager -- what is the exact title of the column you used? Task manager is not ideal for looking at this, but the only column that is actually relevant out of the 7 memory columns available is "Memory - Commit size". But the relationship between that and Java's GC'd heap memory allocation is tenuous. About the only thing you can say is that Memory - Commit size" will be greater than the amount of memory Java is actively using in its heap. Did you check your paging file space? That's another way you can run out of memory. And finally, it may report this error when you've run out of native threads. That is, in fact, WHERE you are running out of memory, though it may not be the specific cause. Check the Threads column. With Galileo, and Rev 6 of the Android SDK tools, I don't see a thread leak. In fact, my thread count was initially 47, went up to 52 briefly while auto-building my project, and then as I started looking at layouts, it has gone down to 37, and I don't seem to find anything with layouts that bumps it up at all. If you see a different behavior, then we have a clue. (Otherwise, it's still a clue, but a weak one). On Aug 4, 2:00 pm, Kaj Bjurman <kaj.bjur...@gmail.com> wrote: > I just provoked my Eclipse again, just to see what the error message > is. I remembered it as out of handles, but that was a bit wrong. I > checked the process in the task manager when it was in the error > state. It isn't out of memory, and it's probably not out of handles. > The CPUs are also idle, so nothing is spinning. > > The error from Eclipse is a dialog that says: > > Multiple problems have occured (as title) > > The error message is then, "unable to create new native thread". > > Followed by a textfield that is displaying: > > Collecting garbage > Collecting garbage > Unhandled event loop exception > > unable to create new native thread > > The eclipse error log can be seen below. > > Eclipse was at that time taking about 400 MB of memory (of the 1300M > that I had assigned to the VM) > > It took me about 10-15 minutes. All I did was editing one layout file, > switched between layout view, then edited the xml directly, changed > some properties through the property view, saved quite frequently, > even with compilation errors, and also tried keep editing while it was > saving. > > This never happens when I write code in Eclipse. > > !ENTRY org.eclipse.core.resources 8 2 2010-08-04 22:40:49.414 > !MESSAGE Problems occurred when invoking code from plug-in: > "org.eclipse.core.resources". > !STACK 1 > org.eclipse.core.runtime.CoreException: 'aapt' error. Pre Compiler > Build aborted. > at > com.android.ide.eclipse.adt.internal.build.BaseBuilder.stopBuild(Unknown > Source) > at > com.android.ide.eclipse.adt.internal.build.PreCompilerBuilder.build(Unknown > Source) > at org.eclipse.core.internal.events.BuildManager > $2.run(BuildManager.java:627) > at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) > at > org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java: > 170) > at > org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java: > 201) > at org.eclipse.core.internal.events.BuildManager > $1.run(BuildManager.java:253) > at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) > at > org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java: > 256) > at > org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.j > ava: > 309) > at > org.eclipse.core.internal.events.BuildManager.build(BuildManager.java: > 341) > at > org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java: > 140) > at > org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java: > 238) > at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) > !SUBENTRY 1 com.android.ide.eclipse.adt 8 0 2010-08-04 22:40:49.414 > !MESSAGE 'aapt' error. Pre Compiler Build aborted. > !SUBENTRY 1 com.android.ide.eclipse.adt 8 0 2010-08-04 22:40:49.414 > !MESSAGE 'aapt' error. Pre Compiler Build aborted. > > !ENTRY org.eclipse.ui 4 0 2010-08-04 22:45:29.067 > !MESSAGE Unhandled event loop exception > !STACK 0 > java.lang.OutOfMemoryError: unable to create new native thread > at java.lang.Thread.start0(Native Method) > at java.lang.Thread.start(Unknown Source) > at org.eclipse.jface.text.contentassist.AdditionalInfoController > $Timer.<init>(AdditionalInfoController.java:244) > at org.eclipse.jface.text.contentassist.AdditionalInfoController > $10.<init>(AdditionalInfoController.java:457) > at > org.eclipse.jface.text.contentassist.AdditionalInfoController.install(Addit > ionalInfoController.java: > 457) > at > org.eclipse.jface.text.contentassist.CompletionProposalPopup.displayProposa > ls(CompletionProposalPopup.java: > 1198) > at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access > $23(CompletionProposalPopup.java:1157) > at org.eclipse.jface.text.contentassist.CompletionProposalPopup > $2.run(CompletionProposalPopup.java:500) > at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java: > 70) > at > org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals( > CompletionProposalPopup.java: > 482) > at > org.eclipse.jface.text.contentassist.ContentAssistant.showPossibleCompletio > ns(ContentAssistant.java: > 1660) > at > org.eclipse.wst.sse.ui.internal.StructuredTextViewer.doOperation(Structured > TextViewer.java: > 446) > at org.eclipse.ui.texteditor.TextOperationAction > $1.run(TextOperationAction.java:131) > at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java: > 70) > at > org.eclipse.ui.texteditor.TextOperationAction.run(TextOperationAction.java: > 129) > at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) > at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java: > 185) > at > org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandler > Wrapper.java: > 109) > at org.eclipse.core.commands.Command.executeWithChecks(Command.java: > 476) > at > org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(Parameteri > zedCommand.java: > 508) > at > org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerServi > ce.java: > 169) > at > org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyb > oard.java: > 470) > at > org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java : > 824) > at > org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKey > board.java: > 880) > at > org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(Wo > rkbenchKeyboard.java: > 569) > at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access > $3(WorkbenchKeyboard.java:510) > at org.eclipse.ui.internal.keys.WorkbenchKeyboard > $KeyDownFilter.handleEvent(WorkbenchKeyboard.java:125) > at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) > at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1208) > at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1002) > at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027) > at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012) > at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1040) > at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1036) > at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1368) > at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4053) > at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:346) > at org.eclipse.swt.widgets.Control.windowProc(Control.java:3946) > at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:342) > at org.eclipse.swt.widgets.Display.windowProc(Display.java:4619) > at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) > at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2411) > at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3501) > at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java: > 2405) > at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369) > at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221) > at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500) > at > org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java: > 332) > at > org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java: > 493) > at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java: > 149) > at > org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication > .java: > 113) > at > org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java : > 194) > at > org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication > (EclipseAppLauncher.java: > 110) > at > org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseA > ppLauncher.java: > 79) > at > org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java: > 368) > at > org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java: > 179) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559) > at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514) > at org.eclipse.equinox.launcher.Main.run(Main.java:1311) > > !ENTRY org.eclipse.core.jobs 4 2 2010-08-04 22:45:29.067 > !MESSAGE An internal error occurred during: "Collecting garbage". > !STACK 0 > java.lang.OutOfMemoryError: unable to create new native thread > at java.lang.Thread.start0(Native Method) > at java.lang.Thread.start(Unknown Source) > at java.lang.ref.Finalizer$1.run(Unknown Source) > at java.security.AccessController.doPrivileged(Native Method) > at java.lang.ref.Finalizer.forkSecondaryFinalizer(Unknown Source) > at java.lang.ref.Finalizer.runFinalization(Unknown Source) > at java.lang.Runtime.runFinalization0(Native Method) > at java.lang.Runtime.runFinalization(Unknown Source) > at java.lang.System.runFinalization(Unknown Source) > at org.eclipse.ui.internal.ide.application.IDEIdleHelper > $3.run(IDEIdleHelper.java:182) > at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) > > !ENTRY org.eclipse.core.jobs 4 2 2010-08-04 22:45:29.068 > !MESSAGE An internal error occurred during: "Collecting garbage". > !STACK 0 > java.lang.OutOfMemoryError: unable to create new native thread > at java.lang.Thread.start0(Native Method) > at java.lang.Thread.start(Unknown Source) > at java.lang.ref.Finalizer$1.run(Unknown Source) > at java.security.AccessController.doPrivileged(Native Method) > at java.lang.ref.Finalizer.forkSecondaryFinalizer(Unknown Source) > at java.lang.ref.Finalizer.runFinalization(Unknown Source) > at java.lang.Runtime.runFinalization0(Native Method) > at java.lang.Runtime.runFinalization(Unknown Source) > at java.lang.System.runFinalization(Unknown Source) > at org.eclipse.ui.internal.ide.application.IDEIdleHelper > $3.run(IDEIdleHelper.java:182) > at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) > > !ENTRY org.eclipse.core.resources 8 2 2010-08-04 22:45:53.521 > !MESSAGE Problems occurred when invoking code from plug-in: > "org.eclipse.core.resources". > !STACK 1... > > read more » -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en