Приложение вылетает из-за "внутренней ошибки в среде выполнения .NET"

У нас есть приложение, написанное для .NET 9X_runtime-error 4.0, которое на выходных вылетело из строя, и 9X_dotnet в журнал событий было занесено следующее 9X_dot-net сообщение:

Приложение: PnrRetrieverService.exe 9X_executionengineexception Версия платформы: v4.0.30319
Описание: процесс 9X_.net был прерван из-за внутренней ошибки в среда 9X_.net-framework выполнения .NET по IP 791F9AAA (79140000) с 9X_dotnet кодом выхода 80131506.

Это на коробке Windows 9X_runtime-error Server 2003 R2 Standard Edition. Поиск в 9X_.net Google этой ошибки не дал ничего подходящего. Например, это 9X_dot-net происходит не в VS Studio, а в производственной 9X_dotnet коробке; после перезапуска службы проблем 9X_.net-framework больше не возникло.

Как диагностировать ошибку 9X_executionengineexception в среде выполнения .NET?

125
1

  • Если эта ошибка возникает впервые, я бы по ...
12
Общее количество ответов: 12

Ответ #1

Ответ на вопрос: Приложение вылетает из-за "внутренней ошибки в среде выполнения .NET"

с кодом выхода 80131506

Это неприятное исключение 9X_dot-net ExecutionEngineException. Начиная с .NET 9X_runtime-error 4.0, это исключение немедленно завершает 9X_dotnet работу программы. Общая причина - повреждение 9X_dotnet состояния кучи со сборкой мусора. Что, в 9X_.net свою очередь, неизменно вызвано неуправляемым 9X_runtime-error кодом. Точное место в коде, в котором возникает 9X_dotnet это исключение, бесполезно, повреждение 9X_executionengineexception обычно происходило задолго до того, как 9X_dot-net повреждение было обнаружено.

Найти точную 9X_dot-net причину этого будет сложно. Просмотрите 9X_.net любой неуправляемый код, который может использовать 9X_runtime-error ваша служба. Если нет очевидного кандидата, подозревают 9X_runtime-error проблемы с окружающей средой, плохо себя 9X_runtime-error ведут сканеры вредоносных программ. Если 9X_runtime-error он повторяется очень плохо, то подозревайте 9X_runtime-error проблемы с оборудованием, например, программные 9X_dot-net ошибки ОЗУ.

134
7

  • Используйте этот инструмент Err.exe http://www.microsoft.com/en-au/download/details.aspx?id=985, чтобы выяснить, что означают шестнадцатеричные коды ошиб ...

Ответ #2

Ответ на вопрос: Приложение вылетает из-за "внутренней ошибки в среде выполнения .NET"

Ошибка в параллельной реализации сборки 9X_runtime-error мусора в x64 .Net 4 может вызвать это, как указано 9X_runtime-error в следующей записи базы знаний Майкрософт:

ExecutionEngineException occurs during Garbage Collection

Вы 9X_runtime-error должны сначала провести глубокое исследование 9X_.net-framework минидампа, чтобы убедиться, что проблема 9X_.net возникла во время сборки мусора.

Расположение 9X_executionengineexception минидампа обычно можно найти в записи отчета 9X_.net-framework об ошибках Windows в журнале событий после 9X_runtime-error записи о сбое. Тогда веселитесь с WinDbg!

Последнюю 9X_.net документацию по использованию элемента конфигурации 9X_.net-framework для отключения параллельной или (в .NET 9X_dot-net 4 и новее) фоновой сборки мусора можно найти 9X_runtime-error here.

43
4

  • Ты спасатель жизни, это было проблемой для нас. Кроме того, вы также можете открыть файл минидампа в Visual Studio, настроить пути к символам, если вам нужно, а затем выполнить отладку. Это говорит нам, что ошибка происходит в clr.dll! WKS :: gc_h ...

Ответ #3

Ответ на вопрос: Приложение вылетает из-за "внутренней ошибки в среде выполнения .NET"

У меня возникли «внутренние ошибки» в среде 9X_executionengineexception выполнения .NET, которые оказались вызваны 9X_runtime-error ошибками в моем коде; не думайте, что в 9X_runtime-error вашем коде нет ошибки в качестве основной 9X_.net-framework причины только потому, что это была «внутренняя 9X_.net-framework ошибка» в среде выполнения .NET. Всегда 9X_executionengineexception всегда всегда обвиняйте свой собственный 9X_dot-net код, прежде чем обвинять кого-то другого.

Надеюсь, у 9X_.net-framework вас есть информация о журналах и трассировке 9X_runtime-error исключений / стека, которая укажет вам, с 9X_runtime-error чего начать поиск, или что вы можете повторить 9X_executionengineexception состояние системы до сбоя.

9
0

Ответ #4

Ответ на вопрос: Приложение вылетает из-за "внутренней ошибки в среде выполнения .NET"

Для тех, кто пришел сюда из Google, я в 9X_.net-framework конце концов наткнулся на this SO question, и this specific answer решил мою 9X_.net проблему. Я связался с Microsoft по поводу 9X_.net исправления через чат на support.microsoft.com, и они прислали 9X_.net мне ссылку на исправление по электронной 9X_.net почте.

7
0

Ответ #5

Ответ на вопрос: Приложение вылетает из-за "внутренней ошибки в среде выполнения .NET"

Была такая же ошибка в окне WinXP с последней 9X_dotnet сборкой моего кода .NET 4. Проверял предыдущие 9X_.net-framework сборки - теперь они тоже вылетают! Итак, это не я :). Никаких 9X_dot-net предложений здесь / выше не помогло.

Более 9X_dot-net свежий (9 мая 2018 г.) отчет о той же проблеме: Application Crash with exit code 80131506.

