Erro fatal por Java Runtime Environment
-
23-09-2019 - |
Pergunta
Estou executando um caso de teste junit
Eu recebi o seguinte erro,
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 )
Alguém pode sugerir a solução para resolver
Nenhuma solução correta
Outras dicas
Ok, finalmente consegui criar uma solução respondendo às minhas necessidades. Vou tentar resumir:
Eu construí um script JavaScript que use as 3 bibliotecas principais do SharePoint JS: ECMA scripts. Eu achei a mesma coisa que eu queria fazer e adaptei, e adicionei algumas coisas: http://www.sharepointdevelopment.me/2011/05/working-with-files-in-sharepoint-from-ecma-script/
Então, eu criei uma página do snippet de código em uma página .aspx do meu SharePoint:
- .
- criou um formulário dentro com uma entrada, para digitar o nome da página, botões de opção, para escolher o wiki onde eu quero criar a página e, em seguida, uma lista suspensa para selecionar o modelo que eu quero usar.
- ligou o formulário com a minha função JS.
- Adicionado um link gerado no final para acessar diretamente a página apenas criada.
Você precisará aceitar isso com Sun - parece um bug da JVM para mim. Se for reproduzível, você poderá executar o Java de maneira a gerar mais detalhes (por exemplo -verbose, etc.). Se você pode reduzi -lo a um caso mínimo que aciona o bug (o código -fonte sempre ajuda!), Isso também ajuda muito.
http://java.sun.com/developer/technicalarticles/bugreport_howto/index.html
http://bugreport.sun.com/bugreport/crash.jsp
Enquanto isso, você pode querer experimentá -lo com uma implementação de JVM diferente (talvez até um nível mais antigo do Sun Jre).
Vamos para Correr como -> Execute configurações ... e selecione a configuração que você está usando.
Selecione os Caminho da classe guia e selecione Entradas de bootstrap.
Clique em Avançar, então Adicionar biblioteca e selecione Biblioteca do sistema JRE.
Traga -o e faça a primeira entrada na lista de bootstrapentries.
Aplique e corra ...
Outra explicação possível: falha de hardware. Descartado se você pode reproduzir o erro em diferentes máquinas.
Eu resolvi isso por
- Pare de eclipse
- Exclua o BIN e gen diretórios em seu projeto
- Inicie o eclipse
- Reconstrua seu projeto
Acabei de encontrar a solução recentemente para esta edição que foi publicada por Devdanke:
"A partir de 11 de julho de 2010 e Android 2.1, o trabalho em torno de uso é segregar testes em diferentes classes. Qualquer teste (s) que não chama nenhuma APIs Android entra em suas próprias classes. Para cada uma dessas classes, Removo a referência ao Android em suas configurações de corrida, Guia ClassPath. "
O problema de ter a classe por classe configurada por classe é, então, não é possível executar todos os testes no projeto. A melhor abordagem é criar 2 projetos de teste com diferentes conjuntos de bibliotecas.
O projeto padrão de teste Android Junit pode ser criado seguindo link, e a classe de teste de amostra parece:
import android.test.AndroidTestCase;
public class ConverterTest extends AndroidTestCase {
public void testConvert() {
assertEquals("one", "one");
}
}
Em seguida, o Projeto de Teste Junit pode ser convertido do projeto de teste Android Junit, removendo a Biblioteca Android do Project Build Path e adicionando JRE System Library, e Junit 3 Library, e a classe de teste de amostra se parece:
import junit.framework.TestCase;
public class ConverterTest extends TestCase{
public void testConvert() {
assertEquals("one", "one");
}
}
Você pode criar todos os artefatos mencionados tipo de conteúdo, listas, fluxo de trabalho e GUI em aplicativos hospedados do SharePoint.Mas lembre-se que você precisa executar toda a sua codificação usando o modelo de objeto de cliente de descanso e / ou javascript.
Isso pode ser um bug da JVM; Veja a resposta de @Zac. Mas também pode ser que o seu caso de teste JUNIT esteja causando carregamento de um arquivo de bytecode corrompido. Tente reconstruir todos os seus .class
Arquivos e, se isso não corrigir o problema, tente reformar quaisquer bibliotecas externas das quais seu código depende.
Você executa em uma plataforma compatível (Windows, uma das poucas versões do Linux?) Caso contrário, essa é a primeira a tentar.
Se você ESTÁ em uma plataforma compatível, faça downgrade para _17 e veja se ISSO ajuda.
Em seguida, faça um relatório de bug para a Sun e espere que eles o consertem algum dia (a menos que você queira dar-lhes dinheiro para consertá-lo mais rapidamente).
Vá para executar como-> Executar configurações-> ClassPath-> Entradas de bootstrap Clique em Advance, adicione a biblioteca e selecione JRE System Library como uma primeira entrada. Aplique e corra ...
Não tenho certeza se você conseguiu alcançar a solução para o seu problema ou não, mas sua pergunta apareceu enquanto eu estava procurando a solução para o mesmo problema que estou enfrentando. E eu recebi uma solução da pilha em si, então pensei em compartilhar um link com você se isso ajudar por qualquer meio. O link está como abaixo:
Não é possível executar o caso de teste Junit 4 no Eclipse Android Project
Outra razão possível (para referências futuras):Eu acidentalmente copiei um método main do meu código, fazendo com que o Eclipse reconhecesse o projeto como uma aplicação java, iniciando-o assim com aquela configuração.
Para resolver entrei em Executar > Configurações de Execução...e depois mudei do meu suposto aplicativo principal em Java para a atividade principal do meu aplicativo Android simplesmente escolhendo-o na coluna da esquerda.