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

Reply via email to