Затмение падает - PullRequest
       4

Затмение падает

2 голосов
/ 30 января 2012

У меня были проблемы с запуском затмения. Это исключение, которое было брошено сегодня после крушения. Я не понимаю, почему я не могу запустить стандартное затмение на моей машине с Linux. Кто-нибудь знает, в чем может быть проблема? Я пытался изменить JVM сто раз. Перепутанный с eclipse.ini, кажется, ничего не работает.

Я использую Eclipse 64 3.7.1 на RHEL5 AMD64;

Exception in thread "Worker-4"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i                                         n thread "Worker-4"
Exception in thread "Keep-Alive-Timer"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i                                         n thread "Keep-Alive-Timer"
Exception in thread "Worker-2"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i                                         n thread "Worker-2"
Exception in thread "Worker-6"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i                                         n thread "Worker-6"
Error while logging event loop exception:
Exception in thread "Worker-3"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i                                         n thread "Worker-3"
Exception in thread "Worker-7"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i                                         n thread "Worker-7"
Exception in thread "[Timer] - Main Queue Handler"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i                                         n thread "[Timer] - Main Queue Handler"
Exception in thread "Worker-5"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Worker-5"
Exception in thread "Worker-8"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Worker-8"
Exception in thread "Worker-10"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Worker-10"
Exception in thread "Worker-9" 

Я попытался увеличить память в файле eclipse.ini. Вот еще несколько ошибок при сбое:

Error while informing user about event loop exception:
java.lang.OutOfMemoryError: PermGen space
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(
DefaultClassLoader.java:188)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(Clas
spathManager.java:601)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(Cl
asspathManager.java:567)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassIm
pl(ClasspathManager.java:490)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_L
ockClassName(ClasspathManager.java:469)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(C
lasspathManager.java:456)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalCla
ss(DefaultClassLoader.java:216)
        at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLo
ader.java:400)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(Bundl
eLoader.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(De
faultClassLoader.java:107)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(
DefaultClassLoader.java:188)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(Clas
spathManager.java:601)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(Cl
asspathManager.java:567)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassIm
pl(ClasspathManager.java:490)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_L
ockClassName(ClasspathManager.java:469)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(C
lasspathManager.java:456)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalCla
ss(DefaultClassLoader.java:216)
        at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLo
ader.java:400)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(Bundl
eLoader.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(De
faultClassLoader.java:107)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at org.eclipse.equinox.internal.p2.metadata.expression.CollectionFilter.
getInnerIterator(CollectionFilter.java:106)
        at org.eclipse.equinox.internal.p2.metadata.expression.CollectionFilter.
evaluate(CollectionFilter.java:56)
Dialog open exception:
java.lang.OutOfMemoryError: PermGen space
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(
DefaultClassLoader.java:188)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(Clas
spathManager.java:601)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(Cl
asspathManager.java:567)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassIm
pl(ClasspathManager.java:490)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_L
ockClassName(ClasspathManager.java:469)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(C
lasspathManager.java:456)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalCla
ss(DefaultClassLoader.java:216)
        at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLo
ader.java:400)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(Bundl
eLoader.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(De
faultClassLoader.java:107)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(
DefaultClassLoader.java:188)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(Clas
spathManager.java:601)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(Cl
asspathManager.java:567)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassIm
pl(ClasspathManager.java:490)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_L
ockClassName(ClasspathManager.java:469)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(C
lasspathManager.java:456)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalCla
ss(DefaultClassLoader.java:216)
        at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLo
ader.java:400)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(Bundl
eLoader.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(De
faultClassLoader.java:107)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.openInternalQues
tionDialog(IDEWorkbenchErrorHandler.java:225)
        at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.openQuestionDial
og(IDEWorkbenchErrorHandler.java:194)
Fatal error happened during workbench emergency close.
java.lang.OutOfMemoryError: PermGen space
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(
DefaultClassLoader.java:188)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(Clas
spathManager.java:601)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(Cl
asspathManager.java:567)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassIm
pl(ClasspathManager.java:490)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_L
ockClassName(ClasspathManager.java:469)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(C
lasspathManager.java:456)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalCla
ss(DefaultClassLoader.java:216)
        at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLo
ader.java:400)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(Bundl
eLoader.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(De
faultClassLoader.java:107)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at org.eclipse.ui.internal.Workbench.close(Workbench.java:1277)
        at org.eclipse.ui.internal.WorkbenchConfigurer.emergencyClose(WorkbenchC
onfigurer.java:165)
        at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.closeWorkbench(I
DEWorkbenchErrorHandler.java:253)
        at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.handleException(
IDEWorkbenchErrorHandler.java:155)
        at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.access$0(IDEWork
benchErrorHandler.java:146)
        at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler$1.runInUIThread(
IDEWorkbenchErrorHandler.java:121)
        at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.ja                                  va:135)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
        at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.ja                                  va:332)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.jav                                  a:667)
