crash misterioso programa: onde procurar por pistas?

1
No Ubuntu 14.04, muitas vezes experimento o seguinte: abrir um aplicativo e, em 15 segundos, a janela do aplicativo simplesmente desaparece da tela. Se eu ps aux | grep nameOfApplication não aparecer, então algo fechou / matou. Isso só acontece uma vez por sessão logo após a inicialização e não acontece todas as vezes. Até agora, isso aconteceu com o Firefox, o Thunderbird e o gnome-terminal. Na minha lembrança, isso nunca aconteceu com o Nautilus, e eu apenas experimentei acontecer com o gnome-terminal após ter aberto o Nautilus primeiro e navegado para uma pasta, então não é necessariamente o primeiro aplicativo lançado que é morto. Meu ambiente de trabalho é o cairo-dock, não o Unity, embora eu não tenha um motivo a priori para suspeitar que o cairo-dock seja o culpado.

Minha pergunta: onde posso procurar pistas sobre o que está acontecendo e por quê? Essas falhas não estão acionando apport ou whoopsie , então, presumivelmente, se eu descobrir a causa, minha próxima parada deve ser o Launchpad?

atualizar

O problema não aconteceu por alguns dias, mas esta manhã ocorreu novamente. Eu inicializei, iniciei o firefox, iniciei o gnome-terminal e executei tail -f .xsession-errors , mudei o foco de volta para o firefox e, alguns segundos depois, o firefox desapareceu. Aqui está a cauda inicial de .xsession-errors ; infelizmente nada foi adicionado quando o firefox desapareceu:

[~] $ tail -f .xsession-errors
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 14: reading configurations from ~/.fonts.conf is deprecated. please move it to /home/dan/.config/fontconfig/fonts.conf manually

** (gnome-terminal:2600): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-x4UUa9owca: Connection refused

(gnome-terminal:2600): GLib-GIO-CRITICAL **: g_settings_get: the format string may not contain '&' (key 'monospace-font-name' from schema 'org.gnome.desktop.interface'). This call will probably stop working with a future version of glib.
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 14: reading configurations from ~/.fonts.conf is deprecated. please move it to /home/dan/.config/fontconfig/fonts.conf manually

** (gnome-user-share:2696): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-x4UUa9owca: Connection refused

** (telepathy-indicator:2698): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-x4UUa9owca: Connection refused

Para mim, todos parecem não estar relacionados, mas espero que usuários mais experientes vejam algo que eu não vejo.

    
por drammock 09.05.2015 / 02:45

2 respostas

3

Eu começaria por executá-lo em um terminal. Você já disse que seu terminal gráfico é um aplicativo problemático, então use um TTY:

  1. Controle + Alt + F1 para chegar ao TTY1
  2. Fazer login.
  3. Execute DISPLAY=:0 gnome-terminal para iniciar um aplicativo com problema no seu monitor (obviamente, altere o número de exibição se você estiver executando mais de um).
  4. Troque de volta para o servidor X com Controle + Alt + F7 e use o terminal do Gnome até travar.
  5. Volte para TTY1 e visualize a mensagem de erro.

Na minha experiência, as coisas que morrem sem motivo geralmente se resumem a problemas de RAM ou drivers gráficos. Qualquer um desses dois dedos tem apenas o suficiente em tortas apenas o suficiente para causar muitas dores de cabeça.

Supondo que você não encontre uma boa mensagem de erro da Googleable, eu rodaria um memtest (do grub ou de um LiveCD / USB) e verificaria se existem drivers mais estáveis para a placa gráfica. Em seguida, altere a versão do kernel. A essa altura, trata-se tanto de reproduzir o erro e perceber o que você mudou.

    
por 09.05.2015 / 03:27
2

A saída dos programas invocados através da GUI é enviada para o arquivo .xsession-errors em seu diretório home, então você deve procurar por pistas aqui.

Como a saída de todos os programas vai para o mesmo lugar, pode ser difícil dizer o que está vindo do programa com falha. Se você deseja obter a saída de um programa específico, inicie-o em um terminal. Digite o nome do executável na linha de comando, por exemplo, digite firefox no prompt do shell ou redirecione a saída para um arquivo:

{ firefox; echo $?; } </dev/null >~/firefox-$(date).log 2>&1 & disown

Você pode fechar o terminal depois de emitir este comando.

Toda a saída do Firefox será registrada em um arquivo chamado firefox-DATE.log em seu diretório pessoal. Quando o Firefox sair, a última linha no arquivo de log será o código de status: 0 para uma saída normal, 1–127 para um erro e 128–255 se o Firefox morrer devido a um sinal (por exemplo, 139 para uma violação de segmentação, ou seja um acesso de ponteiro inválido).

Existem dois principais culpados por falhas frequentes:

  • Erros de driver de vídeo. Se você estiver usando um ambiente 3D como o Unity (o padrão), tente usar um ambiente 2D, como o LXDE sem o Compiz.
  • RAM com defeito. RAM pode ir mal ao longo do tempo. Teste sua memória RAM. Reinicialize seu computador e pressione e segure Shift assim que você vir uma mensagem sobre o teclado sendo inicializado; você deve ver um menu de inicialização do Grub após alguns segundos. (Se você não consegue ver o menu de inicialização, veja Pressionar shift não me coloca em nenhum menu de grub . Deixe o teste rodar pelo menos uma passagem completa. Se ele reportar um erro, altere sua RAM imediatamente e verifique todos os seus dados - uma RAM ruim pode levar a uma corrupção insidiosa de dados.
por 10.05.2015 / 02:28