boot hangs on splash screen, doesn't switch to KDM

Bug #538524 reported by Yuriy Kozlov
140
This bug affects 23 people
Affects Status Importance Assigned to Milestone
kdebase-workspace (Ubuntu)
Invalid
High
Unassigned
Lucid
Invalid
High
Unassigned
plymouth (Ubuntu)
Fix Released
High
Scott James Remnant (Canonical)
Lucid
Fix Released
High
Scott James Remnant (Canonical)

Bug Description

Binary package hint: plymouth

I am running Kubuntu Lucid 10.04, installed from Alpha 3 with an ATI Radeon R4550 with the open source driver (that is, no additional drivers installed).

I just upgraded to a working plymouth+mountall:
ii mountall 2.8 filesystem mounting tool
ii plymouth 0.8.0~-14 graphical boot animation and logger - main package

My system boots, but hangs on the splash screen. I cannot use ctrl+alt+f* to switch to KDM or a terminal. However, I can SSH in and the system appears to be up and KDM is running. Strangely I had two of these processes running:
xinit /etc/gdm/failsafeXinit /etc/X11/xorg.conf.failsafe -- /usr/bin/X -br -once -config /etc/X11/xorg.conf.failsafe -
even though I do not have GDM installed.

As a side note, I tried reporting this using apport (ubuntu-bug) but I get this error: "Cannot connect to crash database, please check your Internet connection."

Revision history for this message
Yuriy Kozlov (yuriy-kozlov) wrote :

The system boots fine if I add the 'nomodeset' boot argument.

Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Same story here with Intel. ~-14 broke it all. :(
Most likely affects all Kubuntu users.

Changed in plymouth (Ubuntu):
importance: Undecided → High
status: New → Confirmed
milestone: none → ubuntu-10.04-beta-1
Revision history for this message
Cedric (cedric-brandenbourger-deactivatedaccount-deactivatedaccount) wrote :

Can confirme this with nvidia

Revision history for this message
Jonathan Thomas (echidnaman) wrote :

This is what the bootchart from an affected system looks like. Confirms that kdm indeed loads, but never appears since plymouth hangs.

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

KDM needs to be patched in the same way that GDM was - after calling plymouth deactivate, it should call plymouth --has-active-vt to decide whether or not to reuse the VT. If plymouth has no active VT, KDM should instruct plymouth to quit immediately and then use its own vt after

affects: plymouth (Ubuntu) → kdebase-workspace (Ubuntu)
Changed in kdebase-workspace (Ubuntu):
status: Confirmed → In Progress
Changed in kdebase-workspace (Ubuntu Lucid):
assignee: nobody → Mackenzie Morgan (maco.m)
Revision history for this message
Hans-Peter (hanspeterg) wrote :

Exact same story here with a Radeon 3100. Kerneloption 'nomodeset' brings up kdm.

tags: added: kubuntu
Revision history for this message
Goh Lip (gohlip) wrote :

If at grub menu, delete 'splash', will it still boot?
Refer my bug report 537853.

Revision history for this message
Steve Langasek (vorlon) wrote :

I see that kdm does have a patch, kubuntu_104_kdm_active_vt_plymouth.diff, which is meant to make kdm take over smoothly from plymouth. However, plymouth's upstart job is currently configured "stop on starting kdm", so kdm will never be able to query plymouth for the active VT because it's already stopped before kdm starts.

That being the case, I can't actually see how the current problem is a kdm bug /at all/. The only thing the kdm patch does is check /var/spool/gdm/force-display-on-active-vt to decide whether to use the current VT, and I don't see anything that would create that file. So the current kdm implementation should *always* start X on a new VT, AFAICS.

Revision history for this message
Mackenzie Morgan (maco.m) wrote : Re: [Bug 538524] Re: boot hangs on splash screen, doesn't switch to KDM

Scott's latest patch to gdm checks to see if plymouth's running and if it is
whether it has the active vt, and if it does, starts gdm. If it doesn't have
the active vt, it kills plymouth and starts gdm. Is this a workaround for
plymouth not quitting properly on starting gdm either, or...?

Revision history for this message
Steve Langasek (vorlon) wrote :

<Keybuk> the only way to get that is to call plymouth quit --retain-splash without ever calling plymouth deactivate first
<Keybuk> but that's nasty
<slangasek> Keybuk: aren't we doing exactly that right now in every case except the gdm case?
<Keybuk> no
<Keybuk> oh
<Keybuk> right, kdm + xdm do that
<Keybuk> maybe that's the kdm bug ;)
<slangasek> yep
<Keybuk> well, maybe that's the plymouth half
<Keybuk> an important spring has broken in whatever followed
<Keybuk> X failed to start or whatever
<Keybuk> but plymouth left the kernel in a silly state
<Keybuk> so you never get to see the true failure
<Keybuk> now I type, I remember something about failsafe in their ps

So, could those seeing this bug with Kubuntu try editing the pre-stop script in /etc/init/plymouth.conf to read as follows:

pre-stop script
    if [ "$UPSTART_EVENTS" = starting ] && ( [ "$JOB" = kdm ] || [ "$JOB" = xdm ]); then
        plymouth deactivate
        retain_splash=--retain-splash
    fi
    exec plymouth quit $retain_splash
end script

and report back whether this helps?

Revision history for this message
Steve Langasek (vorlon) wrote :

Mackenzie, it's not a workaround for plymouth not quitting properly on starting gdm, it's the code that's necessary to provide a smooth, flicker-free transition from plymouth to X. To get the same flicker-free behavior on Kubuntu, similar handling will need to be implemented in kdm, but the current buggy behavior is orthogonal to this - plymouth itself is misbehaving when stopping on kdm start.

Revision history for this message
Mackenzie Morgan (maco.m) wrote :

For real this time ;-) forgot to gpg sign the email last time

 assignee nobody

