opensuse 11.4 -> 12.1 upgrade. kdm starts but does not display

Laptop previously ran opensuse 11.4, without issue.

Recently upgraded it to 12.1 using the DVD image upgrade. When the machine booted, where normally the kdm login manager appears, I got a very brief flash and then a console login prompt.

I hoped it was an issue already addressed, so ran yast’s online update from the console (actually a couple times, since some of the updates suggest rebooting).

Still getting the same behavior. Logging in as “root” and trying “etc/init.d/xdm restart” says its stopping and restarting kdm, and produces the same flicker, but nothing else. I can see kdm running using the usual tools (ps, or “pidof kdm”).

As root, doing “killall kdm && kdm” works fine though. I can then login as my normal user, and everything seems good (*).

Googling too many vaguely related hits (people with bad xorg settings, driver problems, etc). After manually restarting kdm, everything seems fine, so it doesn’t seem to be a driver issue. Both the 11.4 and the 12.1 installs used the nouveau driver (its not a NVidia driver issue).

I should probably also include that yes, the system is configured to boot into runlevel 5, which is in turn configured to start xdm, and appears to do so.

(*) Tangent footnote: not everything is good, I can no longer tap the touchpad to click, but that seems like a minor configuration issue, which I’m pursuing else where.

Original poster here… More info.

On the problem laptop, running 12.1, after initially booting, I ssh’d in and tried looking at the environment variables of the running kdm:
hp-gbn:/etc/init.d # pidof kdm
3564
hp-gbn:/etc/init.d # cd /proc/3564
hp-gbn:/proc/3564 # strings environ | sort
COLUMNS=180
CONSOLE=/dev/console
DAEMON=/opt/kde3/bin/kdm
KDEROOTHOME=/root/.kdm
LANG=en_US.UTF-8
LINES=56
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PREVLEVEL=N
PWD=/
QT_SYSTEM_DIR=/usr/share/desktop-data
REDIRECT=/dev/tty1
ROOTFS_BLKDEV=/dev/disk/by-id/scsi-SATA_ST98823AS_3PK0RKJ9-part2
ROOTFS_FSCK=0
ROOTFS_FSTYPE=ext3
RUNLEVEL=?
_=/sbin/startproc
SHLVL=1
splash=silent
WINDOWMANAGER=
XCURSOR_THEME=crystalwhite
hp-gbn:/proc/3564 # killall kdm && kdm
hp-gbn:/proc/3564 # pidof kdm
3849 3837
hp-gbn:/proc/3564 #

It seemed fishy that “RUNLEVEL=?”. I compared my opensuse 11.4 machine’s kdm environment, and it has “RUNLEVEL=5” which sounds better. I tried hardcoding “RUNLEVEL=5” in /etc/init.d/xdm and rebooted, but that didn’t change anything. That change is now taken back out.

Also, I notice that there is only one kdm running when the machine first boots. When I do “killall kdm && kdm” and the login GUI comes up, there are two kdm’s, neither being the original.

Try this log in to a terminal (press 3 at boot) as root

try starting run level 5 with

init 5

report errors

Booting into runlevel 3 hangs after:
Started LSB: SuSEfirewall2 phase 2 OK ]

I’ve waited 4 minutes so far, still no login prompt.

Oh wait. I hit enter, and suddenly a login prompt appears. Bizarre.

Manually switching to runlevel 5:
I get a similar screen flash (as on normal booting into runlevel 5), followed by “xdm[3755]: Starting service kdm…done” being left on the console. Still no kdm GUI.

The end of /var/log/messages has this (I’m not seeing anything related to kdm failing):
May 3 17:40:39 hp-gbn systemd-logind[867]: New session 2 of user root.
May 3 17:40:42 hp-gbn systemd[1]: NetworkManager.service: control process exited, code=exited status=1
May 3 17:40:42 hp-gbn systemd[1]: Job NetworkManager-wait-online.service/start failed with result ‘dependency’.
May 3 17:40:42 hp-gbn systemd[1]: Unit NetworkManager.service entered failed state.
May 3 17:40:42 hp-gbn systemd-readahead-replay[3764]: Bumped block_nr parameter of 8:0 to 16384. This is a temporary hack and should be removed one day.
May 3 17:40:42 hp-gbn systemd[1]: dev-sda1.swap swap process exited, code=exited status=255
May 3 17:40:42 hp-gbn systemd[1]: Unit dev-sda1.swap entered failed state.
May 3 17:40:43 hp-gbn xdm[3755]: Starting service kdm…done
May 3 17:40:45 hp-gbn acpid: 1 client rule loaded

On 2012-05-03 23:36, gre gyu wrote:
>
> Laptop previously ran opensuse 11.4, without issue.
>
> Recently upgraded it to 12.1 using the DVD image upgrade.

Offline upgrade method

Have a look at that, there are some things to do after an upgrade.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

Original poster, more poking around…

