Ошибки в логах

Started by Дым, May 04, 2017, 06:52:34 AM

Previous topic - Next topic

Дым

При запуске сервера NetXMS в лог попадают ошибки следующего вида:

2017-04-30T02:52:04.747862+00:00 netxms netxmsd[18272]: Error compiling library script Filter::SNMP (ID: 1): Error in line 1: Invalid character '\' (0x5C)
2017-04-30T02:52:04.748017+00:00 netxms netxmsd[18272]: Error compiling library script Filter::Agent (ID: 2): Error in line 1: Invalid character '\' (0x5C)
2017-04-30T02:52:04.748105+00:00 netxms netxmsd[18272]: Error compiling library script Filter::AgentOrSNMP (ID: 3): Error in line 1: Invalid character '\' (0x5C)
2017-04-30T02:52:04.748185+00:00 netxms netxmsd[18272]: Error compiling library script DCI::SampleTransform (ID: 4): Error in line 1: Invalid character '\' (0x5C)
2017-04-30T02:52:04.748266+00:00 netxms netxmsd[18272]: Error compiling library script Hook::StatusPoll (ID: 11): Error in line 1: Invalid character '\' (0x5C)
2017-04-30T02:52:04.748344+00:00 netxms netxmsd[18272]: Error compiling library script Hook::ConfigurationPoll (ID: 12): Error in line 1: Invalid character '\' (0x5C)
2017-04-30T02:52:04.748421+00:00 netxms netxmsd[18272]: Error compiling library script Hook::InstancePoll (ID: 13): Error in line 1: Invalid character '\' (0x5C)
2017-04-30T02:52:04.748499+00:00 netxms netxmsd[18272]: Error compiling library script Hook::TopologyPoll (ID: 14): Error in line 1: Invalid character '\' (0x5C)
2017-04-30T02:52:04.748578+00:00 netxms netxmsd[18272]: Error compiling library script Hook::CreateInterface (ID: 15): Error in line 1: Invalid character '\' (0x5C)
2017-04-30T02:52:04.748665+00:00 netxms netxmsd[18272]: Error compiling library script Hook::AcceptNewNode (ID: 16): Error in line 1: Invalid character '\' (0x5C)

Работе сервера оно не препятствует, но хотелось бы разобраться, что это и как с этим бороться.

enp


Victor Kirhenshtein

 А можно посмотреть исходники проблемных скриптов?

Дым

#3
Каких скриптов? Эти ошибки лезут, даже если просто сам бинарник сервиса запускать без опции -d.
Или эти скрипты идут в поставке сервера? Что-то не нахожу ничего похожего в составе пакетов.

Victor Kirhenshtein

Например

2017-04-30T02:52:04.748266+00:00 netxms netxmsd[18272]: Error compiling library script Hook::StatusPoll (ID: 11): Error in line 1: Invalid character '\' (0x5C)

означает что в библиотеке скриптов (Configuration -> Script Library) есть скрипт с именем Hook::StatusPoll и он не компилируется. Похоже на баг в инициализации базы, но хотелось бы посмотреть что попало в текст скрипта. Да, и какая база используется?

Дым

#5
А, вон они где! Вот, например, содержимое скрипта DCI::SampleTransform:
sub dci_transform()\015\012{\015\012   return $1 + 1;\015\012}\015\012
И так в каждом скрипте: вместо перевода строки воткнуты \015\012. База - постгре. Для коренного исправления ситуации достаточно в sql/database.in поменять
#define CRLF            '\015\012' на #define CRLF            chr(10)
Возврат каретки здесь, полагаю, излишен: насколько мне известно, постгрес его игнорирует.
Для продакшна же поправил скрипты в библиотеке и рестартанул сервер - всё ок. Патч для ALT Linux отправлю мейнтейнеру.

Кстати, а изменённые и вновь созданные шаблоны, а также контейнеры и прочие объекты, тоже в базе хранятся? Как их оттуда экспортировать, к примеру, для обмена наработками?