plymouthd crashed with SIGSEGV in /sbin/plymouthd:11 in ply_renderer_set_handler_for_input_source -> ply_keyboard_stop_watching_for_renderer_input -> ply_keyboard_stop_watching_for_input -> ply_device_manager_deactivate_keyboards -> on_deactivate

Bug #1794292 reported by Steve Taylor on 2018-09-25
92
This bug affects 17 people
Affects Status Importance Assigned to Milestone
plymouth (Ubuntu)
Status tracked in Cosmic
Cosmic
High
Mathieu Trudel-Lapierre

Bug Description

A green Xubuntu splash screen with a spinning circle normally appears on boot up.

Now just a blank black screen shows until the login box appears. On logging in, the desktop appears as normal but an error message pops up offering to report a bug to developers.

Description: Ubuntu Cosmic Cuttlefish (development branch)
Release: 18.10

All packages up-to-date as of 25 September 2018 14:00 BST

Errors Tracker: https://errors.ubuntu.com/problem/6aa06f1bc51946c787a01d38e58bc76114555334

ProblemType: Crash
DistroRelease: Ubuntu 18.10
Package: plymouth 0.9.3-1ubuntu8
ProcVersionSignature: Ubuntu 4.18.0-7.8-generic 4.18.5
Uname: Linux 4.18.0-7-generic x86_64
ApportVersion: 2.20.10-0ubuntu11
Architecture: amd64
CrashCounter: 1
Date: Tue Sep 25 13:47:47 2018
DefaultPlymouth: /usr/share/plymouth/themes/xubuntu-logo/xubuntu-logo.plymouth
ExecutablePath: /sbin/plymouthd
MachineType: Acer Veriton N280G
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.18.0-7-generic root=UUID=ff708f10-3fbc-4fa2-b7a5-93f0dd61eb21 ro splash quiet vt.handoff=1
ProcCmdline: @sbin/plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session
ProcEnviron:
 LANG=en_GB.UTF-8
 PATH=(custom, no user)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.18.0-7-generic root=UUID=ff708f10-3fbc-4fa2-b7a5-93f0dd61eb21 ro splash quiet vt.handoff=1
SegvAnalysis:
 Segfault happened at: 0x7f05452a07f9 <ply_renderer_set_handler_for_input_source+25>: mov 0x78(%rax),%rax
 PC (0x7f05452a07f9) ok
 source "0x78(%rax)" (0x00000078) not located in a known VMA region (needed readable region)!
 destination "%rax" ok
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: plymouth
StacktraceTop:
 ply_renderer_set_handler_for_input_source () from /lib/x86_64-linux-gnu/libply-splash-core.so.4
 ply_keyboard_stop_watching_for_input () from /lib/x86_64-linux-gnu/libply-splash-core.so.4
 ply_device_manager_deactivate_keyboards () from /lib/x86_64-linux-gnu/libply-splash-core.so.4
 ?? ()
 ?? ()
TextPlymouth: /usr/share/plymouth/themes/xubuntu-text/xubuntu-text.plymouth
Title: plymouthd crashed with SIGSEGV in ply_renderer_set_handler_for_input_source()
UpgradeStatus: Upgraded to cosmic on 2018-08-21 (34 days ago)
UserGroups:

dmi.bios.date: 01/15/2011
dmi.bios.vendor: Acer
dmi.bios.version: P01-A3
dmi.board.asset.tag: To Be Filled By O.E.M.
dmi.board.name: TPDS03
dmi.board.vendor: Acer
dmi.board.version: To be filled by O.E.M.
dmi.chassis.type: 3
dmi.chassis.vendor: Acer
dmi.chassis.version: To Be Filled By O.E.M.
dmi.modalias: dmi:bvnAcer:bvrP01-A3:bd01/15/2011:svnAcer:pnVeritonN280G:pvrToBeFilledByO.E.M.:rvnAcer:rnTPDS03:rvrTobefilledbyO.E.M.:cvnAcer:ct3:cvrToBeFilledByO.E.M.:
dmi.product.family: Acer Desktop
dmi.product.name: Veriton N280G
dmi.product.sku: To Be Filled By O.E.M.
dmi.product.version: To Be Filled By O.E.M.
dmi.sys.vendor: Acer

