Почему Vista жалуется на мертвый процесс, когда я использую Cygwin X11 ssh, и как мне заставить его замолчать? - PullRequest
0 голосов
/ 30 августа 2008

Когда я захожу на удаленный компьютер с помощью пересылки 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

Я замечаю, что проблема возникает, когда я использую опцию -Y , чтобы включить пересылку X11 в терминале X под Vista.

Всплывающее диалоговое окно не получает фокус автоматически, поэтому нажатие Enter не имеет смысла. Я должен дождаться появления окна, схватить его мышью и выбросить. Даже форсирование ошибки для получения фокуса было бы шагом в правильном направлении.


За DrPizza Я отправил электронное письмо в список рассылки Cygwin. Подчеркнутая сюжетная линия представляет мои неоднократные попытки обойти чрезмерно агрессивный фильтр спама и подчеркивает необходимость чего-то вроде StackOverflow.

Ответы [ 5 ]

1 голос
/ 30 августа 2008

Проблема в том, что процесс не просто умер, но и неожиданно умер. Похоже, в вашем SSH-клиенте есть ошибка, на которую указывает Vista.

0 голосов
/ 30 июля 2009

Имя неисправного модуля: comctl32.dll_unloaded Код исключения: c0000005

Что-то вызвало загрузку comctl32.dll, но позже оно было выгружено.

c0000005 означает «нарушение доступа». Возможно, что-то пыталось вызвать функцию в выгруженной dll.

Я согласен с одним из комментаторов cygwin, что это, возможно, ошибка в какой-либо антивирусной программе или программном обеспечении для улучшения рабочего стола. Компании, выпускающие видеокарты, тоже любят внедрять свои технологии в каждый процесс. Однако легко использовать comctl32.dll для вещей, даже не осознавая этого.

Попробуйте загрузить и установить WinDbg от Microsoft. http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx Установите его в качестве отладчика JIT по умолчанию "windbg.exe -I". В следующий раз, когда это произойдет, вы должны увидеть всплывающее окно с хорошим отладчиком. Введите «kv100», чтобы получить трассировку стека. Посмотрите на dll, перечисленные в пути вызова, есть большая вероятность, что один из них является виновником.

Если вы видите DLL, которая не принадлежит Microsoft или Cygwin, удалите это приложение и посмотрите, исчезнет ли проблема. В противном случае список Cygwin может быть заинтересован в трассировке стека.

0 голосов
/ 30 августа 2008

Что неожиданно означает в этом контексте? Означает ли это, что ядро ​​сброшено или просто вышло ненулевым?

Это означает, что он умер с необработанным исключением, то есть он упал.

0 голосов
/ 30 августа 2008

Ну, я не знаю, в чем была первоначальная проблема, но когда я недавно обновил Cygwin, сообщение об ошибке перестало появляться.

Полагаю, перебазировка была необходима.

0 голосов
/ 30 августа 2008

Я знаю, что это будет ересью для пользователя cygwin, но вы могли бы просто использовать PuTTY .

...