Страница 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
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.