Steve Taylor (supergrid) wrote :

StacktraceTop:
 ply_renderer_set_handler_for_input_source (renderer=<optimized out>, input_source=0x5599642cc930, handler=0x0, user_data=0x0) at ply-renderer.c:406
 ply_keyboard_stop_watching_for_renderer_input (keyboard=0x5599642d5590) at ply-keyboard.c:406
 ply_keyboard_stop_watching_for_input (keyboard=keyboard@entry=0x5599642d5590) at ply-keyboard.c:406
 ply_device_manager_deactivate_keyboards (manager=0x5599642c5a10) at ply-device-manager.c:976
 on_quit (state=0x7ffd7332c130, retain_splash=<optimized out>, quit_trigger=0x5599642cb750) at main.c:1435

Changed in plymouth (Ubuntu):
importance: Undecided → Medium
tags: removed: need-amd64-retrace

Confirmed on Ubuntu Desktop Cosmic 20180925.1

information type: Private → Public
Changed in plymouth (Ubuntu):
importance: Medium → High
status: New → Confirmed
summary: - plymouthd crashed with SIGSEGV in
- ply_renderer_set_handler_for_input_source()
+ plymouthd crashed with SIGSEGV in /sbin/plymouthd:11 in
+ ply_renderer_set_handler_for_input_source ->
+ ply_keyboard_stop_watching_for_renderer_input ->
+ ply_keyboard_stop_watching_for_input ->
+ ply_device_manager_deactivate_keyboards -> on_deactivate
description: updated
Ubuntu QA Website (ubuntuqa) wrote :

This bug has been reported on the Ubuntu ISO testing tracker.

A list of all reports related to this bug can be found here:
http://iso.qa.ubuntu.com/qatracker/reports/bugs/1794292

tags: added: iso-testing
Martin Wimpress (flexiondotorg) wrote :

This is fixed in Ubuntu MATE 18.10 via mate-screensaver 1.20.2-1 which we will SRU to 18.04.

Martin Wimpress (flexiondotorg) wrote :

Ugh, ignore the above. Wrong issue. Sorry.

tags: added: id-5bad7286befb7a37e6f5072a

Is this a crash that people are able to easily reproduce? I can't figure out how to get that crash here, but I have a patch likely to fix the issue (and the patch is necessary anyway).

Download full text (5.1 KiB)

The patch should be fine, in fact I was debugging it and it looks like that the renderers where disactivated before than the renderer keyboards, thus the crash.

This was some gdb debugging, in case it might be useful in future:

(gdb) bt
#0 0x00007ff2a56137f9 in ply_renderer_set_handler_for_input_source (renderer=<optimized out>,
    input_source=0x5625cf38ced0, handler=0x0, user_data=0x0) at ply-renderer.c:406
#1 0x00007ff2a560d5ac in ply_keyboard_stop_watching_for_renderer_input (keyboard=0x5625cf38dad0)
    at ply-keyboard.c:406
#2 ply_keyboard_stop_watching_for_input (keyboard=keyboard@entry=0x5625cf38dad0) at ply-keyboard.c:406
#3 0x00007ff2a560cb3b in ply_device_manager_deactivate_keyboards (manager=0x5625cf37ef70)
    at ply-device-manager.c:976
#4 0x00005625ce989d77 in on_quit (state=0x7fff330f1d40, retain_splash=<optimized out>,
    quit_trigger=0x5625cf4e9200) at main.c:1435
#5 0x00005625ce984dcc in ply_boot_connection_on_request (connection=0x5625cf4ee080)
    at ply-boot-server.c:529
#6 0x00007ff2a5624f26 in ply_event_loop_handle_met_status_for_source (status=<optimized out>,
    source=0x5625cf3fda90, loop=0x5625cf3793a0) at ply-event-loop.c:1034
