FS#12702 - KDM login doesn't work after upgrade to kdebase-workspace-4.1.3-2

Attached to Project: Arch Linux
Opened by Lukas Jirkovsky (6xx) - Wednesday, 07 January 2009, 12:38 GMT
Last edited by Jan de Groot (JGC) - Monday, 12 January 2009, 23:01 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture i686
Severity Medium
Priority Normal
Reported Version None
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 5
Private No

Details

Description:
After logging in screen turns black and user is returned back to KDM. It's caused by ConsoleKit, because after rebuilding kdebase-workspace without ConsoleKit patches I've got it working again.

Additional info:
* kdebase-workspace-4.1.3-2
I've also started thread about it in BBS: http://bbs.archlinux.org/viewtopic.php?pid=476232#p476232


Steps to reproduce:
Run KDM, try to login
This task depends upon

Closed by  Jan de Groot (JGC)
Monday, 12 January 2009, 23:01 GMT
Reason for closing:  Works for me
Additional comments about closing:  Make sure dbus is started and permissions on /usr/lib/dbus-1.0/dbus-daemon-launch-hel per are set correct.
Comment by Pierre Schmitz (Pierre) - Wednesday, 07 January 2009, 12:50 GMT
This works for me. Do you have hal running?
Comment by Lukas Jirkovsky (6xx) - Wednesday, 07 January 2009, 12:58 GMT
Yes, it should be running. At least no error is shown when hal is starting.
Anyway, if it would be problem with hal (I've only added it to /etc/rc.conf) is this dependency necessary? Because before I was able to run KDE without need to run HAL (actually I don't like hal).
Comment by Jan de Groot (JGC) - Wednesday, 07 January 2009, 13:24 GMT
You will need at least the dbus system bus running. Hal is optional AFAIK.
Comment by Lukas Jirkovsky (6xx) - Wednesday, 07 January 2009, 13:29 GMT
hal starts dbus automatically.
Comment by Pierre Schmitz (Pierre) - Wednesday, 07 January 2009, 13:36 GMT
Do you start it in the background? (might be a timing problem then) Does it work if you quit kdm and start it again manually? Is there anythign interesting logged in /var/log/kdm.log?
Comment by Jan de Groot (JGC) - Wednesday, 07 January 2009, 13:37 GMT
That's why it works for people who think they need hal specifically. Anyways, KDE and a lot of other desktop applications are crippled in functionality without hal.
Comment by Lukas Jirkovsky (6xx) - Wednesday, 07 January 2009, 14:18 GMT
I don't think it's a timing problem, because I've tried restarting dbus and hal and then starting KDM several times. Nothing helped. I've also found that it can be caused by nvidia driver which could be fixed adding by some specific option to /etc/X11/xorg.conf, but it didn't help either (moreover it was working before and this was only one package upgraded along with it's dependencies).

I'm starting hal in /etc/rc.conf:
DAEMONS=(syslog-ng iptables network @mysqld !timidity++ @ntpdate crond @ddclient @ossec alsa hal @vmware)

KDM is configured in /etc/inittab:
id:5:initdefault:
x:5:respawn:/usr/bin/kdm -nodaemon

Ad logs) everything useful is in forum topic. /var/log/kdm.log contains only note that everything is logged via syslog and part of Xorg log:

X.Org X Server 1.5.3
Release Date: 5 November 2008
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.27-ARCH i686
Current Operating System: Linux red_dragon 2.6.28 #1 Thu Dec 25 11:08:32 CET 2008 i686
Build Date: 17 December 2008 08:20:05PM

Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Wed Jan 7 10:05:22 2009
(==) Using config file: "/etc/X11/xorg.conf"
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning: Symbol map for key <RALT> redefined
> Using last definition for conflicting fields
Errors from xkbcomp are not fatal to the X server
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning: Symbol map for key <RALT> redefined
> Using last definition for conflicting fields
Errors from xkbcomp are not fatal to the X server
[config/dbus] couldn't register object path

Warning about keyboard could be caused by using non-standard layout. Dbus problem is logged also in Xorg.0.log
Comment by José Troncoso (troncoso) - Sunday, 11 January 2009, 09:52 GMT
I also have this problem, which happened suddenly after upgrading kdebase-workspace, so now I have to login to the console and call startx. The following are the relevant lines from errors.log:

Jan 7 07:25:27 cies kdm: :0[4862]: Cannot open ConsoleKit session: Unable to open session: Failed to execute program /usr/lib/dbus-1.0/dbus-daemon-launch-helper: Success
Jan 7 07:25:27 cies kdm: :0[4862]: Client start failed
Jan 7 07:25:27 cies kdm: :0[4862]: Cannot close ConsoleKit session: Unable to close session: no session open
Comment by Jan de Groot (JGC) - Sunday, 11 January 2009, 10:55 GMT
Is the dbus system bus running on your system? Without that, consolekit won't get launched and these things fail.
Comment by José Troncoso (troncoso) - Sunday, 11 January 2009, 15:06 GMT
Yes, dbus is running before I try to log in:

