1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. Kvothe, 11.04.2012 #1
    Kvothe

    Kvothe Threadstarter Android-Hilfe.de Mitglied

    Hallo zusammen,

    ich beginne gerade damit mich etwas mit Android App Development zu beschäftigen, bekomme aber Eclipse mit dem ADT Plugin nicht stabil zu laufen.

    Wenn ich z.B. einen Layout Editor aufmache, einen Java Source Editor und dann vll noch compile holt sich der Eclipse Prozess knapp 2GB Ram und schmiert ab (mit gerade mal 2 offenen Dateien).
    Oft schmierts auch schon ab wenn ich nach dem Start nur einen Layout Editor aufmache (und holt sich dabei immer knapp 2GB Ram).

    Ich habe schon einige Eclipse Versionen durch, sowohl 32 als auch 64 Bit, jeweils mit JDK 1.6_31, immer das selbe Problem (auch auf mehreren Rechnern, Windows 7 und Server 2008).
    Natürlich hab ich jedesmal einen cleanen Workspace und ein neues Projekt erstellt (auch wenn das nicht nötig sein dürfte, bin schon etwas genervt).

    Als vmargs hab ich schon 768MB MaxPermSize und 4GB Max Heap angegeben, bringt alles nichts.
    Mir wärs ja auch wurscht wenn Eclipse sich 4Gig Ram nimmt, ich hab in allen Rechnern 8 GB Ram, mehr als 2 schaft die Java VM aber auch in der 64 Bit Version irgendwie nicht, mal abgesehen davon, dass es eigentlich nicht so viel Ram brauchen dürfte aber gut.

    Hatte vll jemand ähnliche Probleme oder kann sich wer vorstellen woran das liegen könnte?

    Die Stack Traces sind leider wenig hilfreich:

    Code:
    !ENTRY org.eclipse.ui 4 0 2012-04-11 00:03:04.030
    !MESSAGE Unhandled event loop exception
    !STACK 0
    java.lang.OutOfMemoryError: PermGen space
    	at java.lang.ClassLoader.defineClass1(Native Method)
    	at java.lang.ClassLoader.defineClassCond(Unknown Source)
    	at java.lang.ClassLoader.defineClass(Unknown Source)
    	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
    	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClassHoldingLock(ClasspathManager.java:626)
    	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:608)
    	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:562)
    	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:486)
    	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:459)
    	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
    	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400)
    	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476)
    	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
    	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
    	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at org.eclipse.jdt.internal.formatter.CodeFormatterVisitor.<init>(CodeFormatterVisitor.java:198)
    	at org.eclipse.jdt.internal.formatter.DefaultCodeFormatter.formatCompilationUnit(DefaultCodeFormatter.java:239)
    	at org.eclipse.jdt.internal.formatter.DefaultCodeFormatter.format(DefaultCodeFormatter.java:163)
    	at org.eclipse.jdt.internal.formatter.DefaultCodeFormatter.format(DefaultCodeFormatter.java:146)
    	at org.eclipse.jdt.internal.corext.util.CodeFormatterUtil.reformat(CodeFormatterUtil.java:288)
    	at org.eclipse.jdt.internal.ui.text.java.JavaFormattingStrategy.format(JavaFormattingStrategy.java:67)
    	at org.eclipse.jface.text.formatter.MultiPassContentFormatter.formatMaster(MultiPassContentFormatter.java:193)
    	at org.eclipse.jface.text.formatter.MultiPassContentFormatter.format(MultiPassContentFormatter.java:142)
    	at org.eclipse.jface.text.source.SourceViewer.doOperation(SourceViewer.java:977)
    	at org.eclipse.jface.text.source.projection.ProjectionViewer.doOperation(ProjectionViewer.java:1535)
    	at org.eclipse.jdt.internal.ui.javaeditor.JavaSourceViewer.doOperation(JavaSourceViewer.java:191)
    	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedSourceViewer.doOperation(CompilationUnitEditor.java:200)
    	at org.eclipse.ui.texteditor.TextOperationAction$1.run(TextOperationAction.java:128)
    	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    	at org.eclipse.ui.texteditor.TextOperationAction.run(TextOperationAction.java:126)
    	at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
    Code:
    !ENTRY org.eclipse.ui 4 0 2012-04-10 23:55:51.725
    !MESSAGE Unhandled event loop exception
    !STACK 0
    java.lang.OutOfMemoryError: PermGen space
    	at java.lang.ClassLoader.defineClass1(Native Method)
    	at java.lang.ClassLoader.defineClassCond(Unknown Source)
    	at java.lang.ClassLoader.defineClass(Unknown Source)
    	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
    	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClassHoldingLock(ClasspathManager.java:626)
    	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:608)
    	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:562)
    	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:486)
    	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:459)
    	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
    	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400)
    	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476)
    	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
    	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
    	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.defineClass1(Native Method)
    	at java.lang.ClassLoader.defineClassCond(Unknown Source)
    	at java.lang.ClassLoader.defineClass(Unknown Source)
    	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
    	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClassHoldingLock(ClasspathManager.java:626)
    	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:608)
    	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:562)
    	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:486)
    	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:459)
    	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
    	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400)
    	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476)
    	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
    	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
    	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    VG,
    Kvothe
     
  2. sixi, 11.04.2012 #2
    sixi

    sixi Erfahrener Benutzer

    Schraub's doch einfach mal weiter hoch?
    Meine Parameter:
    Code:
    -XX:PermSize=512M
    -XX:MaxPermSize=1024m
    -Xms1024m
    -Xmx4096m
    
    Die aktuelle Version ADT hast du vermute ich mal?
     
  3. Kvothe, 11.04.2012 #3
    Kvothe

    Kvothe Threadstarter Android-Hilfe.de Mitglied

    Jawoll, ich hab vom Plugin die v18.

    Mittlerweile glaube ich das Problem gelöst zu haben, anscheinend war in meiner eclipse.ini ein Typo, sodass das MaxPermSize Argument ignoriert wurde und standardmäßig ist das wohl wahnwitzig niedrig.
    Beim Aufmachen eines Editors ist dann der PermGen space ausgegangen und eclipse abgeschmiert.

    Jetzt läufts auch mit einer MaxPermSize von 512 einwandfrei.

    VG
    Kvothe
     

Diese Seite empfehlen