Soru Java çalışma ortamı tarafından ölümcül hata


Ben bir deneme sınavı yürütüyorum

Aşağıdaki hatayı aldım

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 )

Herhangi bir vücut lütfen çözmek için çözüm önerebilir


25
2018-03-30 05:53


Menşei


JDK 6 update 20'yi deneyebilirsiniz. - Peter Lawrey
Benzer Tutulma sırasında JUnit 4 test durumu çalıştırılamıyor - idbrii


Cevaplar:


Aynı problemi aldım, ama çok uğraştım, cevabı buldum! Bu sayfaya bak

Bağlantıdan alıntı:


# An unexpected error has been detected by Java Runtime Environment:
#
#  Internal Error (classFileParser.cpp:2924), pid=5364, tid=6644
#  Error: ShouldNotReachHere
  1. Bunun nedeni, Android'in JUnit saplama uygulamasını kullanıyoruz. Çalıştır -> Farklı Çalıştır -> Yapılandırmaları yeniden çalıştır ve son oluşturulan JUnit yapılandırmasında Classpath'in Bootstrap Girişleri, Android Kitaplığı'nı kaldırır
  2. Ardından Gelişmiş ... düğmesini kullanarak Kitaplık ekle ve JRE Sistem Kütüphanesi ve JUnit 3'ü ekleyin.
  3. Uygula ve Çalıştır

Bunu dene, benim için çalıştı.


44
2017-07-11 17:10



Bu benim için en az ................ teşekkürler ........... + 1 size çalıştı - viv
İpucu için teşekkürler! Mükemmel! - guerda
Mükemmel. Şimdi soru, ilk etapta bu neden eklendi. - pitx3
Harika! Düzeltme işleminden önce, bir Android uygulaması için oluşturduğum test vakası akıllı telefonda başlatıldı (ve başarısız oldu). Şimdi PC'de alışılmış bir JUnit testi yapabilirim;) - java.is.for.desktop
+1 Normal Konsol Uygulamaları da giderir. - Sydwell


Bunu Sun ile yapman gerekecek - bana bir JVM hatası gibi görünüyor. Eğer tekrarlanabilirse, java'yı daha fazla ayrıntı üretecek şekilde (örneğin, -verbose, vb.) Çalıştırabilmelisiniz. Hatayı tetikleyen asgari bir duruma indirgeyseniz (kaynak kodu her zaman yardımcı olur!), Bu da çok uzun bir yol kat eder.

http://java.sun.com/developer/technicalArticles/bugreport_howto/index.html

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

Bu arada, farklı bir JVM uygulaması ile denemek isteyebilirsiniz (belki de Sun JRE'nin eski bir yama seviyesi).


3
2018-03-30 06:11





Git Olarak çalıştırmak -> Yapılandırmaları Çalıştır ... ve kullandığınız yapılandırmayı seçin.
Seçin Sınıf Yolu sekme ve seç BootStrap Girişleri.
Tıklamak İlerlemek, sonra Kitaplık ekle ve seç JRE Sistem Kütüphanesi.
Onu getir ve BootstrapEntries Listesindeki ilk giriş yap.

Uygula ve Çalıştır ...


3
2017-09-06 00:20



günümü kurtardım. Teşekkürler :) - Kumar


Başka bir olası açıklama: donanım hatası. Hatayı farklı makinelerde yeniden üretebilirseniz karar verin.


1
2018-03-30 12:08





Bunu çözdüm

  • Tutulmayı bırak
  • Sil çöp Kutusu ve gen projenizdeki dizinler
  • Tutulmaya başla
  • Projenizi yeniden oluşturun

1
2018-06-04 12:36





Yakın zamanda gönderdiğim bu sorun için çözüm buldum. devdanke:

"11 Temmuz-2010 ve Android 2.1'den itibaren, kullandığım çalışma, testleri farklı sınıflara ayırmaktır. Herhangi bir Android API'sini aramayan test (ler) in kendi sınıflarına girmesi bu sınıfların her biri için, Referansı Android'deki Run Configurations, Classpath sekmesinde kaldırırım. "

Sınıf tarafından sınıf yapılandırılmış olması sorunu, daha sonra projedeki tüm testleri çalıştırmak mümkün değildir. Daha iyi bir yaklaşım, farklı kütüphaneler kümeleriyle 2 test projesi oluşturuyor.

Standart Android JUnit Test projesi aşağıdakilerden oluşturulabilir bağlantıve örnek test sınıfı şöyle görünür:

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

Daha sonra JUnit Test projesi Android JUnit Test projesinden, Android Library'yi proje oluşturma yolundan kaldırarak ve JRE System Library ve JUnit 3 kütüphanesini ekleyerek ve test sınıfının örneklerine benzetilerek dönüştürülebilir:

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

1
2017-08-09 19:39





Benzer bir sorunla karşılaştım, çünkü ana [] saplama girdisiyle yeni bir etkinlik oluşturduğumun farkına vardım. Yeni etkinlik templatiğinden ana [] kodunu sildikten sonra hata gitti.

YMMV


1
2018-01-18 14:27





Bu bir JVM hatası olabilir; @ Zac'in cevabı. Ama aynı zamanda senin junit test davasının yüklenmesi için bozuk bir bytecode dosyası neden olabilir. Tüm bunları yeniden oluşturmayı deneyin. .class dosyaları ve eğer bu sorunu çözmezse, kodunuzun bağlı olduğu herhangi bir dış kütüphaneyi yeniden denemeyi deneyin.


0
2018-03-30 11:40



Bozuk bayt kodu? Bir JVM kazası neden oluyor? Aslında bu oldu mu SEEN? - Thorbjørn Ravn Andersen
Hayır. Ancak bu, makul olan bir şey değil, Sun'ın cevap vermesini beklerken ... kontrol edilmesi zor değil. - Stephen C


Desteklenen bir platformda çalışıyor musunuz (Windows, birkaç Linux sürümünden biri?) Değilse, ilk deneyen budur.

Desteklenen bir platformda bulunuyorsanız, _17'ye indirin ve THAT'ın işe yarayıp yaramadığını görün.

Ardından, Sun'a bir hata raporu hazırlayın ve bir gün onu düzelteceklerini umuyoruz (daha hızlı bir şekilde düzeltmek için para vermek istemediğiniz sürece).


0
2018-03-30 11:43