A JVM usa vários sinais durante a operação normal, portanto, os SIGSEGVs são esperados. O SIGSEGV é usado ao lidar com o NullPointerException.
Veja este artigo para mais detalhes.
Resumo: A Java VM que está executando o Eclipse no meu sistema parece estar funcionando, mas internamente ela recebe segfaults constantemente.
Etapas para reproduzir:
eclipse-cpp-kepler-SR2-linux-gtk-x86_64.tar.gz
do link . /path/to/eclipse
. gdb /path/to/eclipse/eclipse
. set follow-fork child
para que o GDB rastreie o processo Java real e não apenas o inicializador do Eclipse. run
para iniciar o Eclipse. Pode ser necessário selecionar um diretório da área de trabalho. cont
no GDB e você receberá outro. Digite cont
novamente e você receberá outro. E assim por diante ad nauseam. Mais uma vez, o Eclipse parece estar funcionando, presumivelmente porque está captando o sinal e se recuperando de alguma forma.
Meu sistema operacional é o Red Hat Enterprise Linux 6.5 de 64 bits com todas as atualizações de ontem (2014-maio-22). O Java RPM é java-1.7.0-openjdk-1.7.0.55-2.4.7.1.el6_5.x86_64
, a versão atual (Versão 7, Atualização 55) do link produz os mesmos resultados.
Estou curioso para saber se esse comportamento acontece para outras pessoas e para outros tipos de Linux. Mais importante, estou curioso para saber se isso é "normal".
(Caso você esteja se perguntando ... Embora o Eclipse pareça estar funcionando, estou preocupado que algum problema real esteja sendo oculto. Percebi isso porque estou obtendo segfaults ocasionais, não totalmente reproduzíveis em um plug-in que usa o WebKit.Eu pensei que eu iria tentar observar o segfault sob GDB, mas isso acaba por ser complicado, porque a JVM é segfaulting repetidamente desde o início, mesmo em uma nova instalação sem o plug-in ofensivo. / p>
A JVM usa vários sinais durante a operação normal, portanto, os SIGSEGVs são esperados. O SIGSEGV é usado ao lidar com o NullPointerException.
Veja este artigo para mais detalhes.