Данная страница содержит протокол известных ошибок. При описании ошибки рекомендуется указывать дату и частоту воспроизводимости.
Страница не содержит тривиальных ошибок исправленных практически сразу. Содержаться только ошибки, которые не удалось исправить за один-два "захода", по причине их фундаментальности. Полный перечень исправленных ошибок можно получить в ChangeLog, который поставляется с дистрибутивом системы OpenSCADA.
Дата | Частота | Описание | Решение или рекомендация |
31.03.2015 | Устойчиво | Падение в коде модуля Qt "qt4/plugins/accessiblebridge/libqspiaccessiblebridge.so" от пакета kaccessible, а именно в функции AtSpiAdaptor::accessibleInterface(). Замечено в дистрибутиве Linux Ubuntu 12.04 и kaccessible версии 4.8.2. | Environment bug. На данный момент решения нет и пакет kaccessible нужно удалять. |
01.02.2013 | Устойчиво | Падение в коде Qt4 при завершении программы. Замечено при использовании libqt4-webkit и открытии хотя-бы раз виджетов с WebKit (примитив "Документ"). Кроме некорректной очистки WebKit при выходе виджеты на его основе не пропускают paint события виджетам в которые включены, что порождает ряд проблем в режиме разработки. | Environment bug. На данный момент решения нет, а о подобных проблемах с WebKit в Интернет встречается достаточно много уведомлений. |
15.12.2011 | Устойчиво | LP-5141: Падение OpenSCADA на ARM процессоре PXA270 со старым программным окружением, на основе Linux kernel 2.6.19, GLibc 2.2.5-2.3.6, GCC 3.4-4.0, LinuxThread и FPA. Падение OpenSCADA происходит при доступе к экземпляру ресурсной строки из разных потоков. Проблема воспроизводится при опросе контроллера по протоколу ModBus/RTU с периодичностью 100мс, опросе отсутствующего модуля посредством DCON на том-же интерфейсе RS485, что и ModBus/RTU. В этот же момент осуществляется периодическая (1 секунда) запись двух регистров в опрашиваемый по протоколу ModBus/RTU контроллер. Падение происходит не сразу, а в течении 10 минут - 5 часов, в зависимости от активности параллельного доступа к общей строке на чтение. | Данная проблема связана с алгоритмом COW, а именно с атомарностью доступа к счётчику строк "_Atomic_word _M_refcount;", вероятно из-за устаревшей системы потоков linuxthread. Основные хранилища OpenSCADA, с использованием "string" в роли контейнера адаптированы для исключения активации COW-алгоритма. |
10.02.2011 | Устойчиво | Падение OpenSCADA в коде плагина диалога выбора файла KDE4 после полного корректного завершения кода OpenSCADA. Для воспроизведения проблемы нужно запустить OpenSCADA в окружении KDE4 и воспользоваться диалогом выбора файла, например, для загрузки изображения пользователя на странице конфигурации учётной записи пользователя OpenSCADA, после чего выйти из OpenSCADA. | Environment bug. Проблема связана с тем, что после удаления объекта приложения Qt4 QApplication() остаётся активным обработчик событий Qt QEventLoop (в одном потоке) и планировщик ввода-вывода KIO::Scheduler (в другом). Именно некорректное завершение KIO::Scheduler приводит к падению на финальной стадии. Что интересно, на других диалогах вызванных посредством qOverride механизма, например, диалог выбора цвета, такой проблемы нет. Файл обратного трассирования проблемы. Уведомление об ошибке: https://bugzilla.altlinux.org/show_bug.cgi?id=25165 |
10.06.2008 | Устойчиво | Падение OpenSCADA в коде библиотеки Qt (QTCfg, Vision) в момент удаления виджетов и одновременного поступления нескольких сигналов к этому виджету. Ситуация хотя и редка, но в отдельных случаях устойчиво воспроизводима. Например, если в Vision(Develop) вставить элемент формы, а затем в инспекторе атрибутов изменить тип элемента и сразу-же нажать мышью на выбранный виджет то происходит падение. Проблема заключается в некорректной обработке сигналов в библиотеке Qt для удаляемых виджетов. | Использована функция deleteLater(). |
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 |