Данная страница содержит протокол известных ошибок. При описании ошибки рекомендуется указывать дату и частоту воспроизводимости.
Страница не содержит тривиальных ошибок исправленных практически сразу. Содержаться только ошибки, которые не удалось исправить за один-два "захода", по причине их фундаментальности. Полный перечень исправленных ошибок можно получить в ChangeLog, который поставляется с дистрибутивом системы OpenSCADA.
Дата | Частота | Описание | Решение или рекомендация |
10.06.2008 | Устойчиво | Падение OpenSCADA в коде библиотеки QT (QTCfg, Vision) в момент удаления виджетов и одновременного поступления нескольких сигналов к этому виджету. Ситуация хотя и редка, но в отдельных случаях устойчиво воспроизводима. Например, если в Vision(Develop) вставить элемент формы, а затем в инспекторе атрибутов изменить тип элемента и сразу-же нажать мышью на выбранный виджет то происходит падение. Проблема заключается в некорректной обработке сигналов в библиотеке QT для удаляемых виджетов. | Решение проблемы. Уведомление разработчика. |
10.01.2008 | Устойчиво | Подвисание операционной системы в целом на многоядерных архитектурах при периодическом вызове источника даных сенсоров, утилитой mbmon. | Environment bug В качестве первичного источника сенсоров использована библиотека Libsensors. |
28.11.2006 | Устойчиво | Наблюдается блокирование таймеров созданных посредством POSIX-функции timer_create(), в режиме создания потока по сигналу, на момент исполнения созданного потока. Практически, пока поток не завершится, никакой другой таймер не создаст нового потока. Это приводит к блокированию всех таймеров OpenSCADA на момент исполнения потока одного из них, что в случае срабатывания таймера упаковки устаревших архивов может приводить к продолжительному блокированию остальных служб, например опроса и архивирования собранных данных из буферов архивов. Похоже, это связанно с ошибкой в реализации этих таймеров библиотеки GLibC с потоковой моделью LinuxThread. На NPTL эта проблема не замечена. Подтверждено на дистрибутивах ОС Linux: ALC3.0. | Environment bug. Рекомендуется использовать потоковую модель NPTL. |
17.08.2006 | Устойчиво | Сбои в графическом интерфейсе модуля QTCfg. Наблюдаются при открытии X-сессии через ssh, на медленных системах или медленной сети. Связанно с приходом команды на перерисовку виджета ещё незакончившего перерисовку после воздействия пользователя. Проявляется случайным образом, на форме конфигурирование, после изменения значения элемента. После изменения, по таймеру (через 100мс), запускается обновление страницы. Похоже, в некоторых случаях, этого времени недостаточно. Время увеличено до 500мс. | Проблема заключается в некорректном преобразовании адреса в строку и обратно, в виду ошибочного использования знаковых функций. Функция преобразования адреса в строку и обратно исправлена. |
03.08.2006 | Устойчиво | Блокирование БД SQLite при попытке записать, а затем закрыть транзакцию. Наблюдается на старых дистрибутивах ОС Linux с новой версией SQLite(3.2.1) и связано с ошибкой в функции fcntl, что не позволяет работать с БД в многопоточном режиме. Подтверждено на дистрибутивах: ALM2.4 | Environment bug |
19.12.2005 | Устойчиво | В дистрибутивах с конфигурацией: gcc-4.0.1, nptl, QT 3.3.4 после первой записи текста в виджет QTextEdit, библиотеки QT, происходит сбой, который отражается в ошибке сегментации памяти при выходе. Подтверждено на дистрибутивах:
| Проблема заключается в некорректном преобразовании адреса в строку и обратно, в виду ошибочного использования знаковых функций. Функция преобразования адреса в строку и обратно исправлена. |
19.12.2005 | Устойчиво | В дистрибутивах с конфигурацией: gcc-4.0.1, glibc 2.3.5 nptl интервальный таймер не работает. Подтверждено на дистрибутивах:
Проблема заключается в том, что интервальный таймер созданный с помощью функции setitimer() или timer_create() шлёт сигналы процессу вместо потока создавшего таймер. Подробнее | Для периодических задач использован интервальный таймер с созданием потока по событию (функция timer_create()). |
28.10.2005 | Устойчиво | /Contr/JavaLikeCalc: Процесс обновления данных функций, библиотек функций, из БД не эффективен и занимает много времени. | Добавлена возможность чтение по части составного ключа, тем сам выбирая только нужные записи. |
01.10.2004 | Редко | Разростание dbf DB после расширения/модификации структуры. | Модуль DBF полностью отревизирован. В результате чего исправлены две ошибки: добавлено ограничение имён колонок до 10 символов, добавлено ограничение длины поля записи 255 символами. |
01.01.2004 | Устойчиво | В процессе работы выполняется горячая подмена разделяемой библиотеки. При замене старой разделяемой библиотеки на новую (копированием поверх) OpenScada падает, при попытке уничтожить модули обновленной разделяемой библиотеки, а также на других операциях с модулями этой разделяемой библиотеки. Однако при замене через предварительное удаление, удаление старых и создание новых модулей проходит нормально! | Environment bug |