Bug 24036 - OpenSCADA segfaults at startup
Summary: OpenSCADA segfaults at startup
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: openscada (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Vitaly Lipatov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-07 16:02 MSD by Vyatcheslav Perevalov
Modified: 2010-10-25 13:05 MSD (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vyatcheslav Perevalov 2010-09-07 16:02:29 MSD
$ 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 Roman Savochenko 2010-09-08 10:07:05 MSD
Похоже проблема не стыковки текущей сборки с qt 4.7, которая в Сизифе, а собиралось вероятно во времена 4.6.3. И сообщения это подтверждают.
Кроме того, проблема в коде доступа к DBus в QT присутствует уже давно. На версии QT 4.6.3 и ранее это иногда проявляется в момент остановки OpenSCADA, когда абсолютно все собственные ресурсы OpenSCADA освобождаются, а падение происходит в библиотеке QT DBus, к коду которой OpenSCADA прямо нигде не обращается.

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

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

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

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