|
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 5
|
|
.NET 4.x Ошибка во внешнем коде ".exception of type 'System.InvalidOperationException' occurred in mscorlib.dll"24.11.2016, 08:35. Показов 3911. Ответов 9
Метки нет (Все метки)
Приветствую!
Разрабатываю программу для импорта данных из SAP в локальную базу. Методы импорта вынесены в отдельные потоки. Приложение крутится на сервере и по расписанию грузит данные. Все прекрасно работает, но во время простоя (когда программа уже ничего не импортирует) иногда приложение вылетает. Важно то, что происходит это не всегда. В неделю два – три раза. Чтобы отловить ошибку запустил программу из студии: Вот результат: см вложения Как я понял, проблема не непосредственно в моем коде, а в mscorlib.dll вот что студия выкинула в Output: ..... .....'sg2015.vshost.exe' (CLR v4.0.30319: sg2015.vshost.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_M SIL\System.Transactions.resources\v4.0_4 .0.0.0_ru_b77a5c561934e089\System.Transa ctions.resources.dll'. Module was built without symbols. System.Transactions Critical: 0 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"><TraceIdentifier>htt p://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled</TraceIdentifier><Description>Необработан ное исключение</Description><AppDomain>sg2015.vshost.exe </AppDomain><Exception><ExceptionType>Syst em.InvalidOperationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Коллекция была изменена; невозможно выполнить операцию перечисления.</Message><StackTrace> в System.ThrowHelper.ThrowInvalidOperation Exception(ExceptionResource resource) в System.Collections.Generic.Dictionary`2. KeyCollection.Enumerator.MoveNext() в SAP.Middleware.Connector.RfcSessionManag er.UpdateSessions(Object state) в System.Threading.TimerQueueTimer.CallCal lbackInContext(Object state) в System.Threading.ExecutionContext.RunInt ernal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.ExecutionContext.Run(Ex ecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.TimerQueueTimer.CallCal lback() в System.Threading.TimerQueueTimer.Fire() в System.Threading.TimerQueue.FireNextTime rs() в System.Threading.TimerQueue.AppDomainTim erCallback()</StackTrace><ExceptionString>System.InvalidOperationException: Коллекция была изменена; невозможно выполнить операцию перечисления. в System.ThrowHelper.ThrowInvalidOperation Exception(ExceptionResource resource) в System.Collections.Generic.Dictionary`2. KeyCollection.Enumerator.MoveNext() в SAP.Middleware.Connector.RfcSessionManag er.UpdateSessions(Object state) в System.Threading.TimerQueueTimer.CallCal lbackInContext(Object state) в System.Threading.ExecutionContext.RunInt ernal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.ExecutionContext.Run(Ex ecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.TimerQueueTimer.CallCal lback() в System.Threading.TimerQueueTimer.Fire() в System.Threading.TimerQueue.FireNextTime rs() в System.Threading.TimerQueue.AppDomainTim erCallback()</ExceptionString></Exception></TraceRecord> The program '[8776] sg2015.vshost.exe: Program Trace' has exited with code 0 (0x0). The program '[8776] sg2015.vshost.exe' has exited with code 0 (0x0). ----------------------- Собственно вопрос: что с этим делать? и как подступиться к проблеме? если проблема не в моем коде то как искать ошибку? С таким не сталкивался еще... Подскажите как действовать. Спасибо!
0
|
|
| 24.11.2016, 08:35 | |
|
Ответы с готовыми решениями:
9
Ошибка: An unhandled exception of type 'System.Data.OracleClient.OracleException' occurred in system.data.oracleclient.dll Ошибка An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in mscorlib.dll Ошибка An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll |
|
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
|
|
| 24.11.2016, 10:08 | |
|
Можете пояснить, что Вы понимаете под "время простоя" и как это выглядит в Вашем коде.
0
|
|
|
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 5
|
|
| 24.11.2016, 10:21 [ТС] | |
|
В программе есть Timer, который по расписанию запускает методы импорта данных из SAP, т.е.
в 9:00 грузим Справочник 1, в 11:30 грузим Справочник 2, в 15:00 грузим Операции и т.д. Время работы методов разное от 1 до 10 минут. Между этими загрузками система простаивает. Можно вообще выключить таймер и запускать загрузки руками в нужное время. Простой это когда ничего не грузится и таймер ждет наступления нужного времени или выключен.
0
|
|
|
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
|
|
| 24.11.2016, 10:27 | |
|
А ошибка возникает при очередном запуске какого-то процесса?
Добавлено через 2 минуты Еще один вопрос: сколько всего запускаемых методов?
0
|
|
|
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 5
|
|
| 24.11.2016, 10:38 [ТС] | |
|
-> А ошибка возникает при очередном запуске какого-то процесса?
нет! ошибка возникает, когда ничего не грузится, ни один метод (поток) не запущен ! -> Добавлено через 2 минуты -> Еще один вопрос: сколько всего запускаемых методов? Сам метод вообще один, он запускает разные загрузки в зависимости от входного параметра. В день этот метод отрабатывает примерно 10 - 20 раз. Одновременно два и более методов (потоков) не выполняются.
0
|
|
|
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
|
|
| 24.11.2016, 10:44 | |
|
Тогда еще вопрос: сколько разных входных параметров у метода?
Добавлено через 38 секунд Сколько разных загрузок?
0
|
|
|
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 5
|
|
| 24.11.2016, 10:45 [ТС] | |
|
0
|
|
|
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
|
|
| 24.11.2016, 10:53 | |
|
Чтобы найти ошибку, разделите программу Timer на две, в которых будет вызываться по 5 разных методов. Вероятнее всего будет вылетать одна из двух Timer. Затем делите вылетающую еще на две и т.д. Так найдете какая загрузка "губит" и, возможно, от чего.
0
|
|
|
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 5
|
||
| 25.11.2016, 14:52 [ТС] | ||
|
Вот что показывает стек вызовов: OnUnhandledException - Коллекция была изменена; невозможно выполнить операцию перечисления. Stack Trace: в System.ThrowHelper.ThrowInvalidOperation Exception(ExceptionResource resource) в System.Collections.Generic.Dictionary`2. KeyCollection.Enumerator.MoveNext() в SAP.Middleware.Connector.RfcSessionManag er.UpdateSessions(Object state) в System.Threading.TimerQueueTimer.CallCal lbackInContext(Object state) в System.Threading.ExecutionContext.RunInt ernal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.ExecutionContext.Run(Ex ecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.TimerQueueTimer.CallCal lback() в System.Threading.TimerQueueTimer.Fire() в System.Threading.TimerQueue.FireNextTime rs() в System.Threading.TimerQueue.AppDomainTim erCallback() ей богу не пойму, куда дальше копать....
0
|
||
| 25.11.2016, 14:52 | |
|
Помогаю со студенческими работами здесь
10
Вылезает ошибка при отправке пакета: "A first chance exception of type 'System.Net.WebException' occurred in System.dll" Ошибка An unhandled exception of type 'System.NullReferenceException' occurred in GridModel.exe Ошибка An unhandled exception of type 'System.NullReferenceException' occurred in WindowsFormsApplication1.exe Ошибка (Необработанное исключение типа "System.InvalidOperationException" в mscorlib.dll) Ошибка нулевого значения объекта ("System.InvalidOperationException" в mscorlib.dll ) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|