View Issue Details

IDProjectCategoryView StatusLast Update
0008834CentOS-7gnome-sessionpublic2015-12-11 11:18
ReporterJohnnyHughes 
PriorityhighSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Platformi686OSCentOS-7OS Version1503
Product Version7.1-1503 
Target Version7.1-1503Fixed in Version7.2.1511 
Summary0008834: Exit and Logout menu items do not work
DescriptionOnce a CentOS-7 (1503) i686 arch install is done that includes the gnome desktop, the exit and logout options of the menu do not work.

In order to shutdown the machine, you must open a terminal and do:

shutdown now

Additional InformationThe following are in the logs:

shutdown:
Jun 1 14:58:02 localhost gnome-session: JS LOG: pushModal: invocation of begin_modal failed
 
logout:
Jun 1 14:58:02 localhost gnome-session: gnome-session[3159]: WARNING: Unable to open shell end session dialog
Jun 1 14:58:02 localhost gnome-session[3159]: WARNING: Unable to open shell end session dialog
Jun 1 14:58:02 localhost gnome-session: Entering running state
TagsNo tags attached.
abrt_hash
URL

Activities

JohnnyHughes

JohnnyHughes

2015-06-02 16:43

administrator   ~0023277

This issue is also known in Springdale's i686 version:

http://springdale.math.ias.edu/ticket/196
JohnnyHughes

JohnnyHughes

2015-06-05 20:13

administrator   ~0023324

Thanks to Gianluca Cecchi for this work around from the CentOS-Devel Mailing List:

I compared with a CentOS 7.1 x86_64 and verified that apparently it depends on the popped up log-out menu confirmation that by default should come up when you click on "Log Out"

In fact if I disable it, I'm able to logout (without confirmation of course) and then log in again

from inside the gnome session

[g.cecchi@c71i686 ~]$ gsettings get org.gnome.SessionManager logout-prompt
true

[g.cecchi@c71i686 ~]$ gsettings set org.gnome.SessionManager logout-prompt false

[g.cecchi@c71i686 ~]$ gsettings get org.gnome.SessionManager logout-prompt
false

Now I can log out and then log in again.
arrfab

arrfab

2015-10-23 15:06

administrator   ~0024685

Just to add that the following workaround can be implemented system-wide : (as root) :

# Fixing the logout-prompt issue - https://bugs.centos.org/view.php?id=8834
cat > /etc/xdg/autostart/gsettings-logout-prompt.desktop << EOF
[Desktop Entry]
Version=1.0
Name=GSettings Logout Prompt workaround
Comment=Workaround to not display the logout-prompt
Exec=gsettings set orggnome.SessionManager logout-prompt false
Terminal=false
Type=Application
OnlyShowIn=GNOME;Unity;
X-GNOME-Autostart-Phase=Initialization

EOF

That's what I used in for the live{cd,gnome,kde} iso images : https://git.centos.org/blob/sig-core!livemedia.git/efc291ccd1c5c76c011864e4bce0ca1161dea8d5/kickstarts!centos-7-livecd-i386.cfg#L1188
lkundrak

lkundrak

2015-10-30 13:43

reporter  

0001-modalDialog-fix-on-32bit.patch (1,558 bytes)
From dbf06c1f7f357e7d6018fa3090cb07cd65e65664 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Fri, 30 Oct 2015 14:29:18 +0100
Subject: [PATCH] modalDialog: fix on 32bit

modalDialog.pushModal() expects an integer, not an object. If the timestamp
happens to be something non-sensible the XIGrabDevice() fails to grab the
devices for the modal dialogs.

https://bugs.centos.org/view.php?id=8834
---
 js/ui/main.js        | 2 ++
 js/ui/modalDialog.js | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/js/ui/main.js b/js/ui/main.js
index 6865c41..88a0100 100644
--- a/js/ui/main.js
+++ b/js/ui/main.js
@@ -343,6 +343,8 @@ function pushModal(actor, params) {
     params = Params.parse(params, { timestamp: global.get_current_time(),
                                     options: 0,
                                     keybindingMode: Shell.KeyBindingMode.NONE });
+    if (!params.timestamp)
+        params.timestamp = global.get_current_time();
 
     if (modalCount == 0) {
         if (!global.begin_modal(params.timestamp, params.options)) {
diff --git a/js/ui/modalDialog.js b/js/ui/modalDialog.js
index a0369e6..e7fea35 100644
--- a/js/ui/modalDialog.js
+++ b/js/ui/modalDialog.js
@@ -302,7 +302,7 @@ const ModalDialog = new Lang.Class({
         if (this.state == State.OPENED || this.state == State.OPENING)
             return true;
 
-        if (!this.pushModal({ timestamp: timestamp }))
+        if (!this.pushModal(timestamp))
             return false;
 
         this._fadeOpen(onPrimary);
-- 
1.8.3.1

lkundrak

lkundrak

2015-10-30 13:44

reporter   ~0024743

Hi.

Attached a patch that fixes the issue:
https://bugs.centos.org/file_download.php?file_id=8468&type=bug

I'm wondering how difficult would it be to get the upstream distributor fix this?
JohnnyHughes

JohnnyHughes

2015-12-11 11:17

administrator   ~0025043

This is fixed in the 7.2.1511 release which will be pushed to mirrors in the next couple of days

Issue History

Date Modified Username Field Change
2015-06-02 16:41 JohnnyHughes New Issue
2015-06-02 16:43 JohnnyHughes Note Added: 0023277
2015-06-02 16:43 JohnnyHughes Additional Information Updated View Revisions
2015-06-05 20:13 JohnnyHughes Note Added: 0023324
2015-10-23 15:06 arrfab Note Added: 0024685
2015-10-30 13:43 lkundrak File Added: 0001-modalDialog-fix-on-32bit.patch
2015-10-30 13:44 lkundrak Note Added: 0024743
2015-12-11 11:17 JohnnyHughes Note Added: 0025043
2015-12-11 11:17 JohnnyHughes Status new => resolved
2015-12-11 11:17 JohnnyHughes Fixed in Version => 7.2.1511
2015-12-11 11:17 JohnnyHughes Resolution open => fixed