A: мы 9X_runtime-error получали аналогичную ошибку, но мы полагаем, что 9X_executionengineexception наша была вызвана оптимизатором памяти Citrix.
Решением 9X_.net-framework было принудительное восстановление основных 9X_dotnet библиотек .Net на хосте (ах), где возникла 9X_runtime-error проблема:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe update /force

Основная причина все еще неизвестна 9X_.net (машина не обновляется и мало используется), но 9X_dot-net это сделало это для меня!

7
0

Ответ #6

Ответ на вопрос: Приложение вылетает из-за "внутренней ошибки в среде выполнения .NET"

После многих лет борьбы с этой проблемой 9X_runtime-error в ряде приложений, похоже, что Microsoft, наконец, приняла 9X_dot-net ее как ошибку в .NET 4 CLR, из-за которой 9X_runtime-error это происходит. http://support.microsoft.com/kb/2640103.

Я ранее «исправлял» это, заставляя 9X_runtime-error сборщик мусора запускаться в серверном режиме 9X_runtime-error (gcServer enabled = "true" в app.config), как 9X_dotnet описано в статье Microsoft, на которую ссылается 9X_.net Think Before Coding. По сути, это заставляет 9X_executionengineexception все потоки в приложении приостанавливаться 9X_dotnet во время сбора, что исключает возможность 9X_.net доступа других потоков к памяти, управляемой 9X_dotnet сборщиком мусора. Я счастлив обнаружить, что 9X_.net мои годы тщетных поисков «ошибки» в моем 9X_executionengineexception коде или других сторонних неуправляемых 9X_dotnet библиотеках оказались бесплодными только 9X_executionengineexception потому, что ошибка заключалась в коде Microsoft, а 9X_.net не в моем.

5
2

  • Какой номер версии полученных вами файлов HotFix? Номер версии, указанный в КБ, - 4.0 ...

Ответ #7

Ответ на вопрос: Приложение вылетает из-за "внутренней ошибки в среде выполнения .NET"

Может быть ошибка с одновременным сборщиком 9X_.net мусора. http://support.microsoft.com/kb/2679415

4
0

Ответ #8

Ответ на вопрос: Приложение вылетает из-за "внутренней ошибки в среде выполнения .NET"

В моем случае это исключение произошло, когда 9X_executionengineexception дисковое пространство закончилось и .NET 9X_runtime-error не может выделить память в виртуальной памяти 9X_dotnet Windows.

В журнале событий я увидел эту ошибку:

Всплывающее 9X_dotnet окно приложения: Windows - Слишком низкий 9X_dotnet минимум виртуальной памяти: вашей системе 9X_dotnet не хватает виртуальной памяти. Windows увеличивает 9X_dotnet размер файла подкачки виртуальной памяти. Во 9X_.net-framework время этого процесса запросы памяти для 9X_dotnet некоторых приложений могут быть отклонены.

И 9X_.net предыдущая ошибка:

Диск C: почти заполнен. Возможно, вам 9X_executionengineexception придется удалить некоторые файлы.

2
0

Ответ #9

Ответ на вопрос: Приложение вылетает из-за "внутренней ошибки в среде выполнения .NET"

В моем случае проблема заключалась в библиотеке 9X_dotnet C++ / CLI, в которой был вызов NtQuerySystemInformation; иногда 9X_executionengineexception по какой-то причине (и при загадочных обстоятельствах), когда это 9X_.net-framework вызывается, куча CLR была повреждена и приложение 9X_runtime-error аварийно завершило работу.

Я решил проблему, используя 9X_runtime-error "настраиваемую кучу", созданную 9X_.net с помощью HeapCreate, и разместив там буферы, используемые 9X_.net этой функцией.

1
0

Ответ #10

Ответ на вопрос: Приложение вылетает из-за "внутренней ошибки в среде выполнения .NET"

Я не уверен, что это может помочь всем, но 9X_.net-framework я могу обойти это, запустив

devenv.exe /ResetSettings 

... по пути {Visual_Studio_root}\Common7\Ide

У 9X_runtime-error меня были следующие ошибки в журнале событий, и 9X_dot-net VS просто все время аварийно завершал работу 9X_.net и перезапускался:

Faulting application name: devenv.exe, version: 14.0.25123.0, time stamp: 0x56f22f32
Faulting module name: clr.dll, version: 4.7.2115.0, time stamp: 0x59af88f2
Exception code: 0xc0000005
Fault offset: 0x0015f90e
Faulting process id: 0x3a7c
Faulting application start time: 0x01d353463eaf0c36
Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe
Faulting module path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Report Id: a232f984-6e80-4f61-9003-e18a035c8f93
Faulting package full name: 
Faulting package-relative application ID: 

1
0

Ответ #11

Ответ на вопрос: Приложение вылетает из-за "внутренней ошибки в среде выполнения .NET"

В моем случае проблема была связана с дублированием 9X_dot-net перенаправления привязки в моем файле web.config. Подробнее 9X_.net-framework here.

Я предполагаю, что это произошло из-за 9X_executionengineexception того, что NuGet изменил перенаправления 9X_.net-framework привязки, но, например, это выглядело так:

  
    
    
  
  
    
    
  
  
    
    
  
  
    
    
  
  
    
    
  
  
    
    
  

Удаление 9X_.net всех дубликатов решило проблему.

1
0

Ответ #12

Ответ на вопрос: Приложение вылетает из-за "внутренней ошибки в среде выполнения .NET"

В моем случае проблема была связана с «ссылкой на стандартную библиотеку .NET в классических проектах asp.net» и 9X_runtime-error этими двумя проблемами

https://github.com/dotnet/standard/issues/873

https://github.com/App-vNext/Polly/issues/628

и перехода на Polly 9X_.net-framework v6 было достаточно, чтобы решить эту проблему

1
0