Bug 24036 - OpenSCADA segfaults at startup
: OpenSCADA segfaults at startup
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/openscada)
: unstable
: all Linux
: P3 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2010-09-07 16:02 by
Modified: 2010-10-25 13:05 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2010-09-07 16:02:29
$ openscada_demo 
3|/EmptySt/ | Станция <EmptySt> отсутствует в конфигурационном файле.
Использована конфигурация станции <DemoStation>! 
1|/DemoStation/ | Загрузка! 
3|/DemoStation/ | Ошибка изменения рабочей директории в '~/.openscada': Нет
такого файла или каталога. Возможно текущая директория уже корректно
установлена в '/home/vip/.openscada'. 
1|/DemoStation/sub_BD/mod_SQLite/ | Подключение модуля! 
1|/DemoStation/sub_UI/mod_WebVision/ | Подключение модуля! 
1|/DemoStation/sub_Special/mod_FLibComplex1/ | Подключение модуля! 
1|/DemoStation/sub_Special/mod_FLibSYS/ | Подключение модуля! 
1|/DemoStation/sub_UI/mod_Vision/ | Подключение модуля! 
1|/DemoStation/sub_DAQ/mod_System/ | Подключение модуля! 
1|/DemoStation/sub_DAQ/mod_ModBus/ | Подключение модуля! 
1|/DemoStation/sub_Protocol/mod_ModBus/ | Подключение модуля! 
1|/DemoStation/sub_Protocol/mod_SelfSystem/ | Подключение модуля! 
1|/DemoStation/sub_UI/mod_QTStarter/ | Подключение модуля! 
QSocketNotifier: Can only be used with threads started with QThread
QSocketNotifier: Can only be used with threads started with QThread
QObject::startTimer: QTimer can only be used with threads started with QThread
QDBusConnectionPrivate::connectSignal: received error from D-Bus server while
connecting signal to Oxygen::Style::globalSettingsChange(int,int):
org.freedesktop.DBus.Error.Disconnected (Connection is closed)                  
/usr/bin/openscada_demo: line 33:  5054 Ошибка сегментирования                 
 $pCmd $@ 
Programm result: 139

$ file ~/.openscada
/home/vip/.openscada: directory

Текущий сизиф, КДЕ4
------- Comment #1 From 2010-09-08 10:07:05 -------
Похоже проблема не стыковки текущей сборки с qt 4.7, которая в Сизифе, а
собиралось вероятно во времена 4.6.3. И сообщения это подтверждают.
Кроме того, проблема в коде доступа к DBus в QT присутствует уже давно. На
версии QT 4.6.3 и ранее это иногда проявляется в момент остановки OpenSCADA,
когда абсолютно все собственные ресурсы OpenSCADA освобождаются, а падение
происходит в библиотеке QT DBus, к коду которой OpenSCADA прямо нигде не
обращается.

К сожалению у меня нет Сизифа поэтому быстро это проверить я не смогу. Разве
что могу послать запрос на пересборку.
------- Comment #2 From 2010-09-10 20:08:52 -------
Есть такая проблема и пересборка её не решает.
Падение происходит в первой-же функции инициализации QT, в коде QT, по не
понятной мне причине. Поверхностные попытки выяснить причину результата не дали
и проблема воспроизводится в минимальной конфигурации: ядро OpenSCADA и только
один модуль UI.QTStarter.

Вероятно в QT 4.7 добавили какие-то объекты, которые по именам пересекаются с
именами объектов OpenSCADA. Хотя BT корки падения не вскрыл перекрёстных
вызовов.

В любом случае багу на QT повесил и попробую ещё объекты ядра OpenSCADA вынести
в отдельную область видимости.
------- Comment #3 From 2010-09-12 19:45:51 -------
Проблема решена и исправления будут в ближайшее время помещены в репозиторий
проекта.

Для Сизифа пока пересобирать не буду поскольку в ближайшее время планирую
выпустить версию 0.7.0 и уже для неё собирать.
------- Comment #4 From 2010-09-13 16:19:26 -------
Хотелось бы попробовать 0.7.0...
------- Comment #5 From 2010-09-14 10:15:40 -------
Возьмите и соберите из SVN-репозитория svn co svn://oscada.org/trunk/OpenSCADA
Инструкция по сборке здесь: http://wiki.oscada.org/Doc/SborkaIzIsxodnikov
------- Comment #6 From 2010-10-25 13:05:35 -------
Выпустил версию 0.7.0 и собрал для Сизифа.