Windows 4.0 приложения.Net вылетает в clr.dll под Windows Server 2008
У меня есть приложение для Windows, запланированное на ежедневную работу, и периодически происходит сбой из-за следующего журнала в EventViewer.
Faulting application name: MyApplication.exe, version: 1.0.0.0, time stamp: 0x4d54829a
Faulting module name: clr.dll, version: 4.0.30319.1, time stamp: 0x4ba21eeb
Exception code: 0xc0000005
Fault offset: 0x00000000000029e1
Faulting process id: 0xbb1c
Faulting application start time: 0x01cbd99223d8b4eb
Faulting application path: E:\MyApplication\MyApplication.exe
Faulting module path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Report Id: 7e74ec7e-45a5-11e0-a95d-003048de380d
И во втором журнале EventViewer он говорит:
The process was terminated due to an internal error in the .NET Runtime at IP 000007FEF97329E1 (000007FEF9730000) with exit code 80131506.
Сервер Win Server 2008 R2, и приложение использует.Net 4.0 (как вы можете видеть в журнале ошибок тоже).
Приложение интенсивно использует многопоточность, читает из удаленной базы данных и записывает на локальный жесткий диск.
Любая догадка о причине этой проблемы и любая помощь, как расследовать? Я понятия не имею, где это терпит неудачу в жизни приложения, которое составляет приблизительно 5-10 часов.
3 ответа
Я только что столкнулся с этим исправлением: http://support.microsoft.com/kb/2640103
Не уверен, если у вас все еще есть та же проблема.
У меня была похожая проблема, так что это может помочь будущему пользователю найти решение:
Мы используем Apache log4net для журнала приложений.
После обновления до DLL версии 1.2.15 для dotnet Framwork 4.5 запускается именно это исключение, когда файл журнала достигает максимального размера (10 МБ).
У меня та же проблема. Примерно через 8-10 часов жизни приложения ошибка CLR возрастает. Я подозревал, что мой неуправляемый код генерирует исключение в фоновом потоке. Однако я не мог понять, почему. Однако вы можете попробовать следующее:
- Если вы используете неуправляемый код, просмотрите операторы обработки исключений при его выполнении.
- Убедитесь, что у вас есть последние исправления.NET4.
( https://connect.microsoft.com/VisualStudio/Downloads)
Пожалуйста, дайте мне знать, если вы уже нашли решение.
Исправление в основном исчезло, и я столкнулся с подобной проблемой, поэтому я поделюсь своим ответом здесь.
Мое решение основывалось на том факте, что я передавал Lamda P / Invoke: