Повідомлення створено: 01. 12. 2011 [12:34]
|
fido_max
Maxim Kochetkov
Contributor
Автор теми
Зареєстрован(а) с: 28.10.2010
Повідомлення: 129
|
"roman" wrote:
"fido_max" wrote:
1. В версии 1663 если выбрать в QT конфигураторе на любой нелокальной станции Пользовательские интерфейсы->Рабочий пользовательский интерфейс, то появляется сообщение "время ожидания истекло" и вкладка "пользовательский интерфейс" пустая, хотя по остальным вкладкам все отображается. И в этот момент иногда происходит падение, если кто-то редактирует виджеты:
[xcb] Unknown request in queue while dequeuing
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
openscada: ../../src/xcb_io.c:178: dequeue_pending_request: Проверочное утверждение «!xcb_xlib_unknown_req_in_deq» не выполнено.
7|/AGLKS/ | OpenSCADA прервана!
Programm result: 134
У меня это нигде не воспроизводится и я вообще такого никогда не видел. Делайте корку и изучайте: http://wiki.oscada.org/Doc/OtchjotOSboe
Вот дамп трех сбоев.
Сбой происходит так:
Есть два компьютера с запущенной скадой.
На первом открываем рабочий пользовательский интерфейс в режиме конфигурирования и начинаем щелкать по виджетам, заходить в редактирование, смотреть свойства и т.д. (в общем работать).
Со второго компьютера заходим через QTконфигуратор на первый в Пользовательские интерфейсы->Рабочий пользовательский интерфейс и начинаем там переключаться по вкладкам.
Через произвольное количество переключений происходит сбой
После этого первая станция либо мертво виснет, либо падает.
Вкладений файл
dump.log (Тип файлу: text/x-log, Розмір: 5.79 кілобайтів) — 1514 завантажень
|
Повідомлення створено: 01. 12. 2011 [16:25]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
Это связано с вызовом QT функции запроса количества доступных экранов QDesktopWidget().screenCount() из другого потока (не главного потока QT). Похоже это ещё усугубляется реальным наличием более одного экрана и активностью Xinerma.
Вынес запрос функции QDesktopWidget().screenCount() в поток QT. Проверяйте!
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 02. 12. 2011 [08:03]
|
fido_max
Maxim Kochetkov
Contributor
Автор теми
Зареєстрован(а) с: 28.10.2010
Повідомлення: 129
|
"roman" wrote:
Это связано с вызовом QT функции запроса количества доступных экранов QDesktopWidget().screenCount() из другого потока (не главного потока QT). Похоже это ещё усугубляется реальным наличием более одного экрана и активностью Xinerma.
Вынес запрос функции QDesktopWidget().screenCount() в поток QT. Проверяйте!
Спасибо. Теперь не падает.
|