EnglishУкраїнськаmRussian
Login/New
Topic with no new replies

[BugFixed] Аварийное завершение при использовании Array split(RegExp pat, int limit) в процедуре шаблона параметра


Author Message
Written on: 28. 09. 2016 [16:16]
3dlogin
Илья Кузнецов
Topic creator
registered since: 06.04.2016
Posts: 12
Добрый день!

Шаги для воспроизведения:

1. Загрузить проект АГЛКС.
2. Создать библиотеку шаблонов "test" (или другой допустимый ID).
3. Создать в библиотеке шаблонов "test" шаблон "test" (или другой допустимый ID).
4. Во вкладке "IO" шаблона "test" выбрать язык JavaLikeCalc.JavaScript.
5. В код процедуры вписать:
JAVASCRIPT
testString = "123.45";
testArray = testString.split(new RegExp("\\s*")); // ещё варианты опробованных "проблемных" паттернов "\\s?" "\\d?" "\\d*"

6. Активировать шаблон "test".
7. В Логическом уровне создать контроллер с параметром, параметру присвоить шаблон "test", установить "Включать" для параметра.
8. Запустить контроллер.

При выполнении указанных шагов происходит аварийное завершение OpenSCADA.
Используемое окружение и версии:
- дистрибутив и ядро ОС: Linux 3.16.0-4-586 Debian 3.16.7-ckt25-1 (2016-03-06) i686 GNU/Linux;
- OpenSCADA v. 0.9+r2423-1 (впервые замечено в 0.9+r2410);
- libpcre3 -- 2:8.35-3.3+deb8u4;

Также воспроизводится на debian 7 c OpenSCADA v. 0.9+r2410 armhf (установлено на ПЛК).
Written on: 28. 09. 2016 [19:39]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
Исправлено!

Learn, learn and learn better than work, work and work.



16507