O MSTSC + gateway trava na reconexão automática

6

Temos um aplicativo que é usado como um RemoteApp. Os usuários acessam o RemoteApp via gateway.

Estamos enfrentando falhas com usuários que executam o MSTSC v.6.3 no Win64 (testado com o Windows 7 e o Windows 8) toda vez que uma desconexão anormal acontece (falha de conectividade).

Falha típica é uma violação de acesso dentro do MSTSC com a mensagem de erro "A Conexão de Área de Trabalho Remota parou de funcionar". mas às vezes o MSTSC apenas congela. Visualizador de eventos mostra "Erro de aplicativo", identificação de evento 1000, código de exceção 0xC0000005 (= = violação de acesso).

MSTSC v.6.2 ou anterior no Win64 ou MSTSC (qualquer versão) no Win32 funciona bem.

Não há falhas se permitirmos que os usuários acessem diretamente os servidores de TS, ignorando o servidor de gateway. Nesse caso, após uma falha de conectividade, a reconexão automática do MSTSC é bem-sucedida.

Alguém conhece um workround ou conserta este problema? Qualquer ajuda é bem vinda.

Informações adicionais do Visualizador de Eventos:

Faulting application name: mstsc.exe, version: 6.3.9600.16415, timestamp: 0x524b5b3d
Faulting module name: mstscax.dll, version: 6.3.9600.16503, timestamp: 0x52c5f878
Exception code: 0xc0000005
Fault offset: 0x0000000000439b7a
Faulting process id: 0x1658
Faulting application start time: 0x01cf84a3cfff7048
Faulting application path: C:\Windows\system32\mstsc.exe
Faulting module path: C:\Windows\system32\mstscax.dll

Rastreamento de pilha do depurador do Visual Studio Express 2012:

mstscax.dll!CClientProxyTransport::SetErrorStatus(long)
mstscax.dll!CClientProxyTransport::GetErrorStatus(long,class CClientProxyTransport *)
mstscax.dll!CProxyClientSendPacket::OnComplete(long,unsigned long)
mstscax.dll!CAAAsyncSend::OnComplete(long)
mstscax.dll!CAARpcClientChannel::Shutdown(unsigned long,class IAAAsyncOperation *)
mstscax.dll!CAAAsyncDisconnectChannel::Invoke(unsigned long,class CAAChannel *,class IAATransportChannel *)
mstscax.dll!CAAChannel::DisconnectInternal(int,long)
mstscax.dll!CAARpcClientChannel::HandleReceiveComplete(struct _RPC_ASYNC_STATE *)
mstscax.dll!CAARpcClientChannel::HandleIOCompletion(struct _OVERLAPPED *,unsigned long)
mstscax.dll!CAagIO::AAGIoThreadFunc(void *)
kernel32.dll!BaseThreadInitThunk()
ntdll.dll!RtlUserThreadStart()
    
por Massuda 08.06.2014 / 22:33

1 resposta

1

Descobrimos que isso é relacionado à mensagem de login no gateway. Se você desativar a mensagem de login no Gateway, isso funcionará!

Agora não sei por que isso acontece. Mas é uma solução rápida. E esperamos que a microsoft corrija esse bug.

    
por 07.08.2014 / 10:35