[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
Marco Trevisan (Treviño)
mail at 3v1n0.net
Tue Oct 2 11:55:29 UTC 2018
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 at 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 at 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_handler_list = 0x5625cf38fd90,
escape_handler_list = 0x5625cf38fdb0, enter_handler_list = 0x5625cf38fdd0, is_active = 1}
(gdb) print keyboard->provider
$6 = {if_renderer = 0x5625cf38fdf0, if_terminal = 0x5625cf38fdf0}
(gdb) print keyboard->provider->if_renderer
$7 = (ply_keyboard_renderer_provider_t *) 0x5625cf38fdf0
(gdb) print *keyboard->provider->if_renderer
$8 = {renderer = 0x5625cf395d90, input_source = 0x5625cf38ced0}
(gdb) print *keyboard->provider->if_renderer->renderer
$9 = {loop = 0x5625cf395840, module_handle = 0x0, plugin_interface = 0x0, backend = 0x31,
type = -816927760, device_name = 0x7ff2a55fecc0 <main_arena+128> "\260\354_\245\362\177",
terminal = 0x5625cf4e87d0, input_source_is_open = 0, is_mapped = 0, is_active = 0}
(gdb) set $renderer = keyboard->provider->if_renderer->renderer
(gdb) print $renderer
$10 = (ply_renderer_t *) 0x5625cf395d90
(gdb) print *$renderer
$11 = {loop = 0x5625cf395840, module_handle = 0x0, plugin_interface = 0x0, backend = 0x31,
type = -816927760, device_name = 0x7ff2a55fecc0 <main_arena+128> "\260\354_\245\362\177",
terminal = 0x5625cf4e87d0, input_source_is_open = 0, is_mapped = 0, is_active = 0}
(gdb) print *$renderer->plugin_interface
Cannot access memory at address 0x0
(gdb) print $renderer->plugin_interface
$12 = (const ply_renderer_plugin_interface_t *) 0x0
(gdb) print *keyboard
$14 = {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_handler_list = 0x5625cf38fd90,
escape_handler_list = 0x5625cf38fdb0, enter_handler_list = 0x5625cf38fdd0, is_active = 1}
(gdb) print keyboard->provider_type
$15 = PLY_KEYBOARD_PROVIDER_TYPE_RENDERER
(gdb) print $renderer
$16 = (ply_renderer_t *) 0x5625cf395d90
(gdb) print $renderer->input_source_is_open
$17 = 0
(gdb) print $renderer->is_active
$18 = 0
(gdb) print $renderer->is_mapped
$19 = 0
--
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:
Confirmed
Status in plymouth source package in Cosmic:
Confirmed
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
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