#7 ply_event_loop_process_pending_events (loop=0x5625cf3793a0) at ply-event-loop.c:1279
#8 0x00007ff2a56253c0 in ply_event_loop_run (loop=0x5625cf3793a0) at ply-event-loop.c:1310
#9 0x00005625ce982565 in main (argc=<optimized out>, argv=0x7fff330f2f38) at main.c:2398
(gdb)
#0 0x00007ff2a56137f9 in ply_renderer_set_handler_for_input_source (renderer=<optimized out>,
    input_source=0x5625cf38ced0, handler=0x0, user_data=0x0) at ply-renderer.c:406
#1 0x00007ff2a560d5ac in ply_keyboard_stop_watching_for_renderer_input (keyboard=0x5625cf38dad0)
    at ply-keyboard.c:406
#2 ply_keyboard_stop_watching_for_input (keyboard=keyboard@entry=0x5625cf38dad0) at ply-keyboard.c:406
#3 0x00007ff2a560cb3b in ply_device_manager_deactivate_keyboards (manager=0x5625cf37ef70)
    at ply-device-manager.c:976
#4 0x00005625ce989d77 in on_quit (state=0x7fff330f1d40, retain_splash=<optimized out>,
    quit_trigger=0x5625cf4e9200) at main.c:1435
#5 0x00005625ce984dcc in ply_boot_connection_on_request (connection=0x5625cf4ee080)
    at ply-boot-server.c:529
#6 0x00007ff2a5624f26 in ply_event_loop_handle_met_status_for_source (status=<optimized out>,
    source=0x5625cf3fda90, loop=0x5625cf3793a0) at ply-event-loop.c:1034
#7 ply_event_loop_process_pending_events (loop=0x5625cf3793a0) at ply-event-loop.c:1279
#8 0x00007ff2a56253c0 in ply_event_loop_run (loop=0x5625cf3793a0) at ply-event-loop.c:1310
#9 0x00005625ce982565 in main (argc=<optimized out>, argv=0x7fff330f2f38) at main.c:2398
(gdb) f 1
#1 0x00007ff2a560d5ac in ply_keyboard_stop_watching_for_renderer_input (keyboard=0x5625cf38dad0)
    at ply-keyboard.c:406
