当我使用 Cygwin X11 ssh 时,为什么 Vista 会抱怨死进程?如何让它关闭?
当我使用 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,我已向 Cygwin 邮件列表发送了一封电子邮件。 精简后的主题行代表了我多次尝试绕过过于激进的垃圾邮件过滤器,并强调了对 StackOverflow 之类的东西的需求。
When I log into a remote machine using ssh X11 forwarding, Vista pops up a box complaining about a process that died unexpectedly. Once I dismiss the box, everything is fine. So I really don't care if some process died. How do I get Vista to shut up about it?
Specifically, the message reads:
sh.exe has stopped working
So it's not ssh itself that died, but some sub-process.
The problem details textbox reads:
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
I notice the problem occurs when I use the -Y option to enable X11 forwarding in an X terminal under Vista.
The dialog box that pops up doesn't automatically gain focus, so pressing Enter serves no purpose. I have to wait for the box to appear, grab it with the mouse, and dismiss it. Even forcing the error to receive focus would be a step in the right direction.
Per DrPizza I have sent an email to the Cygwin mailing list. The trimmed down subject line represents my repeated attempts to bypass an over-aggressive spam filter and highlights the need for something like StackOverflow.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
好吧,我不知道最初的问题是什么,但是当我最近更新 Cygwin 时,错误消息不再弹出。
我猜想变基是必要的。
Well, I don't know what the original problem was, but when I update Cygwin recently the error message stopped popping up.
My guess it that rebasing was necessary.
某些东西触发了 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 列表可能对堆栈跟踪感兴趣。
Something had triggered loading of comctl32.dll, but it was later unloaded.
c0000005 means 'access violation'. Probably something tried calling a function in the unloaded dll.
I agree with one of the cygwin commentators that it's possibly a bug in some antivirus program or "desktop enhancement" software. Video card companies like to inject their stuff into every process, too. It's easy to use comctl32.dll for things without realizing it, however.
Try downloading and installing WinDbg from Microsoft.
http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx
Set it as the default JIT debugger "windbg.exe -I". Next time this happens you should get the nice debugger window pop up. Type "kv100" to get a stack trace. Look at the dlls listed in the calling path, there's a good chance one of them is the culprit.If you see a dll that's not from Microsoft or Cygwin there, uninstall that application and see if the problem goes away. Otherwise, the Cygwin list might be interested in the stack trace.
这意味着它因未处理的异常而死亡,即崩溃了。
It means it died with an unhandled exception, i.e. it crashed.
我知道这对于 cygwin 用户来说是异端邪说,但你可以使用 改为 PuTTY。
I know this is going to be heresy for a cygwin user, but you could just use PuTTY instead.
问题是,该进程不是直接死掉了,而是意外死掉了。 听起来 Vista 指出了您的 SSH 客户端中存在一个错误。
The problem is, the process didn't just die, it died unexpectedly. Sounds like there's a bug in your SSH client that Vista is pointing out.