Страница 1 из 1

Зависание

Добавлено: 20 апр 2016, 08:26
vvpnet
Иногда у меня намертво зависает GUI. Вопрос как перезапустить GUI во второй консоле? rosa.r7.fresh.kde4

Re: Зависание

Добавлено: 20 апр 2016, 09:30
keleg
А ctrl+alt+BS работает?

Re: Зависание

Добавлено: 20 апр 2016, 11:17
vvpnet
keleg писал(а):А ctrl+alt+BS работает?
как появиться повод проверю!

Re: Зависание

Добавлено: 20 апр 2016, 11:47
agb2008
Наблюдаю аналогичную проблему в версии ROSA.FRESH.GNOME.R7.x86_64 - проявилась неожиданно в разрабатываемом ПО, где использую
опцию удержания фокуса активного окна. Вместо того, чтобы оставить это окно активным до закрытия (пользователь обязан его обязательно
закрыть для возвращения в основное окно программы) получаю зависание (полное) GUI. Есть возможность переключиться в консоль и перезагрузить
машину, но вот оживить систему не удалось. Аналогичные проблемы отмечены и в сборке для ROSA.FRESH.GNOME.R7.i586...

Re: Зависание

Добавлено: 20 апр 2016, 11:51
keleg
agb2008 писал(а):Наблюдаю аналогичную проблему в версии ROSA.FRESH.GNOME.R7.x86_64 - проявилась неожиданно в разрабатываемом ПО, где использую
опцию удержания фокуса активного окна. Вместо того, чтобы оставить это окно активным до закрытия (пользователь обязан его обязательно
закрыть для возвращения в основное окно программы) получаю зависание (полное) GUI. Есть возможность переключиться в консоль и перезагрузить
машину, но вот оживить систему не удалось. Аналогичные проблемы отмечены и в сборке для ROSA.FRESH.GNOME.R7.i586...
Давненько не программил... но разве это не модальными окнами делается?

Re: Зависание

Добавлено: 20 апр 2016, 13:08
agb2008
keleg:
Есть разные варианты. У меня код мультиплатформенный - и мне необходимо задействовать именно такой способ. Но - главное здесь заключается в том,
что прикладная программа никак не должна намертво вешать GUI системы. Особенно с учетом того, что запущено приложение с правами обычного пользователя,
без привилегий пользователя "root"

Re: Зависание

Добавлено: 20 апр 2016, 19:10
Галахов Роман
agb2008 писал(а):keleg:
Есть разные варианты. У меня код мультиплатформенный - и мне необходимо задействовать именно такой способ. Но - главное здесь заключается в том,
что прикладная программа никак не должна намертво вешать GUI системы. Особенно с учетом того, что запущено приложение с правами обычного пользователя,
без привилегий пользователя "root"
Если она в своей "песочнице", то да, а если активно использует по зависимостям другие части системы (например, библиотеки), то эти "другие части" могут и зависнуть (например, из-за неправильных настроек работы с ними). Особенно если с одним файлом одновременно работает несколько приложений (возможен конфликт между ними).
Вы же не знаете, точно, что именно ваша программа вызвала зависание. А используемые ей зависимости стоит перепроверить.

Re: Зависание

Добавлено: 21 апр 2016, 05:49
vvpnet
перейдите во вторую консоль, подцепитесь отладчиком к вашему приложению и скопируйте стек вызова функций. Посмотрим

Re: Зависание

Добавлено: 21 апр 2016, 10:49
agb2008
Галахов Роман, vvpnet:

В приложении к этому письму тестовое простое приложение, которое у меня вызывает зависание графической системы Gnome.
Используемый дистрибутив: ROSA Fresh R7 Gnome без UEFI

Для повторения проблемы:

1. Запускаем приложение gui_hang_test_32bit или gui_hang_test_64bit
2. В открывшимся окне приложения нажимаем единственную кнопку.
3. Открывается второе окно - в коде приложения на это окно стоит удержание фокуса.
4. Если клиннуть мышью вне этого второго окна, в моем случае происходит полное зависание графической системы.

В большинстве случаев есть возможность перезапустить GUI используя предложенную комбинацию Ctrl-Alt-BS

если из консоли попытаться убрать процесс этого приложения с помощью команды kill - это не приводит к разблокировке GUI
gui_hang_test_32bit.tar.gz
32 битная тестовая версия (собиралась на ROSA Fresh R7 32 bit GNOME)
(31.88 КБ) 653 скачивания

gui_hang_test_64bit.tar.gz
64 битная тестовая версия (собиралась на ROSA Fresh R7 64 bit GNOME)
(32.91 КБ) 818 скачиваний
P.S. добавлена 64 битная сборка. процедура проверки аналогична.

P.P.S. Приложение не использует каких-либо специальных библиотек и сложного кода - просто создается два окна, для второго из них должен
удерживаться фокус - то есть пользователь обязан закрыть его для возврата в основное окно. Код, собранный под Windows работает прекрасно.

Re: Зависание

Добавлено: 21 апр 2016, 14:54
ans
vvpnet писал(а):Иногда у меня намертво зависает GUI.
У меня каждый день. Стабильно. ROSA.FRESH.PLASMA.R7
Жду пока окончательно сломается. Установлю с последнего образа, может обновления как-то криво установились.

Re: Зависание

Добавлено: 22 апр 2016, 07:30
trs
vvpnet писал(а):Вопрос как перезапустить GUI во второй консоле?
systemctl restart kdm (или что там за dm, сейчас глянуть не могу) не помогает?
keleg писал(а):
agb2008 писал(а): использую
опцию удержания фокуса активного окна.
Давненько не программил... но разве это не модальными окнами делается?
Есть даже мнение, что модальные окна - зло.
Что такое "удержание фокуса" и как оно реализовано, не знаю. Но в литературе описаны способы, как прикладной программе - элементарным циклом - убить GUI Windows.