plymouth aborts in cloud images

Bug #1160079 reported by Ben Howard on 2013-03-25
24
This bug affects 4 people
Affects Status Importance Assigned to Milestone
plymouth (Ubuntu)
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

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

apport information

tags: added: apport-collected ec2-images
description: updated

apport information

apport information

apport information

apport information

apport information

apport information

apport information

Scott Moser (smoser) on 2013-03-27
tags: added: cloud-images
removed: uec-images
Scott Moser (smoser) on 2013-03-27
Changed in plymouth (Ubuntu):
status: Incomplete → New
Steve Langasek (vorlon) wrote :

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

Changed in plymouth (Ubuntu):
status: New → Incomplete

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.

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) on 2013-05-27
Changed in plymouth (Ubuntu):
status: Expired → New
Changed in plymouth (Ubuntu):
status: New → Invalid
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
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

Steve Langasek (vorlon) wrote :

above backtrace is from 0.8.8-0ubuntu15 on trusty.

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.

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) on 2014-03-28
Changed in plymouth (Ubuntu):
milestone: none → ubuntu-14.04

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
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  Edit
Everyone can see this information.

Other bug subscribers