Changed in kdebase-workspace (Ubuntu Lucid):
assignee: Mackenzie Morgan (maco.m) → nobody
status: In Progress → Triaged
Revision history for this message
Joe Crollard (joe-crollard) wrote :

Steve Langasek: I tried your edit, but it didn't fix the problem. With that script, the splash screen simply cuts off in a few seconds, and all I'm left with is a black screen.

Revision history for this message
Steve Langasek (vorlon) wrote :

Joe,

Please show the contents of both /proc/fb and /proc/cmdline. You may need to hit Alt+F1 to get back to a console login.

I've just tested, and am unable to reproduce this problem on a system with intel KMS video; the transition to kdm isn't smooth, but certainly doesn't hang.

Revision history for this message
Steve Langasek (vorlon) wrote :

Ok, this was a red herring because the code in the plymouth pre-stop job *never* matches: $UPSTART_EVENTS is not set when the job is being stopped, instead the variable set is $UPSTART_STOP_EVENTS. So the plymouth job itself is buggy, but that doesn't bring us any closer to understanding this failure (and in fact, when I query $UPSTART_STOP_EVENTS correctly, and call 'plymouth deactivate' before calling 'plymouth quit --retain-splash', the console hangs and I have to issue an Alt+SysRq+K to get it back - after which kdm *does* start up).

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

On Tue, 2010-03-16 at 01:12 +0000, Mackenzie Morgan wrote:

> Scott's latest patch to gdm checks to see if plymouth's running and if it is
> whether it has the active vt, and if it does, starts gdm. If it doesn't have
> the active vt, it kills plymouth and starts gdm.
>
The other part of the patch (which is just as important, btw) is that
after X has been started by gdm, it runs plymouth quit --retain-splash.
This means "all is well, now you can quit".

If X fails to start, it runs just plymouth quit; this means "X failed,
please clean up VT7 and restore the text console".

KDM really should be doing the exact same transition. Jonathan had a
work item which he's marked DONE, I guess it isn't.

Scott
--
Scott James Remnant
<email address hidden>

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

On Tue, 2010-03-16 at 02:41 +0000, Steve Langasek wrote:

> So, could those seeing this bug with Kubuntu try editing the pre-stop
> script in /etc/init/plymouth.conf to read as follows:
>
> pre-stop script
> if [ "$UPSTART_EVENTS" = starting ] && ( [ "$JOB" = kdm ] || [ "$JOB" = xdm ]); then
> plymouth deactivate
> retain_splash=--retain-splash
> fi
> exec plymouth quit $retain_splash
> end script
>
> and report back whether this helps?
>
Actually, this isn't quite right.

Just comment out the existing "kdm" line - and see what happens then ;-)

Scott
--
Scott James Remnant
<email address hidden>

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

On Tue, 2010-03-16 at 07:37 +0000, Steve Langasek wrote:

> I've just tested, and am unable to reproduce this problem on a system
> with intel KMS video; the transition to kdm isn't smooth, but certainly
> doesn't hang.
>
My hunch is that this actually isn't a Plymouth bug - that there's
another bug which is unrelated. But since Plymouth for KDM uses the
"freeze the screen" transition method, you can never see the real bug
that follows.

Scott
--
Scott James Remnant
<email address hidden>

Changed in plymouth (Ubuntu Lucid):
status: New → Confirmed
importance: Undecided → Medium
tags: added: iso-testing
Revision history for this message
Goh Lip (gohlip) wrote :