I logged in and looked at the command line being used to start the initial kdm. Strange, its running “/opt/kde3/bin/kdm” Typing “which kdm” yields “/usr/bin/kdm”. This is probably why my “killall kdm && kdm” as root works.

If I “killall kdm”, and then run “/opt/kde3/bin/kdm”, I get the same screen flash and nothing else behaviour.

So now I guess the question is: why is /etc/init.d/xdm calling what appears to be the wrong executables?

Looking back, this is also the same value in the DAEMON variable.

I temporarily moved /opt/kde3/bin/kdm, and made it a symbolic link to /usr/bin/kdm, but that didnt fix it.

Terminal log:
Have a lot of fun…
hp-gbn:~ # pidof kdm
3543
… I spent some time reading /etc/init.d/xdm some more, decided to look at the command line being passed
hp-gbn:/etc/init.d # cat /proc/3543/cmdline
/opt/kde3/bin/kdmhp-gbn:/etc/init.d # strings /proc/3543/cmdline
/opt/kde3/bin/kdm
hp-gbn:/etc/init.d # which kdm
/usr/bin/kdm
hp-gbn:/etc/init.d # cd /opt/kde3/bin
hp-gbn:/opt/kde3/bin # mv kdm kdm-mine
hp-gbn:/opt/kde3/bin # l kdm*
-rwxr-xr-x 1 root root 32680 Mar 5 06:50 kdm_config*
-rwxr-xr-x 1 root root 9784 Mar 5 06:50 kdmctl*
-rwxr-xr-x 1 root root 337528 Mar 5 06:50 kdm_greet*
-rwxr-xr-x 1 root root 150716 Mar 5 06:50 kdm-mine*
hp-gbn:/opt/kde3/bin # stat kdm-mine
File: `kdm-mine’
Size: 150716 Blocks: 304 IO Block: 4096 regular file
Device: 802h/2050d Inode: 940530 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2012-03-05 06:50:13.000000000 -0600
Modify: 2012-03-05 06:50:13.000000000 -0600
Change: 2012-05-03 18:12:07.000000000 -0500
Birth: -
hp-gbn:/opt/kde3/bin # ln -s /usr/bin/kdm kdm
hp-gbn:/opt/kde3/bin # l kdm
lrwxrwxrwx 1 root root 12 May 3 18:12 kdm → /usr/bin/kdm*
hp-gbn:/opt/kde3/bin # killall kdm
kdm: no process found
hp-gbn:/opt/kde3/bin # /opt/kde3/bin/kdm

I verified that DISPLAYMANAGER in /etc/init.d/xdm had “/opt/kde3/bin/kdm”

I hardcoded it to have “/usr/bin/kdm” just before the call to startproc, and rebooted. kdm now starts correctly: I get a GUI login screen. I haven’t yet tracked down why it pointed to the wrong executable.

SDB:Offline upgrade - openSUSE is a long page. I’ll try some of its tips this evening.

On 2012-05-04 01:56, gre gyu wrote:
>
> I verified that DISPLAYMANAGER in /etc/init.d/xdm had
> “/opt/kde3/bin/kdm”

You are using kde3, this is not upgraded by the DVD. It has to be upgraded
separately.

> ‘SDB:Offline upgrade - openSUSE’
> (http://en.opensuse.org/SDB:Offline_upgrade) is a long page. I’ll try
> some of its tips this evening.

I got tired of writing the same tips again and again :slight_smile:


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

> You are using kde3, this is not upgraded by the DVD. It has to be upgraded
> separately.

Actually, no. I haven’t used KDE3 since the openSuse 10.x series, I think.

Though, I would not be suprised if there are indeed KDE3 executables on my machine, which apparently there are. From the best of my recollection, this is the laptop’s OS history (all of these being openSuse):
10.1 (new installation) -> 10.3 (upgrade) -> 11.4 (upgrade) -> 12.1 (upgrade). There may have been an 11.2 upgrade in there.

But I don’t think that the “/etc/init.d/xdm” (or something it calls) script should be finding “/opt/kde3/bin/kdm” in preference to “/usr/bin/kdm”. Not when I haven’t explicitly chosen anywhere to run a KDE3 desktop.

The Offline Update article may shed some light. I did not have time to mess with it further last night.

In yast, I did find that a handful of seemingly random kde3 packages were installed, one of them being kdebase3-kdm. I uninstalled that one, and took out any “/etc/init.d/xdm” changes I made, and rebooted.

Seems to have solved the issue.

On 2012-05-04 18:06, gre gyu wrote:
>
> In yast, I did find that a handful of seemingly random kde3 packages
> were installed, one of them being kdebase3-kdm. I uninstalled that one,
> and took out any “/etc/init.d/xdm” changes I made, and rebooted.
>
> Seems to have solved the issue.

The clearing out of those stale things is explained in the documentation I
pointed you to. People say that upgrades fail often, but it is because they
don’t do it properly.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)