it-swarm.com.ru

Неустранимая ошибка в среде выполнения Java

Я выполняю тестовый пример Junit

Я получил следующую ошибку,

A fatal error has been detected by the Java Runtime Environment:

Internal Error (classFileParser.cpp:3174), pid=2680, tid=2688

  Error: ShouldNotReachHere()

  JRE version: 6.0_18-b07

  Java VM: Java HotSpot(TM) Client VM (16.0-b13 mixed mode windows-x86 )

Может ли какой-либо орган, пожалуйста, предложите решение, чтобы решить

25
siri

У меня та же проблема, но с большим количеством прибегая к помощи я нашел ответ! Смотрите эту страницу

Цитата из ссылки:


# An unexpected error has been detected by Java Runtime Environment:
#
#  Internal Error (classFileParser.cpp:2924), pid=5364, tid=6644
#  Error: ShouldNotReachHere
  1. Это потому, что мы используем реализацию JUnit-заглушки Android. Перейдите в «Выполнить» -> «Выполнить как» -> «Выполнить конфигурации» еще раз, и в недавно созданной конфигурации JUnit записи начальной загрузки Classpath удаляют библиотеку Android
  2. Затем добавьте библиотеку, используя кнопку Advanced ..., и добавьте JRE System Library и JUnit 3
  3. Применить и запустить

Попробуйте это, это сработало для меня. 

44
Fredrik

Вам нужно будет заняться этим с Sun - для меня это похоже на ошибку JVM. Если это воспроизводимо, вы должны иметь возможность запускать Java таким образом, чтобы генерировать больше деталей (например, -verbose и т.д.). Если вы можете уменьшить его до минимального значения, которое вызывает ошибку (исходный код всегда помогает!), То это тоже очень далеко.

http://Java.Sun.com/developer/technicalArticles/bugreport_howto/index.html

http://bugreport.Sun.com/bugreport/crash.jsp

Тем временем вы можете попробовать это с другой реализацией JVM (возможно, даже с более старым уровнем исправлений Sun JRE).

3
Zac Thompson

Перейдите в Run As -> Run Configurations ... и выберите конфигурацию, которую вы используете.
Выберите путь к классу вкладку и выберите Записи BootStrap .
Нажмите Advance , затем Добавить библиотеку и выберите Системная библиотека JRE .
Поднимите это и сделайте это первой записью в списке BootstrapEntries.

Применить и запустить ...

3
isuru chathuranga

Другое возможное объяснение: аппаратный сбой. Исключено, если вы можете воспроизвести ошибку на разных машинах.

1
Michael Borgwardt

Я только недавно нашел решение этой проблемы, которое было опубликовано devdanke :

«Начиная с 11 июля 2010 года и Android 2.1, я использую обходной путь, чтобы разделить тесты на разные классы. Любые тесты, которые не вызывают API-интерфейсы Android, переходят в свои собственные классы. Для каждого из этих классов Я удалил ссылку на Android в их настройках запуска, вкладка Classpath. " 

В этом случае проблема с настройкой класса за классом невозможна для запуска всех тестов в проекте. Лучше всего создать 2 тестовых проекта с разными наборами библиотек. 

Стандартный проект Android JUnit Test можно создать, следуя link , и пример тестового класса выглядит следующим образом:

import Android.test.AndroidTestCase;
public class ConverterTest extends AndroidTestCase {
    public void testConvert() {
        assertEquals("one", "one");
    }   
}

Затем проект JUnit Test можно преобразовать из проекта Android JUnit Test, удалив библиотеку Android из пути сборки проекта, добавив JRE System Library и библиотеку JUnit 3, и пример тестового класса выглядит следующим образом:

import junit.framework.TestCase;
public class ConverterTest extends TestCase{
    public void testConvert() {
        assertEquals("one", "one");
    }   
}
1
volody

У меня была похожая проблема, я обнаружил, что это связано с тем, что я сгенерировал новое действие с основной заглушкой []. Как только я удалил основной [] код из нового шаблона деятельности, ошибка исчезла.

YMMV

1
Jeff Dyer

Я решил это

  • Выйти из Затмения
  • Удалите каталоги bin и gen в вашем проекте
  • Запустить Eclipse
  • Перестрой свой проект
1
Nick Craig-Wood

Я не уверен, удалось ли вам найти решение вашей проблемы или нет, но ваш вопрос только что всплыл, когда я искал решение той же проблемы, с которой я столкнулся. И я получил одно решение от самого стека, так что просто подумал поделиться ссылкой с вами, если это поможет вам каким-либо образом. Ссылка как ниже:

Невозможно запустить тестовый пример JUnit 4 в проекте Eclipse Android

0
nidhi

Перейдите в Run As -> Run Configurations -> classpath-> BootStrap Entries Нажмите на Advance, затем Add Library и выберите JRE System Library в качестве первой записи . Apply and Run ...

0
abhi

Это может быть ошибка JVM; см. ответ @ Зак. Но также может случиться так, что ваш тестовый пример junit вызывает загрузку поврежденного файла байт-кода. Попробуйте перестроить все ваши .class файлы, и если это не решит проблему, попробуйте перезапустить все внешние библиотеки, от которых зависит ваш код.

0
Stephen C

Работаете ли вы на поддерживаемой платформе (Windows, одна из немногих версий Linux?) Если нет, то это первая попытка.

Если вы находитесь на поддерживаемой платформе, понизьте ее до _17 и посмотрите, поможет ли это. 

Затем сделайте отчет об ошибке в Sun и надейтесь, что они когда-нибудь исправят это (если вы не хотите дать им деньги за то, чтобы исправить это быстрее).

0
Thorbjørn Ravn Andersen