[root@cies ~]# ps -ef | grep dbus
dbus 4511 1 0 15:58 ? 00:00:00 /usr/bin/dbus-daemon --system
root 4867 1 0 15:58 ? 00:00:00 dbus-launch --autolaunch 51eba166730de56fd26c705b490212f6 --binary-syntax --close-stderr
root 4869 1 0 15:58 ? 00:00:00 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
Comment by Alex Fiestas (afiestas) - Sunday, 11 January 2009, 17:42 GMT
Same thing here :/ that's very, I've also test it with a clean installation of arch, and of course having dbus running :/
Comment by Alex Fiestas (afiestas) - Sunday, 11 January 2009, 18:50 GMT
Yep, after research a bit, I discovered that, executing console-kit somewhere, kdm works perfect, so maybe the last update remove/add something about console-kit.
Comment by Jan de Groot (JGC) - Sunday, 11 January 2009, 19:12 GMT
Hmm, this should not be the case, as dbus should launch consolekit when something asks for it. It's in the system-services dbus path, so dbus knows where to find it when it's requested.
Comment by Jan de Groot (JGC) - Sunday, 11 January 2009, 19:15 GMT
What are the permissions and groups for /usr/lib/dbus-1.0/dbus-daemon-launch-helper on the systems where this bug appears? It should show up like this:
-rwsr-x--- 1 root dbus 46056 2008-11-28 20:35 /usr/lib/dbus-1.0/dbus-daemon-launch-helper

Also post the output of "id dbus".
Comment by José Troncoso (troncoso) - Sunday, 11 January 2009, 22:30 GMT
[root@cies ~]# ls -lh /usr/lib/dbus-1.0/dbus-daemon-launch-helper
-rwxr-x--- 1 root root 39K nov 14 22:35 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
[root@cies ~]# id dbus
uid=81(dbus) gid=81(dbus) grupos=81(dbus)
[root@cies ~]#

So that was it! I changed the permissions and group for /usr/lib/dbus-1.0/dbus-daemon-launch-helper and now kdm works fine:
# chown root:dbus /usr/lib/dbus-1.0/dbus-daemon-launch-helper
# chmod u+s /usr/lib/dbus-1.0/dbus-daemon-launch-helper

Thank you so much!
Comment by Jan de Groot (JGC) - Sunday, 11 January 2009, 22:49 GMT
Any idea why this file was extracted as root:root while the package states root:dbus?
Comment by José Troncoso (troncoso) - Sunday, 11 January 2009, 23:01 GMT
Sorry, no idea
Comment by Pierre Schmitz (Pierre) - Monday, 12 January 2009, 05:30 GMT
Maybe the dbus user was not available at the time pacman extracts the files?
Comment by Jan de Groot (JGC) - Monday, 12 January 2009, 07:37 GMT
Then usually it should extract as root:81, which will resolve to root:dbus later. Does pacman do anything with permissions when a group doesn't exist?
Comment by Lukas Jirkovsky (6xx) - Monday, 12 January 2009, 12:58 GMT
Still doesn't work. I think that the problem is in ConsoleKit:
Jan 12 13:46:13 red_dragon console-kit-daemon[3917]: DEBUG: Debugging enabled
Jan 12 13:46:13 red_dragon console-kit-daemon[3917]: DEBUG: initializing console-kit-daemon 0.3.0
Jan 12 13:46:13 red_dragon console-kit-daemon[3917]: DEBUG: Creating thread for log writing
Jan 12 13:46:13 red_dragon console-kit-daemon[3917]: DEBUG: Creating seat /org/freedesktop/ConsoleKit/Seat1 with 0 devices
Jan 12 13:46:13 red_dragon console-kit-daemon[3917]: DEBUG: Current VT: tty2

Jan 12 13:46:13 red_dragon console-kit-daemon[3917]: DEBUG: Creating thread for vt 62
Jan 12 13:46:13 red_dragon console-kit-daemon[3917]: DEBUG: VT_WAITACTIVE for vt 62
Jan 12 13:46:13 red_dragon console-kit-daemon[3917]: DEBUG: Added seat: /org/freedesktop/ConsoleKit/Seat1
Jan 12 13:46:13 red_dragon console-kit-daemon[3917]: DEBUG: Writing log for event: 1231764373.278 type=SEAT_ADDED : seat-id='Seat1' seat-kind=0
Jan 12 13:46:13 red_dragon console-kit-daemon[3917]: CRITICAL: cannot initialize libpolkit
Jan 12 13:46:13 red_dragon console-kit-daemon[3917]: DEBUG: Destroying writer thread
Jan 12 13:46:13 red_dragon console-kit-daemon[3917]: DEBUG: Writer thread received None event - exiting
Jan 12 13:46:13 red_dragon console-kit-daemon[3917]: DEBUG: Joining writer thread
Comment by Lukas Jirkovsky (6xx) - Monday, 12 January 2009, 13:45 GMT
I've found where the problem was. Policykit needs support for inotify in kernel for running, which I didn't have. After compiling kernel with inotify support everything works fine. Sorry for inconvenience.
Comment by Jan de Groot (JGC) - Monday, 12 January 2009, 13:58 GMT
I think policykit isn't the only thing that breaks on a kernel without inotify support. Inotify is a common thing used by a lot of applications. Inotify is quite standard and is assumed to be available on every distribution that ships a recent version of glibc and a "recent" kernel.
Comment by CT (ctHx) - Monday, 12 January 2009, 22:57 GMT
I have the same bug, kde not started without dbus (kdebase-workspace 4.1.3-1 works ok)
if dbus started(rc.conf) i have first login failed (return to kdm), second ok


downgrade to 4.1.3-1 :)

Loading...