406 ply-keyboard.c: No such file or directory.
(gdb) print keyboard
$4 = (ply_keyboard_t *) 0x5625cf38dad0
(gdb) print *keyboard
$5 = {loop = 0x5625cf3793a0, provider_type = PLY_KEYBOARD_PROVIDER_TYPE_RENDERER, provider = {
    if_renderer = 0x5625cf38fdf0, if_terminal = 0x5625cf38fdf0}, line_buffer = 0x5625cf38ed40,
  keyboard_input_handler_list = 0x5625cf38fd70, backspace_...

Read more...

Sebastien Bacher (seb128) wrote :

looks like the patch being refered to has been uploaded in https://launchpad.net/ubuntu/+source/plymouth/0.9.3-1ubuntu9 which is still in cosmic-proposed

Changed in plymouth (Ubuntu Cosmic):
status: Confirmed → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package plymouth - 0.9.3-1ubuntu9

---------------
plymouth (0.9.3-1ubuntu9) cosmic; urgency=medium

  * debian/patches/git_move_renderer_deactivate_778e0fb7.patch: move the
    ply_device_manager_deactivate_renderers() calls into hide_splash(). This
    makes sure it is run in all three of the likely code-paths to deactivating
    plymouth's splash, and ensures objects are in the right state when
    deactivating on close. (LP: #1794292)

 -- Mathieu Trudel-Lapierre <email address hidden> Mon, 01 Oct 2018 11:46:00 -0400

Changed in plymouth (Ubuntu Cosmic):
status: Fix Committed → Fix Released
Gert van de Kraats (gkraats) wrote :

Unfortunately the fix does not solve the problem and still crashes.

ProblemType: Crash
Architecture: i386
Date: Thu Oct 4 16:54:33 2018
DistroRelease: Ubuntu 18.10
ExecutablePath: /sbin/plymouthd
ExecutableTimestamp: 1538408760

MachineType: Dell Inc. Latitude D620
Package: plymouth 0.9.3-1ubuntu9
PackageArchitecture: i386

SegvAnalysis:
 Segfault happened at: 0xb7f279f9 <ply_renderer_set_handler_for_input_source+41>: mov 0x3c(%edx),%eax
 PC (0xb7f279f9) ok
 source "0x3c(%edx)" (0x0000003d) not located in a known VMA region (needed readable region)!
 destination "%eax" ok
SegvReason: reading NULL VMA
SourcePackage: plymouth
Stacktrace:
 #0 0xb7f279f9 in ply_renderer_set_handler_for_input_source () at /lib/i386-linux-gnu/libply-splash-core.so.4
 #1 0xb7f209a9 in ply_keyboard_stop_watching_for_input () at /lib/i386-linux-gnu/libply-splash-core.so.4
 #2 0xb7f1fe70 in ply_device_manager_deactivate_keyboards () at /lib/i386-linux-gnu/libply-splash-core.so.4
 #3 0x00428c02 in ()
 #4 0x00421cf3 in _start ()
StacktraceAddressSignature: /sbin/plymouthd:11:/lib/i386-linux-gnu/libply-splash-core.so.4.0.0+a9f9:/lib/i386-linux-gnu/libply-splash-core.so.4.0.0+39a9:/lib/i386-linux-gnu/libply-splash-core.so.4.0.0+2e70:/sbin/plymouthd+ac02:/sbin/plymouthd+3cf3
StacktraceTop:
 ply_renderer_set_handler_for_input_source () at /lib/i386-linux-gnu/libply-splash-core.so.4
 ply_keyboard_stop_watching_for_input () at /lib/i386-linux-gnu/libply-splash-core.so.4
 ply_device_manager_deactivate_keyboards () at /lib/i386-linux-gnu/libply-splash-core.so.4
 ()
 _start ()
Tags: cosmic
TextPlymouth: /usr/share/plymouth/themes/ubuntu-text/ubuntu-text.plymouth
ThreadStacktrace:
 .
 Thread 1 (Thread 0xb7bdaf00 (LWP 334)):
 #0 0xb7f279f9 in ply_renderer_set_handler_for_input_source () at /lib/i386-linux-gnu/libply-splash-core.so.4
 #1 0xb7f209a9 in ply_keyboard_stop_watching_for_input () at /lib/i386-linux-gnu/libply-splash-core.so.4
 #2 0xb7f1fe70 in ply_device_manager_deactivate_keyboards () at /lib/i386-linux-gnu/libply-splash-core.so.4
 #3 0x00428c02 in ()
 #4 0x00421cf3 in _start ()
Title: plymouthd crashed with SIGSEGV in ply_renderer_set_handler_for_input_source()

Yeah, I feared that might be the case. This is the problem when the bug isn't so easy to reproduce.

There's a couple of things I want to try; let's proceed now with a package in a PPA before we randomly upload stuff to the archive -- there's definitely some cleanup code that could be added to plymouth, but that doesn't mean it's actually going to fix the problem.

Gert van de Kraats (gkraats) wrote :

At my laptop it happens at (almost) every start.
FYI I attach a symbolic trace

Reopening per comment #14

Changed in plymouth (Ubuntu Cosmic):
status: Fix Released → Triaged
status: Triaged → Confirmed
Changed in plymouth (Ubuntu Cosmic):
assignee: nobody → Mathieu Trudel-Lapierre (cyphermox)

I uploaded a test package to my ppa:

sudo add-apt-repository ppa:cyphermox/ppa

@Gert, would you mind giving it a try, see if this works for you, assuming that you can reproduce this bug easily?

Gert van de Kraats (gkraats) wrote :
Download full text (5.1 KiB)

Unfortunately again it crashes, logging on with gdm3, both with and without wayland.

The crash seems to be at the same place.
Syslog:
Oct 16 16:04:13 Gert2 systemd[1]: plymouth-start.service: Main process exited, code=dumped, status=11/SEGV
Oct 16 16:04:13 Gert2 gdm3[710]: error: unexpectedly disconnected from boot status daemon
Oct 16 16:04:13 Gert2 systemd[1]: plymouth-start.service: Failed with result 'core-dump'.
Oct 16 16:04:14 Gert2 systemd[1]: Started Hold until boot process finishes up.
Oct 16 16:04:14 Gert2 systemd[1]: Starting Set console scheme...
Oct 16 16:04:14 Gert2 systemd-networkd[392]: wlan0: Gained IPv6LL
Oct 16 16:04:14 Gert2 systemd-timesyncd[393]: Network configuration changed, trying to establish connection.
Oct 16 16:04:14 Gert2 dhclient[795]: DHCPACK of 192.168.178.20 from 192.168.178.1
Oct 16 16:04:14 Gert2 NetworkManager[529]: <info> [1539698654.3397] dhcp4 (wlan0): address 192.168.178.20
Oct 16 16:04:14 Gert2 NetworkManager[529]: <info> [1539698654.3398] dhcp4 (wlan0): plen 24 (255.255.255.0)
Oct 16 16:04:14 Gert2 avahi-daemon[525]: Joining mDNS multicast group on interface wlan0.IPv4 with address 192.168.178.20.
Oct 16 16:04:14 Gert2 NetworkManager[529]: <info> [1539698654.3398] dhcp4 (wlan0): gateway 192.168.178.1
Oct 16 16:04:14 Gert2 NetworkManager[529]: <info> [1539698654.3398] dhcp4 (wlan0): lease time 3600
Oct 16 16:04:14 Gert2 NetworkManager[529]: <info> [1539698654.3399] dhcp4 (wlan0): nameserver '89.101.251.228'
Oct 16 16:04:14 Gert2 avahi-daemon[525]: New relevant interface wlan0.IPv4 for mDNS.
Oct 16 16:04:14 Gert2 NetworkManager[529]: <info> [1539698654.3399] dhcp4 (wlan0): nameserver '89.101.251.229'
Oct 16 16:04:14 Gert2 avahi-daemon[525]: Registering new address record for 192.168.178.20 on wlan0.IPv4.
Oct 16 16:04:14 Gert2 NetworkManager[529]: <info> [1539698654.3399] dhcp4 (wlan0): domain name 'dynamic.ziggo.nl'
Oct 16 16:04:14 Gert2 NetworkManager[529]: <info> [1539698654.3400] dhcp4 (wlan0): state changed unknown -> bound
Oct 16 16:04:14 Gert2 systemd-timesyncd[393]: Network configuration changed, trying to establish connection.
Oct 16 16:04:14 Gert2 NetworkManager[529]: <info> [1539698654.3537] device (wlan0): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')
Oct 16 16:04:14 Gert2 NetworkManager[529]: <info> [1539698654.3640] device (wlan0): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'managed')
Oct 16 16:04:14 Gert2 NetworkManager[529]: <info> [1539698654.3663] device (wlan0): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
Oct 16 16:04:14 Gert2 NetworkManager[529]: <info> [1539698654.3690] manager: NetworkManager state is now CONNECTED_LOCAL
Oct 16 16:04:14 Gert2 systemd[1]: Started Set console scheme.

Syslog, if plymouth not crashes:
Oct 16 15:54:10 Gert2 systemd[1]: Received SIGRTMIN+21 from PID 353 (plymouthd).
Oct 16 15:54:10 Gert2 systemd[1]: Started Hold until boot process finishes up.
Oct 16 15:54:10 Gert2 systemd[1]: Starting Set console scheme...
Oct 16 15:54:10 Gert2 systemd[1]: Started Set console scheme.

ProblemType: Crash
Architecture: i386
Date: Tue Oct 16 16...

Read more...

To post a comment you must log in.