Como faço para solucionar problemas de um segfault no Ubuntu que ocorre ao digitar um comando falso? [duplicado]

1

Temos um servidor de produção com o Ubuntu 11.10. Estamos encontrando segfaults que aparecem sob várias condições. O caso reproduzível mais simples é quando entramos em uma sessão ssh como nosso usuário administrativo e entramos em um comando falso. Você esperaria a mensagem de erro padrão "comando não encontrado". Em vez disso, obtemos um segfault em python. O shell padrão do usuário é / bin / bash.

Por exemplo:

$ asdf
Segmentation fault

Info from /var/log/syslog:
Jul  6 15:39:20 PROD001 kernel: [2155960.605695] python[7873]: segfault at 0 ip (null) sp 00007fffd030b808 error 14 in python2.7[400000+233000]

Alguns detalhes sobre o servidor:

$ uname -a
Linux PROD001 3.0.0-16-server #29-Ubuntu SMP Tue Feb 14 13:08:12 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/issue
Ubuntu 11.10 \n \l

Antes de pedirmos ao departamento de TI para reinstalar o O.S, eu gostaria de entender o que nos trouxe até aqui. O sistema e / ou o ambiente desse usuário específico é suspeito. Muitas pessoas tocaram neste servidor no ano passado, então estou pensando se ele está faltando bibliotecas, pacotes instalados incorretamente, etc. Espero que, se pudermos entender o que está errado nesse caso, isso ajudará a explicar por que está recebendo segfaults em alguns outros cenários.

Todas as dicas sobre solução de problemas deste segfault serão bem-vindas!

    
por Alan 07.07.2012 / 01:23

2 respostas

3

O Ubuntu implementa uma função de comando não encontrado em /etc/bash.bashrc que chama um script python para fornecer sugestões mais úteis do que a mensagem de erro padrão "comando não encontrado".

Talvez o pacote ou algumas dependências precisem ser reinstalados. Um teste simples para ver se este pacote está com defeito seria remover o pacote de comando não encontrado e ver se você ainda obtém o segfault:

apt-get remove comando não encontrado

    
por 07.07.2012 / 01:40
2

Você digita um comando no shell e obtém um segfault ... Você espera que o shell seja bash, mas ele é executado como python. Isso é uma merda assustadora, bem aí.

Desconecte a máquina da rede e faça com que ela seja reinstalada o mais rápido possível. Restaure todos os arquivos locais de um backup em bom estado, porque parece que a máquina pode ter sido rootkitted.

Provavelmente estou errado, mas estou muito preocupado com o cuidado, porque parece que / bin / bash não é o que você espera que seja.

    
por 07.07.2012 / 01:28