[Bug 1794292] Re: 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
Mauricio Faria de Oliveira
mfo at canonical.com
Wed Apr 10 23:14:57 UTC 2019
Test Case
=========
For example, this Bionic Server VM:
$ uvt-simplestreams-libvirt sync release=bionic arch=amd64
$ uvt-kvm create --memory 2048 --cpu 2 --disk 8 bionic-lp1794292 release=bionic arch=amd64
$ uvt-kvm ssh bionic-lp1794292
It has a virtual Cirrus VGA adapter:
$ lspci | grep VGA
00:02.0 VGA compatible controller: Cirrus Logic GD 5446
Install its DRM module, which should not load by default:
$ sudo apt-get -y install linux-modules-extra-$(uname -r)
$ echo 'blacklist cirrus' | sudo tee /etc/modprobe.d/blacklist-cirrus.conf
Update GRUB to use the default console (remove 'console=' options)
$ sudo vim /etc/default/grub /etc/default/grub.d/*
$ sudo update-grub
$ sudo reboot
$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.15.0-47-generic root=UUID=d7976e5d-71dc-4f7e-82d6-a2c292e0975e ro quiet splash vt.handoff=1
Upon boot, only the FB device is availble, not DRI/DRM:
$ ls -l /dev/fb0
crw-rw---- 1 root video 29, 0 Apr 10 22:43 /dev/fb0
$ ls -l /dev/dri
ls: cannot access '/dev/dri': No such file or directory
The modules exist but are not loaded:
$ lspci -s 00:02.0 -k
00:02.0 VGA compatible controller: Cirrus Logic GD 5446
Subsystem: Red Hat, Inc. QEMU Virtual Machine
Kernel modules: cirrusfb, cirrus
$ lsmod | grep cirrus
$
This is the test case. Essentially:
1) start plymouthd
2) wait the default device timeout (5 seconds), so it detects '/dev/fb0'
3) show splash, so it activates keyboard
4) load module, so it detects '/dev/dri/card0'
5) deactivate, so it deactivates keyboard and segfaults (or not)
Give it a little time between each command to process events.
sudo plymouthd --no-daemon --debug --kernel-command-line=splash &
sleep 10
sudo plymouth --show-splash
sleep 10
sudo modprobe cirrus
sleep 10
sudo plymouth deactivate
<segfaults in a few seconds>
With the same stack trace:
#0 0x00007fdf0ef68f09 in ply_renderer_set_handler_for_input_source (renderer=<optimized out>, input_source=0x5636eaefc2a0, handler=0x0, user_data=0x0) at ply-renderer.c:406
#1 0x00007fdf0ef62cbf in ply_keyboard_stop_watching_for_renderer_input (keyboard=0x5636eaefc6a0) at ply-keyboard.c:319
#2 ply_keyboard_stop_watching_for_input (keyboard=keyboard at entry=0x5636eaefc6a0) at ply-keyboard.c:406
#3 0x00007fdf0ef6221b in ply_device_manager_deactivate_keyboards (manager=0x5636eaeff6d0) at ply-device-manager.c:976
#4 0x00005636e92d3ec3 in on_deactivate (state=0x7fff1c458390, deactivate_trigger=<optimized out>) at main.c:1361
#5 0x00005636e92cdb9b in ply_boot_connection_on_request (connection=0x5636eaf12360) at ply-boot-server.c:504
#6 0x00007fdf0f177fbe in ply_event_loop_handle_met_status_for_source (status=<optimized out>, source=0x5636eaf11970, loop=0x5636eaefa3a0) at ply-event-loop.c:1034
#7 ply_event_loop_process_pending_events (loop=loop at entry=0x5636eaefa3a0) at ply-event-loop.c:1279
#8 0x00007fdf0f178480 in ply_event_loop_run (loop=0x5636eaefa3a0) at ply-event-loop.c:1310
#9 0x00005636e92cb514 in main (argc=4, argv=0x7fff1c459588) at main.c:2398
The version in -proposed does not have these lines in the module load
step.
[ply-device-manager.c:345] on_udev_event:got remove event for device fb0
[ply-renderer.c:92] ply_renderer_free:Unloading renderer backend plugin
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to plymouth in Ubuntu.
https://bugs.launchpad.net/bugs/1794292
Title:
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
Status in plymouth package in Ubuntu:
Fix Released
Status in plymouth source package in Bionic:
Fix Committed
Status in plymouth source package in Cosmic:
Fix Committed
Bug description:
[Impact]
plymouth has been crashing a whole bunch and notifying users about it.
[Test Case]
We don't have a specific test case but luckily :-( there are thousands of crashes in the Error Tracker about this issue. Subsequently, it should be enough to verify that the new version of plymouth doesn't appear in the following bucket:
https://errors.ubuntu.com/problem/6aa06f1bc51946c787a01d38e58bc76114555334
[Regression Potential]
The fix has to do with keyboard handling so a possible regression would be the inability to unlock your disks.
Original 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: CrashDistroRelease: 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: 11SourcePackage: 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
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/plymouth/+bug/1794292/+subscriptions
More information about the foundations-bugs
mailing list