Error while logging event loop exception:
java.lang.OutOfMemoryError: PermGen space
Logging exception:
java.lang.OutOfMemoryError: PermGen space
Error while informing user about event loop exception:
java.lang.OutOfMemoryError: PermGen space
Dialog open exception:
java.lang.OutOfMemoryError: PermGen space
Error while informing user about event loop exception:
java.lang.OutOfMemoryError: PermGen space
Dialog open exception:
java.lang.OutOfMemoryError: PermGen space
Error while logging event loop exception:
java.lang.OutOfMemoryError: PermGen space
Logging exception:
java.lang.OutOfMemoryError: PermGen space
Error while logging event loop exception:
java.lang.OutOfMemoryError: PermGen space

Вот мой файл Eclipse.ini:

-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XX:MaxPermSize=256m
-Xms1024m
-Xmx1800m

Я снова задал этот вопрос здесь: Установка максимального размера JVM вне Eclipse.ini и получил хороший ответ для всех, кто столкнулся с этой проблемой.

Ответы [ 3 ]

2 голосов
/ 31 января 2012

Может быть много лежащих в основе проблем, ответственных за падение вашего затмения с java.lang.OutOfMemoryError.

Проверьте, не недостаточно ли у вашей машины памяти. Вы можете сделать это с помощью команды free. Недостаточно памяти, скорее всего, не проявится таким образом, если только вы не отключили overcommit .

Проверьте ограничения размера виртуальной памяти для каждого процесса с помощью команды ulimit -v.

Разрешить JVM захватить большую кучу, используя флаг -Xmx.

Возможно, ваше затмение загружает много плагинов. Каждый плагин содержит несколько классов, и все эти классы хранятся в постоянной генерации кучи. Попробуйте отключить некоторые плагины или увеличить размер постоянной генерации с флагом -XX:MaxPermSize JVM.

РЕДАКТИРОВАТЬ : Теперь, когда вопрос расширен за счет полной трассировки стека и строки сообщения об исключении, очевидно, что размер постоянного поколения неадекватен. Таким образом, как предложено выше, увеличьте его размер с -XX:MaxPermSize или попробуйте отключить некоторые плагины. Возможно, вы недавно добавили плагин, который включает в себя множество классов?

0 голосов
/ 30 января 2012

Собираюсь только на этот журнал. Насколько я понимаю, это проблема размера памяти. Вы пытались взглянуть на объем памяти, выделенный слишком Eclipse при запуске? Возможно, вы настраивали какие-либо параметры JVM по умолчанию. Вы можете проверить запущенный процесс Eclipse с помощью ps -aux из терминала после запуска Eclipse.

Вы должны увидеть что-то вроде -Xmx512m или -XX: MaxPermSize = 128m. Возможно, вы также захотите взглянуть на свой eclipse.ini, чтобы увидеть, есть ли какие-то настройки, связанные с памятью.

0 голосов
/ 30 января 2012

Может быть, с указанием очевидного, но он говорит о нехватке памяти, у вашего компьютера недостаточно памяти?

Попробуйте запустить его с аргументами vm, чтобы выделить больше памяти.

затмение -vmargs -Xmx512m

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...