情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

MobaXtermでMoshクライアント機能が利用できない問題について

MobaXterm (2) Mosh (3) Windows (248) Windows 10 (56)

MobaXterm 8.5 で Mosh クライアントが使えず困っていたので、そのときに調べたことのメモをここに書いておきます。まぁ調べたあげく、再起動したら直った、という落ちなのですが、症状や、ログの見方に気が付いたところあたりはメモっておくと良さそうなので、メモメモ。

MobaXterm

最近ずっとオススメしている、おすすめの高機能SSHクライアント「MobaXterm」の使い方(基本編)" title="機能を詰め込みまくったSSHクライアントMobaXterm">機能を詰め込みまくったSSHクライアントMobaXterm。このMobaXtermで遭遇した不具合について。SSH接続ではなく、Mosh接続の話です(SSH接続の代わりに、最近はこれを使っている)。

症状

MobaXterm からMosh(Mobile SSH)のコネクションを開くと、コンソールに一切何も表示されません。待てど暮らせど、です。

当初、サーバー側のログを見ようと思ったのですが、サーバー側には何も見当たりませんでした。

ログ

その何も表示されないコンソール画面を右クリックすると、「Event Log」という項目が、一番下にありました。

そrを開くと、次のログが表示されました。

2016-01-13 01:38:39	Starting MoTTY (2015-11-28)
2016-01-13 01:38:39	Initializing backend...
2016-01-13 01:38:39	Session initialization...
2016-01-13 01:38:39	Opening socket...
2016-01-13 01:38:39	Starting local proxy command: C:\Users\did2\AppData\Local\Temp\Mxt85\bin\cygtermd.exe /home/mobaxterm /bin/bash -l -i -c "moshsession \"ほすとめい\" \"ゆーざーめい\" \"ぽーとばんごう\" \"auto\" \"adaptive\" \"mosh-server\" \"automatic\" 'X:\freeware\MobaXterm\sshkey\main\id_rsa' "
2016-01-13 01:38:39	Initializing option states...
2016-01-13 01:38:39	client:	WILL NAWS
2016-01-13 01:38:39	client:	WILL TSPEED
2016-01-13 01:38:39	client:	WILL TTYPE
2016-01-13 01:38:39	client:	WILL NEW_ENVIRON
2016-01-13 01:38:39	client:	DO ECHO
2016-01-13 01:38:39	client:	WILL SGA
2016-01-13 01:38:39	client:	DO SGA
2016-01-13 01:38:39	Setting up SYNCH state...
2016-01-13 01:38:39	End of session initialization.
2016-01-13 01:38:39	Backend initialized...
2016-01-13 01:38:39	Connecting terminal to the backend...
2016-01-13 01:38:39	Setting up ldisc...
2016-01-13 01:38:39	Ready to peek messages.
2016-01-13 01:38:39	server:	WILL ECHO
2016-01-13 01:38:39	server:	WILL SGA
2016-01-13 01:38:39	server:	DO SGA
2016-01-13 01:38:39	server:	DO NAWS
2016-01-13 01:38:39	client:	SB NAWS 138,52
2016-01-13 01:38:39	server:	DO TTYPE
2016-01-13 01:38:39	server:	DO NEW_ENVIRON
2016-01-13 01:38:39	server:	DONT TSPEED
2016-01-13 01:38:39	server:	SB TTYPE SEND
2016-01-13 01:38:39	client:	SB TTYPE IS XTERM
2016-01-13 01:38:39	server:	SB NEW_ENVIRON SEND
2016-01-13 01:38:39	client:	SB NEW_ENVIRON IS:
2016-01-13 01:38:39		LANG=ja_JP.UTF-8
2016-01-13 01:38:39		LANGUAGE=ja_JP.UTF-8
2016-01-13 01:38:39		LC_CTYPE=ja_JP.UTF-8
2016-01-13 01:38:39		LOCALE=ja_JP.UTF-8
2016-01-13 01:38:39	proxy:       1 [main] cygtermd (15752) C:\Users\did2\AppData\Local\Temp\Mxt85\bin\cygtermd.exe: *** fatal error - cygheap base mismatch detected - 0xFB5400/0xD15400.
2016-01-13 01:38:39	proxy: This problem is probably due to using incompatible versions of the cygwin DLL.
2016-01-13 01:38:39	proxy: Search for cygwin1.dll using the Windows Start->Find/Search facility
2016-01-13 01:38:39	proxy: and delete all but the most recent version.  The most recent version *should*
2016-01-13 01:38:39	proxy: reside in x:\cygwin\bin, where 'x' is the drive on which you have
2016-01-13 01:38:39	proxy: installed the cygwin distribution.  Rebooting is also suggested if you
2016-01-13 01:38:39	proxy: are unable to find another cygwin DLL.
2016-01-13 01:38:39	proxy:       2 [main] cygtermd 9992 fork: child -1 - forked process 15752 died unexpectedly, retry 36000, exit code 0xC0000142, errno 11
2016-01-13 01:38:39	proxy: fork: Resource temporarily unavailable

このログを見て初めて気が付いたのですが、「C:\Users\did2\appdata\local\temp\Mxt85」←どうやらポータブル版のMobaXtermは、ここにあるtempフォルダ内にプログラムを展開して、利用しているようです。

重要そうだったメッセージ

Moshシェルが利用できなかった原因となるエラーは、以下の通りでした。

1 [main] cygtermd (15752) C:\Users\did2\AppData\Local\Temp\Mxt85\bin\cygtermd.exe: *** fatal error - cygheap base mismatch detected - 0xFB5400/0xD15400. This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version. The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution. Rebooting is also suggested if you
are unable to find another cygwin DLL.
2 [main] cygtermd 9992 fork: child -1 - forked process 15752 died unexpectedly, retry 36000, exit code 0xC0000142, errno 11
fork: Resource temporarily unavailable

この通り、ネットワーク側の問題と言うよりは、Moshクライアントを動かすために利用しているcygwinのDLL(cygwin1.dll)の問題のようでした。

関係のありそうなページ

Windows 10 最新版、最近OS大きくアップデートしたばっかりだからそれかなぁ、と。ノートPCでもデスクトップPCでも前にも起こった気がするので(そのときは代わりにSSHを使っていた)、そのあたりも今後の参考になりそうです(どちらもWindows 10 の Cortana アップデート直後)。

対策

しかし、とりあえずPCを再起動後、接続可能になりました。

コメント(0)

新しいコメントを投稿




  • カテゴリ ナビ
  • 著者紹介

    ブログが趣味で、 月間1,000万PV を達成しました。

    自分が困ったことをブログに書けば、次に困る人の参考になって、みんながみんな同じ苦労をせずに済む、というのが原点です。

    最近の関心は、スマホやパソコンに詳しくない人の行動や思考、 そしてそんな人を手助けする方法や枠組み。 また、それに関連するような、"身近な"セキュリティ。

    ※SNS(特にTwitter)でシェアされた記事は、内容の追加・更新を行っています。 必ず、ではありませんが、気に入った記事は積極的にシェアしてみてください。

    RSS | Facebook | Twitter | About