web-dev-qa-db-ja.com

自動再接続時にMSTSC +ゲートウェイがクラッシュする

RemoteAppとして使用されるアプリケーションがあります。ユーザーはゲートウェイ経由でRemoteAppにアクセスします。

異常な切断(接続障害)が発生するたびに、Win64(Windows7およびWindows8でテスト済み)でMSTSCv.6.3を実行しているユーザーでクラッシュが発生しています。

典型的なクラッシュは、「リモートデスクトップ接続が機能しなくなりました」というエラーメッセージを伴うMSTSC内のアクセス違反です。ただし、MSTSCがフリーズすることもあります。イベントビューアに「アプリケーションエラー」、イベントID 1000、例外コード0xC0000005(==アクセス違反)が表示されます。

Win64のMSTSCv.6.2以前またはWin32のMSTSC(任意のバージョン)は正常に動作します。

ユーザーがゲートウェイサーバーをバイパスしてTSサーバーに直接アクセスできるようにすれば、クラッシュは発生しません。この場合、接続障害の後、MSTSC自動再接続は成功します。

誰かがこの問題の回避策または修正を知っていますか?どんな助けでも大歓迎です。


イベントビューアからの追加情報:

障害のあるアプリケーション名:mstsc.exe、バージョン:6.3.9600.16415、タイムスタンプ:0x524b5b3d 
障害のあるモジュール名:mstscax.dll、バージョン:6.3.9600.16503、タイムスタンプ:0x52c5f878 
例外コード:0xc0000005 
障害オフセット:0x0000000000439b7a 
障害プロセスID:0x1658 
障害アプリケーションの開始時刻:0x01cf84a3cfff7048 
障害アプリケーションパス:C:\ Windows\system32\mstsc .exe 
障害のあるモジュールパス:C:\ Windows\system32\mstscax.dll 

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()
6
Massuda

これは、ゲートウェイのログインメッセージに関連していることがわかりました。ゲートウェイでログインメッセージを無効にすると、機能します。

私は今、なぜそれが起こるのかわかりません。しかし、それは簡単な修正です。そして、マイクロソフトがこのバグを修正することを願っています。

1
Olof