为啥当我使用 Cygwin X11 ssh 时,Vista 会抱怨一个死进程,我该如何让它关闭?

Posted

技术标签:

【中文标题】为啥当我使用 Cygwin X11 ssh 时,Vista 会抱怨一个死进程,我该如何让它关闭?【英文标题】:Why does Vista complain about a dead process when I use Cygwin X11 ssh and how do I get it to shut up?为什么当我使用 Cygwin X11 ssh 时,Vista 会抱怨一个死进程,我该如何让它关闭? 【发布时间】:2010-09-07 07:28:45 【问题描述】:

当我使用 ssh X11 转发登录到远程机器时,Vista 弹出一个框,抱怨进程意外死亡。一旦我关闭盒子,一切都很好。所以我真的不在乎某个进程是否死了。如何让 Vista 闭嘴?


具体来说,消息内容如下:

sh.exe has stopped working

所以死亡的不是 ssh 本身,而是某个子进程。

问题详情文本框内容如下:

Problem signature:
  Problem Event Name:   APPCRASH
  Application Name: sh.exe
  Application Version:  0.0.0.0
  Application Timestamp:    48a031a1
  Fault Module Name:    comctl32.dll_unloaded
  Fault Module Version: 0.0.0.0
  Fault Module Timestamp:   4549bcb0
  Exception Code:   c0000005
  Exception Offset: 73dc5b17
  OS Version:   6.0.6000.2.0.0.768.3
  Locale ID:    1033
  Additional Information 1: fc4d
  Additional Information 2: d203a7335117760e7b4d2cf9dc2925f9
  Additional Information 3: 1bc1
  Additional Information 4: 7bc0b00964c4a1bd48f87b2415df3372

Read our privacy statement:
  http://go.microsoft.com/fwlink/?linkid=50163&clcid=0x0409

我注意到当我在 Vista 下的 X 终端中使用 -Y 选项启用 X11 转发时会出现问题。

弹出的对话框不会自动获得焦点,所以按 Enter 没有任何作用。我必须等待盒子出现,用鼠标抓住它,然后将其关闭。即使强制错误接收焦点也是朝着正确方向迈出的一步。


根据 DrPizza,我已将 email 发送到 Cygwin 邮件列表。被修剪的主题行代表我反复尝试绕过过于激进的垃圾邮件过滤器,并强调了对 *** 之类的需求。

【问题讨论】:

【参考方案1】:

问题是,进程不仅死了,而且意外地死了。听起来您的 SSH 客户端中存在 Vista 指出的错误。

【讨论】:

【参考方案2】:

我知道这对于 cygwin 用户来说是异端,但您可以改用 PuTTY。

【讨论】:

哦,我愿意——如果必须的话。但是 Cygwin X Windows 要好得多。 Cygwin 仍然像往常一样工作。问题出在 Vista 上。【参考方案3】:

在这种情况下,意外是什么意思?这是否意味着它核心转储或只是退出非零?

这意味着它死于一个未处理的异常,即它崩溃了。

【讨论】:

【参考方案4】:

故障模块名称:comctl32.dll_unloaded 异常代码:c0000005

某些东西触发了 comctl32.dll 的加载,但后来被卸载了。

c0000005 表示“访问冲突”。可能有什么东西试图在卸载的 dll 中调用一个函数。

我同意其中一位 cygwin 评论员的观点,即这可能是某些防病毒程序或“桌面增强”软件中的错误。显卡公司也喜欢将他们的东西注入到每个流程中。然而,在不知不觉中使用 comctl32.dll 很容易。

尝试从 Microsoft 下载并安装 WinDbg。 http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx 将其设置为默认的 JIT 调试器“windbg.exe -I”。下次发生这种情况时,您应该会弹出漂亮的调试器窗口。键入“kv100”以获取堆栈跟踪。查看调用路径中列出的 dll,其中一个很有可能是罪魁祸首。

如果您在那里看到不是来自 Microsoft 或 Cygwin 的 dll,请卸载该应用程序并查看问题是否消失。否则,Cygwin 列表可能对堆栈跟踪感兴趣。

【讨论】:

【参考方案5】:

好吧,我不知道最初的问题是什么,但是当我最近更新 Cygwin 时,错误消息停止弹出。

我猜rebasing 是必要的。

【讨论】:

以上是关于为啥当我使用 Cygwin X11 ssh 时,Vista 会抱怨一个死进程,我该如何让它关闭?的主要内容,如果未能解决你的问题,请参考以下文章

Cygwin/X x11 从 Raspberry Pi 转发到 Windows

使用没有 X11 转发的 git

X11 转发 ssh Visual Studio 远程连接

亚马逊 EC2 实例之间的 ssh 与 X11 转发

如何使用 xhost/xauth 控制从 EC2 到 cygwinX 的 X11 访问

cygwin ssh 在退出时给出“被信号 1 杀死”