Commenting out the kdm line (Scott James Remnant) in pre-stop script behaves exactly like booting up grub without 'splash'. It boots alright but without the plymouth splash (small ubuntu text with 5 red dots). Shutting down has the plymouth screen, like booting without splash.

Revision history for this message
Goh Lip (gohlip) wrote :

Modifying plymouth.conf as per Steve Langasek leaves the plymouth screen hanging, confirming Joe Crollard findings. Had to force reboot.

Revision history for this message
Steve Langasek (vorlon) wrote :

Goh Lip,

Please post exactly what you have now as your plymouth.conf file. After editing, the file you have should look like the one attached; I suspect that you commented out the wrong line and broke the syntax of the upstart job instead. If yours is different, please retest with the one I've attached here.

Revision history for this message
Steve Langasek (vorlon) wrote :

This bug has been diagnosed now, and is in progress - the problem is that plymouth quit --retain-splash now works as designed, but this is something kdm isn't expecting.

On the plymouth side, Scott has committed to dropping the --retain-splash argument when plymouth is stopped by kdm, after which kdm should start smoothly, but not flicker-free. For release, we would still want to get kdm to interact directly with plymouth the way gdm does, for a smooth transition to X.

Changed in plymouth (Ubuntu Lucid):
assignee: nobody → Scott James Remnant (scott)
milestone: none → ubuntu-10.04-beta-1
status: Confirmed → In Progress
importance: Medium → High
Changed in kdebase-workspace (Ubuntu Lucid):
milestone: ubuntu-10.04-beta-1 → ubuntu-10.04-beta-2
Changed in plymouth (Ubuntu Lucid):
status: In Progress → Fix Committed
Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

There's a new plymouth package in my PPA - https://launchpad.net/~scott/+archive/ppa

Please try it and see whether it fixes this bug for you

Revision history for this message
Goh Lip (gohlip) wrote :

@Steve Langasek, attached is my plymouth.conf

Good call, I think i've comment out the "fi" as well. Will amend and report back as soon as this report is sent.
Thanks!

Revision history for this message
Goh Lip (gohlip) wrote :

To avoid errors, copied and paste your plymouth.conf. However result is same; ie, plymouth splash does not appear at boot up (but boots okay to lucid).

Thanks again.

Revision history for this message
Goh Lip (gohlip) wrote :

Added Scott's ppa to repo, rebooted. same as before (boots to lucid okay, no plymouth splash).
Rebooted to be sure, and (luck of luck), the plymouth splash appears with the disk check (for 30 mounts).
And to make doubly sure, rebooted one more time, (of course disk check will not be there); the plymouth splash did not appear as before, but noticed a flicker of very dim light, (could it be the plymouth splash appears but was too fast for me to notice?). Noted there is no time entry in plymouth.conf.

Attaching new plymouth.conf based on Scott's ppa just to be sure.

Thanks again.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package plymouth - 0.8.0~-15

---------------
plymouth (0.8.0~-15) lucid; urgency=low

  * debian/plymouth.upstart, debian/plymouth.plymouth-stop.upstart:
    - Replace the "stop on" clause in plymouth's own job with a job that
      handles stopping plymouth for the normal cases.

      For a display manager that handles the plymouth transition properly
      (gdm & ubiquity only at this point), this simply appears to be running
      until plymouth is stopped by that display manager. This blocks plymouth
      from being stopped for other reasons, e.g. rc2 exiting. LP: #538214.

      For other display managers, and when we reach the end of rc2 or
      other reasons, this simply asks plymouth to quit. We never use
      --retain-splash, if the display manager can't do plymouth transitions,
      we never want to leave the VT in KD_GRAPHICS in case the display
      manager gets things wrong (hi, kdm!). LP: #538524.
  * debian/plymouth.plymouth-splash.upstart:
    - Add LXDM. LP: #526748

  * debian/plymouth.plymouth-splash.upstart:
    - Remove the "starting gdm" bit from the job, since that won't have any
      effect (job is already started by the time gdm is); and as a result of
      the above changes could end up with plymouth --show-splash and quit
      being called together if someone runs "start gdm" themselves.
 -- Scott James Remnant <email address hidden> Wed, 17 Mar 2010 01:19:37 +0000

Changed in plymouth (Ubuntu Lucid):
status: Fix Committed → Fix Released
Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

On Wed, 2010-03-17 at 00:37 +0000, Goh Lip wrote:

> To avoid errors, copied and paste your plymouth.conf. However result is
> same; ie, plymouth splash does not appear at boot up (but boots okay to
> lucid).
>
Splash screen not appearing is fine ;) usually means your computer just
booted too fast

Scott
--
Scott James Remnant
<email address hidden>

Revision history for this message
Goh Lip (gohlip) wrote :

