This is topic Зависание МРВ. Ошибка rtcx.exe, библиотеки MSVCR71.dll qt-mt332.dll ntdll.dll in forum Мониторы Реального Времени / Real Time Monitors at Форум TRACE MODE: техническая поддержка.
Ув. техподдержка. На объекте с 2014 года работают 2 идентичных МРВ версии 6.09 (OC Windows 7). Примерно 1 раз в неделю случались "зависания" и "вылеты" из-за ошибки Overstress CPU, очень редко была ошибка "insufficient memory". Ключом PRCMES в *.cnf ошибки были сведены к минимуму (возникали редко, МРВ не зависал).
После обновления МРВ до версии 6.09.2 (вынужденной, т.к. была проблема с отправкой SMS через модемы Cinterion MC52i с одного из АРМ и случайно откатили версию до чистого релиза 6.09) МРВ стал зависать каждый(!) день в разное время. Ключи в *.cnf по сравнению с версией 6.09 - изменились, в ветках форума нашли, что для данной версии нужно задавать DEBUGON=70084490.
Привожу ниже лог tm6_log: LOAD [0] 609 Dec 15 2014 12:13:37 0000 00000000[0] 27.09.2016 12:13:37 0000 00000000[0] login failed 12:13:37 0000 00000000[14] login ok 12:14:14 0000 00000002[1545] Start 12:14:17 0020 00000000[0] modems not ready 12:14:17 0020 00000000[0] modems not ready 12:14:17 0020 00000000[0] modems not ready 12:14:19 0020 00000000[0] modems not ready 12:22:07 0016 00000001[1250] Graph loop is big(t) 14:57:34 0016 00000032[14] ВходИБПграфикиU:34 14:57:34 0016 00000032[14] ВходИБП1графикиI:40 LOAD [0] 609 Dec 15 2014 09:16:19 0000 00000000[0] 28.09.2016 09:16:19 0000 00000000[14] login ok 09:17:11 0000 00000001[1545] Start 09:17:15 0020 00000000[0] modems not ready 09:17:15 0020 00000000[0] modems not ready 09:17:15 0020 00000000[0] modems not ready 09:17:17 0020 00000000[0] modems not ready 09:27:04 0016 00000001[1188] Graph loop is big(t) 10:16:30 0016 00000001[1250] Graph loop is big(t)
и т.д., пока не случается зависание. Лог просто обрывается, без записей об ошибке.
Внимание, вопросы: 1) Что за "спам" теперь идет с/на порт СОМ7 <ch67>...<ch107>? Какая-то бессмыслица типа [!]0e[!][!][!] или [!]0[!][!][!][!], если перевести в ASCII. Ранее, до обновления до 6.09.2, в логах такого не было, это точная информация. Протокол - Modbus RTU поверх TCP (виртуальный COM-порт в системе). 2) Почему ключи из help для задания параметров работы мониторов не работают в этом релизе? (9:16:19) WRN_LOAD:NOERRWNDMES not supported (9:16:19) WRN_LOAD:MEMRES=1024 not supported (9:16:19) WRN_LOAD:MEMORY not supported 3) Почему после обновления стала появляться ошибка Graph loop is big(t)? Графика с 2014 года осталась прежней, проект (экраны) не меняли. Может на это влиять изменение (уменьшение) настройки Периода и Разрешения в параметрах узла (ранее цикл был 10 сек, сейчас - 1 сек)? 4) Почему теперь "зависания" rtcx.exe сопровождаются проблемами с системными библиотеками MSVCR71.dll, qt-mt332.dll, ntdll.dll (каждый раз - разная библиотека)?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. Судя по диагностической информации в профайлерном протоколе в заданном Вами ключе DEBUGON установлен бит "бит 9 (0x200) – обмен по RS; " В начале протокола имеется информация об инициализации COM7 "(9:17:11) INF_RS:found channels=23 for COM7 (9:17:11) INF_RS:init string is \\.\COM7: baud=9600 parity=N data=8 stop=1 (9:17:11) INF_RTM:start Host:COM_7[2148] low " Потом в реальном времени приводятся тексты запросов по этому COM-порту - в полном соответствии с протоколом Modbus RTU.
2. Организация потоков сообщений и система их обработки в релизе 6.09.2 изменились. Указанные Вами ключи стали неактуальными. Судя по тому, что в релизе 6.09 использование этих ключей помогало Вам, перегрузки МРВ, приводящие к неустойчивой работе узла, были и ранее. Некоторое снижение нагрузки за счет отключения потока сообщений не устранило истинную причину неустойчивости - ресурсные перегрузки. Они остались, и теперь сообщения о перегрузках стали явными.
3. Безусловно, многократное сокращение цикла обработки увеличивает ресурсную нагрузку МРВ и может являться дополнительной причиной неустойчивости функционирования узла.
4. Причины перегрузки остались, поэтому остались и фатальные последствия. В некоторой степени снижение нагрузки может быть достигнуто введением ключа GRAPH_STATUS_WND=OFF актуального в релизах 6.09.2 и 6.10.
Начиная с релиза 6.10, с целью повышения устойчивости модифицированы механизмы обработки потоков SNMP.
В ближайшие дни на сайте будет выложен релиз 6.10.1, в котором устранены некоторые системные ошибки, вызывающие увеличение ресурсной нагрузки и неустойчивость функционирования МРВ.
Однако, необходимо выявить в Вашем проекте причины перегрузки, касающиеся, по крайней мере, графической базы.