Bug#878115: plymouthd: random crash (SIGSEGV) during shutdown for reboot

2017-12-10 Thread Paul Wise
Control: retitle -1 plymouthd: crash (SIGSEGV) during shutdown for reboot
Control: forwarded -1 https://bugs.freedesktop.org/show_bug.cgi?id=104204

On Tue, 10 Oct 2017 11:53:26 +0800 Paul Wise wrote:

> During the shutdown process for rebooting I got a random crash
> (SIGSEGV) of the plymouthd process.

Looks like it isn't random and happens every time I reboot.
I've forwarded the crash to upstream, URL is available above.

$ sudo gdb -batch -n -ex 'set pagination off' -ex bt -ex 'thread apply all bt 
full' --core /var/crash/0/765-0-0-11-1512873881-chianamo--sbin-plymouthd.core 
/sbin/plymouthd
[New LWP 765]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `@sbin/plymouthd --mode=shutdown --attach-to-session'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  strlen () at ../sysdeps/x86_64/strlen.S:106
106 ../sysdeps/x86_64/strlen.S: No such file or directory.
#0  0x7f917f290f46 in strlen () at ../sysdeps/x86_64/strlen.S:106
#1  0x7f917f290c6e in __GI___strdup (s=0x0) at strdup.c:41
#2  0x7f917f5c0fb0 in ply_renderer_load_plugin (module_path=0x7f917f5c52b8 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/x11.so", renderer=0x562aa6b81a60) 
at ply-renderer.c:160
#3  0x7f917f5c0fb0 in ply_renderer_open_plugin (plugin_path=0x7f917f5c52b8 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/x11.so", renderer=0x562aa6b81a60) 
at ply-renderer.c:238
#4  0x7f917f5c0fb0 in ply_renderer_open 
(renderer=renderer@entry=0x562aa6b81a60) at ply-renderer.c:281
#5  0x7f917f5b8b82 in create_devices_for_terminal_and_renderer_type 
(manager=0x562aa6b80440, device_path=0x0, terminal=0x562aa6b804e0, 
renderer_type=PLY_RENDERER_TYPE_AUTO) at ply-device-manager.c:683
#6  0x562aa622653b in load_devices 
(flags=PLY_DEVICE_MANAGER_FLAGS_IGNORE_UDEV, state=0x7ffc246e3a50) at 
main.c:1130
#7  0x562aa622653b in main (argc=3, argv=0x7ffc246e4c38) at main.c:2368

Thread 1 (Thread 0x7f917fbbeb80 (LWP 765)):
#0  0x7f917f290f46 in strlen () at ../sysdeps/x86_64/strlen.S:106
#1  0x7f917f290c6e in __GI___strdup (s=0x0) at strdup.c:41
len = 
new = 
#2  0x7f917f5c0fb0 in ply_renderer_load_plugin (module_path=0x7f917f5c52b8 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/x11.so", renderer=0x562aa6b81a60) 
at ply-renderer.c:160
get_renderer_backend_interface = 
i = 
known_plugins = {{type = PLY_RENDERER_TYPE_X11, path = 0x7f917f5c52b8 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/x11.so"}, {type = 
PLY_RENDERER_TYPE_DRM, path = 0x7f917f5c52f0 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/drm.so"}, {type = 
PLY_RENDERER_TYPE_FRAME_BUFFER, path = 0x7f917f5c5328 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/frame-buffer.so"}, {type = 
PLY_RENDERER_TYPE_NONE, path = 0x0}}
__func__ = "ply_renderer_open"
#3  0x7f917f5c0fb0 in ply_renderer_open_plugin (plugin_path=0x7f917f5c52b8 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/x11.so", renderer=0x562aa6b81a60) 
at ply-renderer.c:238
i = 
known_plugins = {{type = PLY_RENDERER_TYPE_X11, path = 0x7f917f5c52b8 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/x11.so"}, {type = 
PLY_RENDERER_TYPE_DRM, path = 0x7f917f5c52f0 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/drm.so"}, {type = 
PLY_RENDERER_TYPE_FRAME_BUFFER, path = 0x7f917f5c5328 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/frame-buffer.so"}, {type = 
PLY_RENDERER_TYPE_NONE, path = 0x0}}
__func__ = "ply_renderer_open"
#4  0x7f917f5c0fb0 in ply_renderer_open 
(renderer=renderer@entry=0x562aa6b81a60) at ply-renderer.c:281
i = 
known_plugins = {{type = PLY_RENDERER_TYPE_X11, path = 0x7f917f5c52b8 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/x11.so"}, {type = 
PLY_RENDERER_TYPE_DRM, path = 0x7f917f5c52f0 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/drm.so"}, {type = 
PLY_RENDERER_TYPE_FRAME_BUFFER, path = 0x7f917f5c5328 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/frame-buffer.so"}, {type = 
PLY_RENDERER_TYPE_NONE, path = 0x0}}
__func__ = "ply_renderer_open"
#5  0x7f917f5b8b82 in create_devices_for_terminal_and_renderer_type 
(manager=0x562aa6b80440, device_path=0x0, terminal=0x562aa6b804e0, 
renderer_type=PLY_RENDERER_TYPE_AUTO) at ply-device-manager.c:683
old_renderer = 0x0
renderer = 0x562aa6b81a60
keyboard = 0x0
__func__ = "create_devices_for_terminal_and_renderer_type"
#6  0x562aa622653b in load_devices 
(flags=PLY_DEVICE_MANAGER_FLAGS_IGNORE_UDEV, state=0x7ffc246e3a50) at 
main.c:1130
state = {loop = 0x562aa6b79150, boot_server = 0x562aa6b7bb30, 
boot_splash = 0x0, session = 0x562aa6b7bc50, boot_buffer = 0x562aa6b7be30, 
progress = 0x562aa6b801a0, keystroke_triggers = 0x562aa6b7aaa0, entry_triggers 
= 0x562aa6b7aac0, entry_buffer = 0x562aa6b7aae0, messages = 0x562aa6b7bb10, 
command_parser = 0x562aa6b79010, mode = PLY_MODE_SHUTDOWN, 
local_consol

Bug#878115: plymouthd: random crash (SIGSEGV) during shutdown for reboot

2017-10-09 Thread Paul Wise
Package: plymouth
Version: 0.9.3-1
Severity: normal
File: /sbin/plymouthd
Usertags: crash

During the shutdown process for rebooting I got a random crash
(SIGSEGV) of the plymouthd process. If the below information isn't
useful, please close this bug report.

Here is the systemd journal log for the crash:

Oct 09 09:51:44 chianamo systemd[1]: plymouth-reboot.service: Failed with 
result 'core-dump'.
Oct 09 09:51:44 chianamo systemd[1]: plymouth-reboot.service: Unit entered 
failed state.
Oct 09 09:51:44 chianamo systemd[1]: Failed to start Show Plymouth Reboot 
Screen.
Oct 09 09:51:44 chianamo systemd[1]: plymouth-reboot.service: Main process 
exited, code=dumped, status=11/SEGV
Oct 09 09:51:44 chianamo plymouth[25859]: error: unexpectedly disconnected from 
boot status daemon

Here is the gdb backtrace for the crash:

$ gdb -batch -n -ex 'set pagination off' -ex bt -ex 'thread apply all bt full' 
--core /var/crash/0/25858-0-0-11-1507513903-chianamo--sbin-plymouthd.core 
/sbin/plymouthd
[New LWP 25858]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `@sbin/plymouthd --mode=shutdown --attach-to-session'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  strlen () at ../sysdeps/x86_64/strlen.S:106
106 ../sysdeps/x86_64/strlen.S: No such file or directory.
#0  0x7f061f7b1676 in strlen () at ../sysdeps/x86_64/strlen.S:106
#1  0x7f061f7b13ae in __GI___strdup (s=0x0) at strdup.c:41
#2  0x7f061fadcfb0 in ply_renderer_load_plugin (module_path=0x7f061fae12b8 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/x11.so", renderer=0x5561e1c6da60) 
at ply-renderer.c:160
#3  0x7f061fadcfb0 in ply_renderer_open_plugin (plugin_path=0x7f061fae12b8 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/x11.so", renderer=0x5561e1c6da60) 
at ply-renderer.c:238
#4  0x7f061fadcfb0 in ply_renderer_open 
(renderer=renderer@entry=0x5561e1c6da60) at ply-renderer.c:281
#5  0x7f061fad4b82 in create_devices_for_terminal_and_renderer_type 
(manager=0x5561e1c6c440, device_path=0x0, terminal=0x5561e1c6c4e0, 
renderer_type=PLY_RENDERER_TYPE_AUTO) at ply-device-manager.c:683
#6  0x5561e013453b in load_devices 
(flags=PLY_DEVICE_MANAGER_FLAGS_IGNORE_UDEV, state=0x7fff545ebed0) at 
main.c:1130
#7  0x5561e013453b in main (argc=3, argv=0x7fff545ed0b8) at main.c:2368

