plymouth aborts in cloud images

Bug #1160079 reported by Ben Howard
24
This bug affects 4 people
Affects Status Importance Assigned to Milestone
plymouth (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

On cloud-images for EC2 and Windows Azure, plymouth aborts:

On EC2:
[ 22.254620] init: udev-fallback-graphics main process (476) terminated with status 1
[ 23.567151] init: plymouth main process (222) killed by ABRT signal
[ 23.568554] init: plymouth-splash main process (500) terminated with status 2
[ 34.348406] init: plymouth-log main process (683) terminated with status 1
[ 34.383796] init: failsafe main process (684) killed by TERM signal
[ 35.339450] init: plymouth-upstart-bridge main process (743) terminated with status 1
...
[ 91.558062] init: upstart-udev-bridge main process (318) terminated with status 1
[ 91.558099] init: upstart-udev-bridge main process ended, respawning
[ 91.558307] init: upstart-socket-bridge main process (451) terminated with status 1
[ 91.558338] init: upstart-socket-bridge main process ended, respawning
[ 93.223765] udevd[1892]: starting version 175
[ 145.040013] [sched_delayed] sched: RT throttling activated

On Windows Azure:
[ 20.976606] init: udev-fallback-graphics main process (779) terminated with status 1
[ 21.080416] init: plymouth main process (305) killed by ABRT signal
[ 21.080873] init: plymouth-splash main process (795) terminated with status 2
[ 26.593268] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
[ 146.622805] init: plymouth-log main process (885) terminated with status 1
[ 146.682413] init: plymouth-upstart-bridge main process (917) terminated with status 1
[ 266.641541] init: failsafe main process (887) killed by TERM signal

ProblemType: Bug
DistroRelease: Ubuntu 13.04
Package: plymouth 0.8.8-0ubuntu6
ProcVersionSignature: Ubuntu 3.8.0-14.24~lp1157952v1-generic 3.8.4
Uname: Linux 3.8.0-14-generic x86_64
ApportVersion: 2.9.2-0ubuntu2
Architecture: amd64
BootLog: Error: [Errno 2] No such file or directory: '/var/log/boot.log'
CurrentDmesg: [ 267.056969] init: plymouth-stop pre-start process (1343) terminated with status 1
Date: Mon Mar 25 22:39:09 2013
DefaultPlymouth: Error: command ['readlink', '/etc/alternatives/default.plymouth'] failed with exit code 1:
Lsusb: Error: command ['lsusb'] failed with exit code 1: unable to initialize libusb: -99
MachineType: Microsoft Corporation Virtual Machine
MarkForUpload: True
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.8.0-14-generic root=UUID=b3710ec6-2639-4979-9c91-6adf61c4289a ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300
ProcFB:

ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.8.0-14-generic root=UUID=b3710ec6-2639-4979-9c91-6adf61c4289a ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300
SourcePackage: plymouth
TextPlymouth: /lib/plymouth/themes/ubuntu-text/ubuntu-text.plymouth
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 05/23/2012
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 090006
dmi.board.name: Virtual Machine
dmi.board.vendor: Microsoft Corporation
dmi.board.version: 7.0
dmi.chassis.asset.tag: 0247-9366-4976-0268-3671-4900-85
dmi.chassis.type: 3
dmi.chassis.vendor: Microsoft Corporation
dmi.chassis.version: 7.0
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr090006:bd05/23/2012:svnMicrosoftCorporation:pnVirtualMachine:pvr7.0:rvnMicrosoftCorporation:rnVirtualMachine:rvr7.0:cvnMicrosoftCorporation:ct3:cvr7.0:
dmi.product.name: Virtual Machine
dmi.product.version: 7.0
dmi.sys.vendor: Microsoft Corporation
---
ApportVersion: 2.9.2-0ubuntu4
Architecture: amd64
BootLog: Error: [Errno 2] No such file or directory: '/var/log/boot.log'
CurrentDmesg:
 [ 166.490641] init: plymouth main process (1087) killed by ABRT signal
 [ 166.492124] init: plymouth-splash main process (1100) terminated with status 2
DefaultPlymouth: Error: command ['readlink', '/etc/alternatives/default.plymouth'] failed with exit code 1:
DistroRelease: Ubuntu 13.04
Ec2AMI: ami-3c5bc055
Ec2AMIManifest: (unknown)
Ec2AvailabilityZone: us-east-1d
Ec2InstanceType: t1.micro
Ec2Kernel: aki-88aa75e1
Ec2Ramdisk: unavailable
Lspci:

Lsusb: Error: command ['lsusb'] failed with exit code 1: unable to initialize libusb: -99
MarkForUpload: True
Package: plymouth 0.8.8-0ubuntu6
PackageArchitecture: amd64
ProcCmdLine: root=LABEL=cloudimg-rootfs ro console=hvc0
ProcFB:

ProcKernelCmdLine: root=LABEL=cloudimg-rootfs ro console=hvc0
ProcModules:
 acpiphp 23954 0 - Live 0x0000000000000000 (F)
 dm_crypt 22820 0 - Live 0x0000000000000000 (F)
 isofs 39815 0 - Live 0x0000000000000000 (F)
 microcode 22881 0 - Live 0x0000000000000000 (F)
ProcVersionSignature: User Name 3.8.0-14.24-generic 3.8.4
Tags: raring ec2-images
TextPlymouth: /lib/plymouth/themes/ubuntu-text/ubuntu-text.plymouth
Uname: Linux 3.8.0-14-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm audio cdrom dialout dip floppy netdev plugdev video

Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote :
Revision history for this message
Steve Langasek (vorlon) wrote :

Ben, can you get a backtrace of this aborted plymouth process, please? If apport is enabled I think it should be written to /var/crash automatically.

Changed in plymouth (Ubuntu):
status: New → Incomplete
Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote : BootDmesg.txt

apport information

tags: added: apport-collected ec2-images
description: updated
Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote : Dependencies.txt

apport information

Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote : EtcDefaultGrub.txt

apport information

Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote : ProcEnviron.txt

apport information

Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote : UdevDb.txt

apport information

Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote : UdevLog.txt

apport information

Scott Moser (smoser)
tags: added: cloud-images
removed: uec-images
Scott Moser (smoser)
Changed in plymouth (Ubuntu):
status: Incomplete → New
Revision history for this message
Steve Langasek (vorlon) wrote :

Scott, Ben I'm still missing a back trace for the crash.

Changed in plymouth (Ubuntu):
status: New → Incomplete
Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote :

Steve, I installed apport and was unable to capture the crash. In fact, when I ran it outside of upstart, it still failed to start.

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

[Expired for plymouth (Ubuntu) because there has been no activity for 60 days.]

Changed in plymouth (Ubuntu):
status: Incomplete → Expired
Steve Langasek (vorlon)
Changed in plymouth (Ubuntu):
status: Expired → New
Changed in plymouth (Ubuntu):
status: New → Invalid
Revision history for this message
Scott Moser (smoser) wrote :

I have just run into this, having noticed that I didn't hvae /var/log/boot.log in my instances and collected some information that I'll attach.

The short summary is that plymouth dies and doesn't produce /var/log/boot.log in quantal, raring, saucy, trusty, but seems mostly functional in precise.

Changed in plymouth (Ubuntu):
importance: Undecided → Medium
status: Invalid → Confirmed
Revision history for this message
Steve Langasek (vorlon) wrote :

We've managed to extract a core from one of these crashes; backtrace follows:

Core was generated by `@sbin/plymouthd --mode=boot --attach-to-session'.
Program terminated with signal SIGABRT, Aborted.
#0 0x00007fd06f377f79 in __GI_raise (sig=sig@entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007fd06f377f79 in __GI_raise (sig=sig@entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007fd06f37b388 in __GI_abort () at abort.c:89
#2 0x00007fd06f370e36 in __assert_fail_base (
    fmt=0x7fd06f4c24b8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
    assertion=assertion@entry=0x7fd06f713f37 "terminal != ((void *)0)",
    file=file@entry=0x7fd06f713f28 "ply-terminal.c", line=line@entry=611,
    function=function@entry=0x7fd06f714860 <__PRETTY_FUNCTION__.7286> "ply_terminal_open") at assert.c:92
#3 0x00007fd06f370ee2 in __GI___assert_fail (
    assertion=assertion@entry=0x7fd06f713f37 "terminal != ((void *)0)",
    file=file@entry=0x7fd06f713f28 "ply-terminal.c", line=line@entry=611,
    function=function@entry=0x7fd06f714860 <__PRETTY_FUNCTION__.7286> "ply_terminal_open") at assert.c:101
#4 0x00007fd06f70e5ff in ply_terminal_open (terminal=0x0)
    at ply-terminal.c:611
#5 0x000000000040d6eb in add_display_and_keyboard_for_terminal (
    terminal=0x149e900, state=0x7fff14ff8d00) at main.c:1539
#6 add_display_and_keyboard_for_console (console=0x149e8e0 "/dev/ttyS0",
    null=<optimized out>, state=0x7fff14ff8d00) at main.c:1953
#7 0x00007fd06f921f63 in ply_hashtable_foreach (
    hashtable=hashtable@entry=0x149e710,
    func=func@entry=0x40d650 <add_display_and_keyboard_for_console>,
    user_data=user_data@entry=0x7fff14ff8d00) at ply-hashtable.c:280
#8 0x000000000040c943 in check_for_consoles (
    state=state@entry=0x7fff14ff8d00, default_tty=<optimized out>,
    should_add_displays=should_add_displays@entry=true) at main.c:2158
#9 0x000000000040d0ec in on_show_splash (state=0x7fff14ff8d00) at main.c:916
#10 0x00000000004065d9 in ply_boot_connection_on_request (connection=0x149e4d0)
    at ply-boot-server.c:702
#11 0x00007fd06f91ee76 in ply_event_loop_handle_met_status_for_source (
    status=PLY_EVENT_LOOP_FD_STATUS_HAS_DATA, source=0x149e5b0, loop=0x1497150)
    at ply-event-loop.c:1060
#12 ply_event_loop_process_pending_events (loop=loop@entry=0x1497150)
    at ply-event-loop.c:1336
#13 0x00007fd06f91f620 in ply_event_loop_run (loop=0x1497150)
    at ply-event-loop.c:1368
#14 0x0000000000404c3d in main (argc=<optimized out>, argv=<optimized out>)
    at main.c:2563

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

above backtrace is from 0.8.8-0ubuntu15 on trusty.

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

Seems to be related to Ubuntu-specific patches, which call ply_terminal_open() for Bug #913731.

The fix may be as simple as an added if (!state->local_console_terminal) - though I don't know why this code path triggered in the first place. Looks like it might be because the plymouthd code special-cases console=/dev/tty1, and the kernel is being passed console=tty1.

Revision history for this message
Scott Moser (smoser) wrote :

Hey,
  So this is fixed in lp:ubuntu/trusty/plymouth

Are we still considering getting it in?
Having /dev/console provide reliable logging would be a huge value.

Scott Moser (smoser)
Changed in plymouth (Ubuntu):
milestone: none → ubuntu-14.04
Revision history for this message
Steve Langasek (vorlon) wrote : Please test proposed package

Hello Ben, or anyone else affected,

Accepted plymouth into trusty-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/plymouth/0.8.8-0ubuntu16 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: added: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package plymouth - 0.8.8-0ubuntu16

---------------
plymouth (0.8.8-0ubuntu16) trusty; urgency=medium

  [ Steve Langasek ]
  * Fix debian/patches/tty1-after-boot.patch: when we have multiple
    non-default console options on the kernel commandline,
    local_console_terminal will not be set, so we should avoid the resulting
    assert. LP: #1160079, LP: #1235231.

  [ Dimitri John Ledkov ] LP: #1292458
  * debian/patches/use-upstart-private-socket.patch: instead of using
    system dbus, use private upstart socket in the plymouth-upstart-bridge.
  * debian/plymouth.plymouth-upstart-bridge.upstart: start
    plymouth-upstart-bridge on startup, and thus gather a more complete
    boot.log.
  * debian/patches/dont-bail-on-dummy-terms.patch: don't bail
    plymouth-upstart-bridge if TERM is not set and/or running on a dummy
    terminal, as we can run on those. This makes console-log useful in
    lxc-containers and actually contain messages from upstart jobs
    starting and stopping.
  * debian/patches/no-print-empty-description.patch: do not store
    description when dbus returns empty string, and thus stop printing
    empty "Starting... done" messages. LP: #1185560.
  * debian/plymouth.plymouth-upstart-bridge.upstart: update stop on
    conditions to stop when plymouth-shutdown finishes.
  * Make ubuntu-logo theme support scale factor, provide one plymouth
    theme with scale 1 and another with scale 2, until scale factor can be
    dynamically detected.
  * Mark plymouth-upstart-bridge to respawn.
 -- Dimitri John Ledkov <email address hidden> Thu, 03 Apr 2014 16:37:29 +0100

Changed in plymouth (Ubuntu):
status: Confirmed → Fix Released
Changed in plymouth (Ubuntu):
assignee: nobody → sunil (sunilsajjanglb)
assignee: sunil (sunilsajjanglb) → nobody
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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