usplash hangs with kernel Ubuntu 2.6.31-14.46-generic, works with 2.6.31-13

Bug #451571 reported by Matej Kenda
44
This bug affects 6 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
High
Canonical Kernel Team
Karmic
Won't Fix
High
Stefan Bader
usplash (Ubuntu)
Invalid
High
Unassigned
Karmic
Won't Fix
High
Unassigned

Bug Description

Binary package hint: usplash

The laptop Compaq Evo N1015v doesn't start if usplash is enabled on boot. The issue appeared after installing the kernel 2.6.31-14.46-generic. usplash works properly with kernel 2.6.31-13.

Screen goes blank and the fan speed increases. I waited for a while, but the boot didn't proceed. I had to force power off by holding down the power key.

Thinks I tried (from https://wiki.ubuntu.com/DebuggingUsplash):

* Removing boot options one by one: by removing the "splash" kernel option the laptop booted properly
* "sudo usplash -c -v >/tmp/usplash.log 2>&1": screen went black in the same manner. Laptop needed to be power cycled.

ProblemType: Bug
Architecture: i386
CheckboxSubmission: fd17ddbce499316ea5512e53f255b019
CheckboxSystem: 79d4f9e1ffc31ae443cb2de53cd33e42
Date: Wed Oct 14 21:14:13 2009
DistroRelease: Ubuntu 9.10
Lsusb:
 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
MachineType: Compaq Presario
Package: usplash 0.5.44
PccardctlIdent:
 Socket 0:
   no product info available
PccardctlStatus:
 Socket 0:
   no card
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.31-14-generic root=UUID=737a8285-476e-4d78-9849-96d939d64b95 ro crashkernel=384M-2G:64M,2G-:128M quiet lapic
ProcEnviron:
 LANG=sl_SI.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-14.46-generic
SourcePackage: usplash
Uname: Linux 2.6.31-14-generic i686
UsplashConf:
 # Usplash configuration file
 xres=1024
 yres=768
dmi.bios.date: 11/25/2003
dmi.bios.vendor: Phoenix
dmi.bios.version: 0F0B
dmi.board.name: 07D4h
dmi.board.vendor: Compaq
dmi.board.version: KBC Revision: 1328
dmi.chassis.type: 10
dmi.chassis.vendor: Compaq
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnPhoenix:bvr0F0B:bd11/25/2003:svnCompaq:pnPresario:pvr0100:rvnCompaq:rn07D4h:rvrKBCRevision1328:cvnCompaq:ct10:cvrN/A:
dmi.product.name: Presario
dmi.product.version: 0100
dmi.sys.vendor: Compaq

Revision history for this message
Matej Kenda (matejken) wrote :
Revision history for this message
Matej Kenda (matejken) wrote :

Log file created with "sudo usplash -c -v >/tmp/usplash.log 2>&1" was empty.

Matej Kenda (matejken)
tags: added: regression-potential
Revision history for this message
Matej Kenda (matejken) wrote :

Situation is the same with updated kernel:

$ cat /proc/version_signature
Ubuntu 2.6.31-14.47-generic

Revision history for this message
Matej Kenda (matejken) wrote :

usplash still hangs with the today's updates:

$ dpkg -l usplash
+++-=================-=================-==================================================
ii usplash 0.5.46 Userspace bootsplash utility

$ cat /proc/version_signature
Ubuntu 2.6.31-14.48-generic

I had to remove "splash" from /etc/default/grub.cfg to be able to use the laptop.

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

Thank you for taking the time to report this bug and help to improve Ubuntu.

You mention that running usplash by hand also causes a hang. If you boot the old 2.6.31-13 kernel without the 'splash' option, and then run usplash by hand after boot, does it hang as well?

If so, the difference is probably that you have a different version of usplash in the initramfs for your older kernel. In that case, can you forward us a copy of /var/log/apt/term.log, to see which version of usplash is in your initramfs?

Changed in usplash (Ubuntu):
importance: Undecided → High
status: New → Incomplete
Revision history for this message
Matej Kenda (matejken) wrote :

Please find term.log attached.

I have also recompiled usplash using the latest sources. I added additional traces to identify where it hangs. I will run it on both versions of the kernel and post logs.

Revision history for this message
Matej Kenda (matejken) wrote :

When usplash is manually started on 2.6.31-13, the logo is displayed.

Output after switching back to VT7:

# usplash -v -c
usplash: can't get console font: Invalid argument
ioctl(TIOCSCTTY): Operation not permitted

Revision history for this message
Matej Kenda (matejken) wrote :

I ran modified usplash on both versions of the kernel.

As already mentioned, the logo fades in and out on -13, but hangs on -14.

Additional that I added traces mostly show function entry points. I hope that they will be helpful.

Sample traces look like the one below:

fprintf(usplash_log, "%s: Entered:\n", __FUNCTION__); fflush(usplash_log); sync(); usleep(50000);

The computer hangs on 2.6.13-14 so badly that even Alt-SysRq doesn't work.

Revision history for this message
Matej Kenda (matejken) wrote :
Revision history for this message
Matej Kenda (matejken) wrote :
Revision history for this message
Matej Kenda (matejken) wrote :

apport picked one of the crashed that I triggered during the testing. The report is in the bug 454958. I hope that information from there will be helpful.

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

Ok, if running the same version of usplash works on 2.6.31-13 but hangs on 2.6.31-14, there's clearly a kernel component here; opening a task on the linux package.

The only change mentioned in the changelog that looks suggestive to me is:

  * ACPI: fix Compaq Evo N800c (Pentium 4m) boot hang regression

But I don't know how the Evo N800c compares to the N1015v hardware-wise.

Changed in linux (Ubuntu Karmic):
importance: Undecided → High
Revision history for this message
Matej Kenda (matejken) wrote :
Revision history for this message
Matej Kenda (matejken) wrote :

I managed to locate the line in the usplash code, where everything stops.

file vga.c, function save_text(void):

static void save_text(void)
{

#ifndef BACKGROUND
    text_buf1 = malloc(TEXT_SIZE * 2);
#endif
#ifdef BACKGROUND
        text_buf1 = valloc(TEXT_SIZE * 2);
#endif
        text_buf2 = text_buf1 + TEXT_SIZE;

        port_out(0x04, GRA_I);
        port_out(0x00, GRA_D);
#ifdef __alpha__
        port_out(0x06, GRA_I);
        port_out(0x00, GRA_D);
#endif
#if defined(CONFIG_ALPHA_JENSEN)
        slowcpy_from_sm(text_buf1, SM, TEXT_SIZE);
#else
        slowcpy(text_buf1, GM, TEXT_SIZE); /// < ---- Hangs here
#endif

        /* save font data in plane 3 */
        port_out(0x04, GRA_I);
        port_out(0x01, GRA_D);

Changed in linux (Ubuntu Karmic):
assignee: nobody → Canonical Kernel Team (canonical-kernel-team)
Changed in linux (Ubuntu Karmic):
status: New → Triaged
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Matej,

I notice you're also booting with "lapic" for the 2.6.31-14 kernel. Are you booting the 2.6.31-13 kernel with this lapic param as well? Can you attach your full dmesg output after booting 2.6.31-13? Can you also attach your dmidecode? ie.

sudo dmidecode >dmidecode.log

I'm also unable to view your other bug 454958, did you mark it as private?

Changed in linux (Ubuntu Karmic):
status: Triaged → Incomplete
Revision history for this message
Matej Kenda (matejken) wrote :

Hi Leann,

"lapic" is used when booting both versions of the kernel.

I removed the "private" flag from the bug 454958. I closed it as invalid: usplash from the installation package used my custom libusplash because I had LD_LIBRARY_PATH set.

I will provide additional information in the evening (CET).

Revision history for this message
Matej Kenda (matejken) wrote :
Revision history for this message
Matej Kenda (matejken) wrote :
Revision history for this message
Matej Kenda (matejken) wrote :

I tried to boot 2.6.31-14 with "quiet usplash" without "lapic". Didn't change the behaviour.

Revision history for this message
Stefan Bader (smb) wrote :

The Evo patch mentioned above should have no impact as the change would not get triggered for cpu family 6. Interestingly the instruction which seems to cause the hang is a simple copy. Matej, would it be possible to modify your code in a way, that you can capture the three values to it (the two addresses and the size) in the working and non-working case?

Revision history for this message
Evan (halful01) wrote :

Hi,
I think this bug is affecting me as well, though I a relative newbie. I have a dvi to hdmi connection for my monitor. When I have this monitor connected the computer all I get after grub is a blank screen ( and I can't ssh to my computer, no matter how long I wait). The computer boots fine if it is headless or if I attach my monitor and my friend's monitor (dvi to vga) at the same time.
After reading this bug I disabled the splash screen at boot using grub and now the computer boots fine with just my monitor attached (although it doesn't look as stylish).
I'd like to help if I can.
Thanks,
Evan

Revision history for this message
Matej Kenda (matejken) wrote :

I added traces to slow_copy and ran on both versions of the kernel.

-- 2.6.31-13

save_text: Entered.
slowcpy: dest = 0x8243648, src=0xb77fd000, bytes=65536
slowcpy: dest = 0x8253648, src=0xb77fd000, bytes=65536
slowcpy: dest = 0x8263650, src=0xb77fd000, bytes=32768
slowcpy: dest = 0x826b650, src=0xb77fd000, bytes=32768

-- 2.6.31-14

save_text: Entered.
slowcpy: dest = 0x8c46648, src=0xb781e000, bytes=65536

Revision history for this message
Matej Kenda (matejken) wrote :

By adding additional trace into the while loop itself, the trace contains:

save_text: Entered.
slowcpy: dest = 0x850a648, src=0xb7817000, bytes=65536
slowcpy: while(bytes = 65535)

This means that the bad thing happens when copying the first byte.

Revision history for this message
Stefan Bader (smb) wrote :

The pointers seem at least initialized and really not much different between. As a bit of a stab in the dark (as the only really different thing in the dmesg seemed to be that), could you try to boot a -14 kernel with the option "nomce" added to the grub kernel arguments. Does this make a difference?

Stefan Bader (smb)
Changed in linux (Ubuntu Karmic):
assignee: Canonical Kernel Team (canonical-kernel-team) → Stefan Bader (stefan-bader-canonical)
Revision history for this message
Matej Kenda (matejken) wrote :

I'll try booting with "nomce".

Just a side note: there are issues with suspend/resume on this computer as well (bug 437323). Is it possible that these two things are related somehow?

Revision history for this message
Stefan Bader (smb) wrote : Re: [Bug 451571] Re: usplash hangs with kernel Ubuntu 2.6.31-14.46-generic, works with 2.6.31-13

> Just a side note: there are issues with suspend/resume on this computer
> as well (bug 437323). Is it possible that these two things are related
> somehow?

If those issues started around the same time, maybe. But we better do one
step after the other. Trying out is better than guessing. ;)

Revision history for this message
Matej Kenda (matejken) wrote :

Stefan,

usplash works just fine if I use "nomce" boot option.

Revision history for this message
Stefan Bader (smb) wrote :

> usplash works just fine if I use "nomce" boot option.

Oh dear, alright. So according to the documentation "mce=3" should,
in theory, turn panics which are cause by machine checks, into
warnings. If this works too, can you attach the dmesg of that run
for me? Thanks.

Revision history for this message
Matej Kenda (matejken) wrote :

Tried that, but unfortunately didn't work: system hung as before.

According to Documentation/x86/x86_64/machinecheck:

        Note this only makes a difference if the CPU allows recovery
        from a machine check exception. Current x86 CPUs generally do not.

Revision history for this message
Stefan Bader (smb) wrote :

Sometimes the doc is slightly outdated, so it was at least worth a try. There might be one thing to try with a different option approach. But before that...

Evan, could you try whether nomce works for you too and if yes, tell me which architecture you are running (i386 or amd64) and post your output of "cat /proc/cpuinfo". Thanks

Revision history for this message
Evan (halful01) wrote : Re: [Bug 451571] Re: usplash hangs with kernel Ubuntu 2.6.31-14.46-generic, works with 2.6.31-13
  • cpuinfo.txt Edit (2.9 KiB, text/plain; charset=US-ASCII; name="cpuinfo.txt")

I tried booting (2.6.31-14-generic) with the kernel options "ro quiet splash
nomce" and my computer still hung until I unplugged/re-plugged the monitor
cable. I'm running 64 bit ubuntu 9.10. I've attached /proc/cpuinfo. Hope it
helps.
-Evan

On Thu, Nov 5, 2009 at 3:50 PM, Stefan Bader <email address hidden>wrote:

> Sometimes the doc is slightly outdated, so it was at least worth a try.
> There might be one thing to try with a different option approach. But
> before that...
>
> Evan, could you try whether nomce works for you too and if yes, tell me
> which architecture you are running (i386 or amd64) and post your output
> of "cat /proc/cpuinfo". Thanks
>
> --
> usplash hangs with kernel Ubuntu 2.6.31-14.46-generic, works with 2.6.31-13
> https://bugs.launchpad.net/bugs/451571
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in “linux” package in Ubuntu: Incomplete
> Status in “usplash” package in Ubuntu: Incomplete
> Status in “linux” source package in Karmic: Incomplete
> Status in “usplash” source package in Karmic: Incomplete
>
> Bug description:
> Binary package hint: usplash
>
> The laptop Compaq Evo N1015v doesn't start if usplash is enabled on boot.
> The issue appeared after installing the kernel 2.6.31-14.46-generic. usplash
> works properly with kernel 2.6.31-13.
>
> Screen goes blank and the fan speed increases. I waited for a while, but
> the boot didn't proceed. I had to force power off by holding down the power
> key.
>
> Thinks I tried (from https://wiki.ubuntu.com/DebuggingUsplash):
>
> * Removing boot options one by one: by removing the "splash" kernel option
> the laptop booted properly
> * "sudo usplash -c -v >/tmp/usplash.log 2>&1": screen went black in the
> same manner. Laptop needed to be power cycled.
>
> ProblemType: Bug
> Architecture: i386
> CheckboxSubmission: fd17ddbce499316ea5512e53f255b019
> CheckboxSystem: 79d4f9e1ffc31ae443cb2de53cd33e42
> Date: Wed Oct 14 21:14:13 2009
> DistroRelease: Ubuntu 9.10
> Lsusb:
> Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> MachineType: Compaq Presario
> Package: usplash 0.5.44
> PccardctlIdent:
> Socket 0:
> no product info available
> PccardctlStatus:
> Socket 0:
> no card
> ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.31-14-generic
> root=UUID=737a8285-476e-4d78-9849-96d939d64b95 ro
> crashkernel=384M-2G:64M,2G-:128M quiet lapic
> ProcEnviron:
> LANG=sl_SI.UTF-8
> SHELL=/bin/bash
> ProcVersionSignature: Ubuntu 2.6.31-14.46-generic
> SourcePackage: usplash
> Uname: Linux 2.6.31-14-generic i686
> UsplashConf:
> # Usplash configuration file
> xres=1024
> yres=768
> dmi.bios.date: 11/25/2003
> dmi.bios.vendor: Phoenix
> dmi.bios.version: 0F0B
> dmi.board.name: 07D4h
> dmi.board.vendor: Compaq
> dmi.board.version: KBC Revision: 1328
> dmi.chassis.type: 10
> dmi.chassis.vendor: Compaq
> dmi.chassis.version: N/A
> dmi.modalias:
> dmi:bvnPhoenix:bvr0F0B:bd11/25/2003:svnCompaq:pnPresario:pvr0100:rvnCompaq:rn07D4h:rvrKBCRevision1328:cvnCompaq:ct10:cvrN/A:
> dmi.product.name: Presario
> dmi.product.version: 0100
> dmi.sys.vendor: Compaq
>

tags: added: regression-release
removed: regression-potential
tags: added: karmic
Revision history for this message
Hayjumper (hayjumper) wrote :

Apologies if it is improper to comment here... just wanted to mention that I was also affected by this bug. I worked around it by editing the /etc/usplash.conf file (as directed by the Debugging Usplash wiki link above) and changing the resolution from the default (1920x1080, which is the correct native rez of my current monitor) to 1024x768.

After making this edit and running 'sudo-updateinitramfs' as directed by the config file comments, I am able to successfully display logo from the command line via 'sudo usplash'. I re-enabled splash in grub config & ran update-grub; my system now boots successfully with splash screen enabled.

Perhaps there is some problem with the default 1920x1080 widescreen resolution when running usplash. 1024x768 standard 4:3 resolution works, I did not try any other resolution. Hoping this will be helpful to others affected by this bug...

Revision history for this message
kingttx (kingttx-tomslinux) wrote :

I had upgraded to 9.10 from 9.04(??), from kernel 2.6.28 to 2.6.31. The previous version used the 'splash' option just fine and booted with no hitch. 2.6.31-15 and 2.6.31-17 both will hang with the 'splash' option.

I did try changing my /etc/usplash.conf to match the desktop's resolution, from 800x600 to 1024x768, but that didn't correct the boot hang.

I have not tried pulling the monitor cable from the video card yet.

This workstation is connected from an nVidia Quaddro card, DVI-out to a VGA adapter, through a KVM switch to an LCD monitor.

Revision history for this message
Matej Kenda (matejken) wrote :

Ubuntu Lucid made usplash obsolete.

Does it make sense digging further into this problem?

Revision history for this message
Stefan Bader (smb) wrote : Re: [Bug 451571] Re: usplash hangs with kernel Ubuntu 2.6.31-14.46-generic, works with 2.6.31-13

I think, as unsatisfying this probably is, that this probably won't get fixed in
Karmic and as you say, Lucid has changed to use plymouth. I hope, as there is a
work-around at least by not using usplash, this is not critical enough to need
fixing.

Revision history for this message
Matej Kenda (matejken) wrote :

I'd close it, but unfortunately I don't have the rights to set the status "Won't fix".

Revision history for this message
Stefan Bader (smb) wrote :

In agreement with Matej, I am closing this as workarounds exist and future releases are not using usplash anymore.

Changed in linux (Ubuntu):
status: Incomplete → Invalid
Changed in linux (Ubuntu Karmic):
status: Incomplete → Won't Fix
Changed in usplash (Ubuntu):
status: Incomplete → Invalid
Changed in usplash (Ubuntu Karmic):
status: Incomplete → Won't Fix
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.