Thread 1 (Thread 0x7f06200e9b80 (LWP 25858)):
#0  0x7f061f7b1676 in strlen () at ../sysdeps/x86_64/strlen.S:106
#1  0x7f061f7b13ae in __GI___strdup (s=0x0) at strdup.c:41
len = 
new = 
#2  0x7f061fadcfb0 in ply_renderer_load_plugin (module_path=0x7f061fae12b8 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/x11.so", renderer=0x5561e1c6da60) 
at ply-renderer.c:160
get_renderer_backend_interface = 
i = 
known_plugins = {{type = PLY_RENDERER_TYPE_X11, path = 0x7f061fae12b8 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/x11.so"}, {type = 
PLY_RENDERER_TYPE_DRM, path = 0x7f061fae12f0 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/drm.so"}, {type = 
PLY_RENDERER_TYPE_FRAME_BUFFER, path = 0x7f061fae1328 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/frame-buffer.so"}, {type = 
PLY_RENDERER_TYPE_NONE, path = 0x0}}
__func__ = "ply_renderer_open"
#3  0x7f061fadcfb0 in ply_renderer_open_plugin (plugin_path=0x7f061fae12b8 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/x11.so", renderer=0x5561e1c6da60) 
at ply-renderer.c:238
i = 
known_plugins = {{type = PLY_RENDERER_TYPE_X11, path = 0x7f061fae12b8 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/x11.so"}, {type = 
PLY_RENDERER_TYPE_DRM, path = 0x7f061fae12f0 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/drm.so"}, {type = 
PLY_RENDERER_TYPE_FRAME_BUFFER, path = 0x7f061fae1328 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/frame-buffer.so"}, {type = 
PLY_RENDERER_TYPE_NONE, path = 0x0}}
__func__ = "ply_renderer_open"
#4  0x7f061fadcfb0 in ply_renderer_open 
(renderer=renderer@entry=0x5561e1c6da60) at ply-renderer.c:281
i = 
known_plugins = {{type = PLY_RENDERER_TYPE_X11, path = 0x7f061fae12b8 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/x11.so"}, {type = 
PLY_RENDERER_TYPE_DRM, path = 0x7f061fae12f0 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/drm.so"}, {type = 
PLY_RENDERER_TYPE_FRAME_BUFFER, path = 0x7f061fae1328 
"/usr/lib/x86_64-linux-gnu/plymouth/renderers/frame-buffer.so"}, {type = 
PLY_RENDERER_TYPE_NONE, path = 0x0}}
__func__ = "ply_renderer_open"
#5  0x7f061fad4b82 in create_devices_for_terminal_and_renderer_type 
(manager=0x5561e1c6c440, device_path=0x0, terminal=0x5561e1c6c4e0, 
renderer_type=PLY_RENDERER_TYPE_AUTO) at ply-device-manager.c:683
old_renderer = 0x0
renderer = 0x5561e1c6da60
keyboard = 0x0
__func__ = "create_devices_for_terminal_and_renderer_type"
#6  0x5561e013453b in load_devices 
(flags=PLY_DEVICE_MANAGER_FLAGS_IGNORE_UDEV, state=0x7ff