[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