Необработанное IOException в PerformIOCompletionCallback - PullRequest
2 голосов
/ 09 декабря 2011

При остановке процесса я обнаружил следующее исключение с событием AppDomain.UnhandledException.Последняя версия .NET 4.0 в Windows 7.

IsTerminating flag:True
Unhandled exception: System.IO.IOException: The handle is invalid

   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.Threading.EventWaitHandle.Set()
   at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
   at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

Кто-нибудь знает, что вызывает это?

1 Ответ

0 голосов
/ 23 декабря 2014

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

Дамп памяти, созданный во время этого исключения, может пролить некоторый свет здесь. Этот пост в блоге должен помочь разобраться в этом вопросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...