Okay, thanks a lot, everybody.
Have fun. I sure did.

Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Yay, KDM now shows up as expected.

Jonathan Riddell (jr)
Changed in kdebase-workspace (Ubuntu Lucid):
status: Triaged → Invalid
Revision history for this message
Jonathan Riddell (jr) wrote :

I reported bug 540177 to keep track of the smooth transition issue

Revision history for this message
Leo Milano (lmilano) wrote :

I can confirm the fix here, too (Radeon HD3450, Kubuntu Lucid, KMS). Great work!

I'll follow up in the smooth transition bug 540177

Revision history for this message
Markus Birth (mbirth) wrote :

I just have the same problem with GDM and an ATI HD4670. (Lucid as of now) I believe it has to do with the fglrx (I'm using the just released one) not liking the "radeon" kernel driver. Leaving everything as it is, I can see the splash (graphically) but it then goes all purple and nothing more happens. The keyboard is dead at this moment.

The things to make it work are:
  1. "nomodeset" kernel parameter, or
  2. "radeon.setmode=0" kernel parameter, or
  3. blacklisting the "radeon" module followed by update-initramfs

But then I only see the text mode splash. :(

Revision history for this message
Steve Langasek (vorlon) wrote :

Markus, please file a separate bug report.

Revision history for this message
Alvin (alvind) wrote :

This is fixed, but I have exactly the same symptoms (splash, no tty acces, ssh works, no kdm)
plymouth is version 0.8.2-2ubuntu2

Before I file a new bug that gets marked as duplicate because the description is exactly the same, I want to ask for pointers as to where to search. This system is a recent update from karmic. No alpha or beta version has been on the machine.

Revision history for this message
hump (roland-wagner) wrote :

Als Alvin mentioned, also seems NOT fixed to me.

I have the same symptoms on my laptop after updating from 9.10 to 10.04, all packaged updated.

Do I have to add Scotts PPA (https://launchpad.net/~scott/+archive/ppa) for the fixed version or is it integrated in the official repositories?

Revision history for this message
Rolf Bensch (rolfbensch) wrote :

This is also not fixed for me. I have the same symptoms as Alvin described.

I'm using a fresh installed Kubuntu with the latest upgrades. X server runs with NVIDIA driver.

Revision history for this message
Rolf Bensch (rolfbensch) wrote :

Addendum to my last comment.

It seems that this problem occurs:
- only at a cold boot.
- never at a warm boot (reboot).
- only with proprietray NVIDIA graphics driver (never with nouveau).

Revision history for this message
hump (roland-wagner) wrote :

to me it occurs always on cold boot, but sometimes on warm boot everything is fine. proprietary NVIDIA installed.

Revision history for this message
Cedric (cedric-brandenbourger-deactivatedaccount-deactivatedaccount) wrote :

Can confirm, il only occurs on cold boot, and never on warm boot.
I got the same problems with nouveau, but less often than with nvidia drivers.
Hope this will be fixed soon, it's quite annoying

Revision history for this message
noah anderson (raoul-fleckman) wrote :

Yet another confirmation. Hangs at around or greater than 50% of cold boot only. Alt-SyRq(sueb) pulls it around and it boots every-time. When it freezes it's on the ugly splash screen with all the dots turned on. nvidia card. Kubuntu/Ubuntu 10.04

Revision history for this message
Cedric (cedric-brandenbourger-deactivatedaccount-deactivatedaccount) wrote :

Here is what i found in my kdm.log
This bug is quite annoying, because it affects nouveau and nvidia drivers.

Revision history for this message
Retromingent (ray-rwalk2730) wrote :

This problem was fixed for me just by doing "dpkg-reconfigure kdm". After that, the switch from Plymouth to KDM worked fine. Also, I am running the splash screen with "nomodeset" in Grub. That's because I'm using the Nvidia proprietary driver.

Revision history for this message
Alvin (alvind) wrote :

I don't think this has anything to do with video drivers. It occurs randomly on some machines and always on others.
The problem never occurs when 'quiet splash' is removed from GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub
(Thread on kubuntu-users: https://lists.ubuntu.com/archives/kubuntu-users/2010-July/051527.html )

Revision history for this message
Alvin (alvind) wrote :

I installed Maverick (beta, daily build) and this bug occured on the first boot. KDM appeared after a reboot. I see this every day on 8 computers (all Lucid). Rebooting as a workaround is acceptable but irritating. Please consider reopening the bug.

Revision history for this message
robert leleu (robert-jean-leleu) wrote :

 2 days ago I applied the suppression given in #44
it works.

Revision history for this message
Scott Kitterman (kitterman) wrote :

Those of you still having problems, you should file a new bug. This one is fixed and adding to it is a source of confusion.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.