
PuTTY trava quando o programa tenta sair. Quando travar, a janela irá congelar e não fechará, não importa o que aconteça. Forçar o fechamento não funcionará, o gerenciador de tarefas não funcionará. pskill
do pstools (usando o prompt de comando do administrador) não tem efeito - diz que o processo foi eliminado, mas permanece. Nada fará com que a janela desapareça, exceto a reinicialização do computador.
Isso vem acontecendo há algumas semanas, possivelmente causado por uma atualização recente do Windows, mas é apenas um palpite. Isso não acontece sempre, mas talvez 50% das vezes. Ele trava, seja uma saída manual invocada digitando "exit" ou "logout", ou quando sai porque o computador entrou no modo de suspensão.
Isso só acontece quando uso o tunelamento de porta.Sempre tenho várias janelas do PuTTY abertas, e a única que trava é aquela com um túnel de porta aberto.
Antes da falha mais recente, abri o log do PuTTY para ver o que dizia. A linha final foi "Servidor enviou comando de saída status 0", o que parece normal.
Aqui está uma captura de tela das minhas configurações de túnel de porta, caso isso seja relevante:
Aqui está a caixa de erro do Windows, que identifica o tipo de erro como “AppHangB1”:
O Google não me deu nenhum resultado. Pesquisas por esse tipo de falha me disseram que geralmente é causado por um driver com bugs, então esse é um caminho possível, se alguém souber o que devo tentar atualizar/reverter.
Atualizei o PuTTY para a versão mais recente sem efeito. Não tentei atualizar o computador remoto (que eu controlo) ou meu roteador, mas espero que nenhum deles esteja relacionado a esse tipo de falha, que parece estar relacionado ao próprio Windows.
Janelas 7
Atualizar
Executei as ferramentas de depuração sugeridas, que geraram um despejo de memória e uma análise do mesmo. São muitas informações, então colei em umjsfiddle você pode ver aqui. Citei o resumo abaixo, mas consulte essa página para ver o relatório completo, porque é bastante informação.
Descrição:Detectado possível bloqueio ou seção crítica vazada em 0x041916d8 de propriedade do thread 0 em putty.exe__PID__7768__Date__08_14_2018__Time_02_26_52PM__311__Manual Dump.dmp
Impacto deste bloqueio: 25,00% de threads bloqueados (Threads 2)
As seguintes funções estão tentando entrar nesta seção crítica
mswsock!SockAsyncSelectCompletion+2a
Os seguintes módulos estão envolvidos nesta seção crítica:
C:\WINDOWS\System32\mswsock.dllda Microsoft Corporation
Atualização 3 semanas depois
Já se passou quase um mês sem travamentos e, nesse período, houve outra atualização do Windows. O momento é muito coincidente; Acho que isso deve ter sido causado por uma atualização do Windows no verão, provavelmente em julho, e corrigido na atualização de agosto.
Responder1
Nas definições de configuração do PuTTY, a configuração “Fechar janela ao sair” pode participar do problema, então tente testar suas outras configurações disponíveis.
Você também pode experimentar um produto gratuito alternativo, um dos seguintes: Gatinha, MobaXterm, ou Bitvise.
Se uma das alternativas funcionar para você, primeiro você terá uma solução alternativa para o problema. Em segundo lugar, o problema em si é provavelmente alguma dificuldade no protocolo de comunicação do PuTTY com o computador remoto, e você deve relatar o problema aos desenvolvedores.
No entanto, se nenhuma das alternativas funcionar para você, provavelmente o problema não está do seu lado. Você deve examinar a configuração do servidor SSH no computador remoto, tentar depurá-lo e postar aqui os logs de rastreamento se desejar que dêmos uma olhada. Se você não tiver controle do computador remoto, relate o problema ao administrador.
Responder2
PuTTY trava ao sair e requer reinicialização do computador
PuTTY trava quando o programa tenta sair. Quando travar, a janela irá congelar e não fechará, não importa o que aconteça. Forçar o fechamento não funcionará, o gerenciador de tarefas não funcionará. pskill do pstools (usando o prompt de comando do administrador) não tem efeito - diz que o processo foi eliminado, mas permanece. Nada fará com que a janela desapareça, exceto reiniciar o computador
Eu chamo isso de "travamento" e não de "travamento". Bater significa quea execução continuaretornando uma mensagem de erro (bom) ou no caso de corrupção grave de memória, haverá uma pausa (geralmente curta, às vezes um pouco longa, raramente um cão de guarda) e a execução continuará com um BSOD ou reinicialização (nada legal).
Com um "travamento"nenhum tempo esperado parecerá promover seu progresso, embora outros threads possam continuar a ser executados normalmente se o seu Alternador de Tarefas não for afetado e puderem alternar para eles.
Muito possivelmente, o que aconteceu foi que o PuTTY gerou uma sub-rotina VPN para fazer o túnel, equeo processo tem um problema; ele não retornou ao PuTTY e, portanto, o PuTTY está travado.
O outro processo poderia ter um arquivo temporário aberto ou uma Porta; rescisão do PuTTYpoderfecharemos a sub-rotina, mas provavelmente não removeremos nenhum bloqueio de arquivos ou portas dos subprogramas.
Como descobrir com certeza- O que está acontecendo?
Lendo uma página da comunidade da Microsoft sobre esse erro intitulada: “O Windows Explorer 7 não está respondendo - erro 'apphangb1 explorer.exe'" diz:
"André.Ziegler
Crie um hang dump do Windows Explorer:
http://www.msfn.org/board/topic/130005-creating-memory-dumps/
comprima o crash dump como 7z ou RAR e carregue-o no seu SkyDrive e poste o link aqui.
Crie o dump, mas você mesmo pode analisá-lo, ou depois de pesquisar em todos os sites do SE por uma pergunta duplicada, pergunte-nos: "Como faço para trabalhar com um arquivo .DMP?".
Seguindo esse link para a página da web: "Criando despejos de memória" diz:
"Despejo de memória de um aplicativo/processo que está PENDURADO (não travando):
Crie um diretório chamado c:\adplus
Abra um prompt de comando e mude para o diretório onde você instalou as ferramentas de depuração. Por padrão, é "C:\Arquivos de Programas\Ferramentas de Depuração para Windows"
Digite o seguinte comando no prompt de comando:
cscript adplus.vbs -hang -pn appname -quiet -o c:\adplus
(onde "appname" é o nome .exe do aplicativo que está travado)
- Assim que o depurador for concluído (isso pode levar algum tempo), as janelas do prompt de comando serão fechadas e você terá dados em sua pasta C:\adplus que podem ser analisados.
Despejo de memória de um aplicativo/processo que está CRASHING (não travado):
Crie um diretório chamado c:\adplus
Abra um prompt de comando e mude para o diretório onde você instalou as ferramentas de depuração. Por padrão, é "C:\Arquivos de Programas\Ferramentas de Depuração para Windows"
Digite o seguinte comando no prompt de comando:
cscript adplus.vbs -crash -pn appname -quiet -o c:\adplus
(onde "appname" é o nome .exe do aplicativo que está travando)
- Depois que o aplicativo anexado na etapa 3 travar, o depurador criará um arquivo (ou arquivos) .dmp do processo. Assim que o depurador for concluído (isso pode levar algum tempo), as janelas do prompt de comando serão fechadas e você terá dados em sua pasta C:\adplus que podem ser analisados.
Consulte esta página de suporte da Microsoft: "A ferramenta de diagnóstico de depuração v1.2 já está disponível" onde descreve o uso da ferramenta DebugDiag.
Ele discute:
Gerando despejos de memória:
Falhas de processo
Processo trava ou desempenho lento
Para depurar um travamento de processo ou desempenho lento, use um dos seguintes:
Crie uma regra de desempenho. A regra de desempenho pode ser baseada em contadores de desempenho ou tempos de resposta HTTP. Este último é específico para servidores web ou serviços web baseados em HTTP. A regra de contadores de desempenho permite capturar uma série de userdumps consecutivos quando um ou mais contadores de desempenho excedem limites especificados. A regra HTTP Response Times permite que você use ETW (específico para servidor web IIS) ou WinHTTP (para fazer ping em qualquer tipo de servidor web ou serviço web baseado em HTTP) para capturar userdumps quando o tempo limite configurado for atingido.
Crie uma série de despejo de memória manual durante o estado lento ou travado clicando com o botão direito do mouse no nome do processo na visualização de processos e escolhendo a opção “Criar série de despejo”.
Em seguida, analise os arquivos .dmp resultantes com CrashHangAnalysis.asp e/ou PerfAnalysis.asp (veja abaixo).
- Uso de memória ou identificador
Analisando despejos de memória:
Um dos recursos mais poderosos do DebugDiag é a capacidade de analisar despejos de memória e gerar um arquivo de relatório mostrando a análise, juntamente com recomendações para resolver problemas identificados.
DebugDiag usa “Scripts de análise” para analisar despejos de memória. Existem 5 scripts de análise fornecidos com o DebugDiag 1.2, como segue:
Analisadores de falhas/travamentos - CrashHangAnalysis.asp
Analisadores de pressão de memória - DotNetMemoryAnalysis-BETA.asp
Analisadores de pressão de memória - MemoryAnalysis.asp
Analisadores de desempenho - PerfAnalysis.asp
Analisadores do SharePoint - SharePointAnalysis.asp".
Qualquer que seja o problema, você pode localizar o ponto exato e descobrir qual processo está com defeito e depurá-lo. Se você tiver alguma dúvida sobre o uso dessas ferramentas, sinta-se à vontade para verificar e fazer uma nova pergunta.
Responder3
Parece que você pode estar tendo problemas com filtros Winsock e seu aplicativo está travando devido a algum tipo de problema de driver/IO.
Em um prompt de comando administrativo, tente: netsh winsock reset
reinicie e veja se isso faz diferença.
Pensando bem, aqui estão algumas outras coisas para tentar:
Remova qualquer software VPN não utilizado.
Desinstale (e reinstale) o driver da sua placa de rede.
Atualize o driver da sua placa de rede.
Se você desinstalou recentemente um produto antivírus, é possível que os drivers de filtro de rede tenham sido deixados para trás. Nesse caso, você pode encontrar a ferramenta de remoção do produto de segurança apropriado e executá-la.
Responder4
Tente executar duas verificações:
Digitalizar 1
- Execute o CMD como administrador
- Digite
SFC /scannow
e pressione Enter - Quando a digitalização terminar, abra
cbs.log
em%windir%\logs\cbs\cbs.log
- Procure
cannot repair
e copie os arquivos que não foram reparados. - Depois de localizar os arquivos não reparados (se houver), use o disco de instalação para acessar o(s) arquivo(s) de substituição. Seguiressas direçõespara obter arquivos de substituição.
Varredura 2 (último recurso)
- Execute o CMD como administrador
- Digite
Chkdsk /f /r
e pressione Enter - Será exibida uma mensagem sobre o volume a ser bloqueado. Pressione
y
e depois entre. - Reinicie seu computador
- A verificação demorará um pouco. Aguarde a conclusão da verificação.
- Na reinicialização, acesse
Event Viewer > Windows > Application Log
e procure porWinninet
. - Veja os resultados da sua varredura.
Eu encontrei a resposta emComunidade Microsoft.