plymouth boot splash failed on i915 framebuffer
Another system, another issue with similar behavior: an aged Toshiba notebook "Satellite Pro C660" with a Core i3 M 370.
Current Tumbleweed with kernel 5.9.1, gcc10, glibc 2.32, and 1253f7a2
Oct 24 17:34:19 oskar systemd[1]: Received SIGRTMIN+20 from PID 287 (plymouthd).
Oct 24 17:34:19 oskar systemd-coredump[288]: Failed to connect to coredump service: No such file or directory
Oct 24 17:34:19 oskar plymouth[289]: error: unexpectedly disconnected from boot status daemon
Oct 24 17:34:19 oskar systemd[1]: plymouth-start.service: Main process exited, code=dumped, status=6/ABRT
Oct 24 17:34:19 oskar systemd[1]: plymouth-start.service: Failed with result 'core-dump'.
Oct 24 17:34:19 oskar systemd[1]: Failed to start Show Plymouth Boot Screen.
Oct 24 17:34:22 oskar systemd[1]: Received SIGRTMIN+20 from PID 390 (plymouthd).
Oct 24 17:34:22 oskar systemd[1]: initrd-udevadm-cleanup-db.service: Succeeded.
Oct 24 17:34:22 oskar systemd[1]: Finished Cleanup udev Database.
Oct 24 17:34:22 oskar systemd[1]: Reached target Switch Root.
Oct 24 17:34:22 oskar systemd[1]: Starting Switch Root...
Oct 24 17:34:22 oskar systemd-coredump[393]: Failed to connect to coredump service: No such file or directory
Oct 24 17:34:22 oskar plymouth[391]: error: unexpectedly disconnected from boot status daemon
Oct 24 15:34:24 oskar systemd-coredump[707]: Process 686 (plymouthd) of user 0 dumped core.
A bit more verbose:
$ coredumpctl debug
PID: 686 (plymouthd)
UID: 0 (root)
GID: 0 (root)
Signal: 6 (ABRT)
Timestamp: Sat 2020-10-24 15:34:24 CEST (20min ago)
Command Line: @usr/sbin/plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session
Executable: /usr/sbin/plymouthd
Control Group: /system.slice/plymouth-start.service
Unit: plymouth-start.service
Slice: system.slice
Boot ID: b922dce667e64945ba626245f3631269
Machine ID: 84fd7f0975d0446ea09af52681fa3787
Hostname: oskar
Storage: /var/lib/systemd/coredump/core.plymouthd.0.b922dce667e64945ba626245f3631269.686.1603546464000000.lz4
Message: Process 686 (plymouthd) of user 0 dumped core.
Stack trace of thread 686:
#0 0x00007faa59c93641 __GI_raise (libc.so.6 + 0x3d641)
#1 0x00007faa59c7c538 __GI_abort (libc.so.6 + 0x26538)
#2 0x00007faa59c7c421 __assert_fail_base (libc.so.6 + 0x26421)
#3 0x00007faa59c8bb42 __GI___assert_fail (libc.so.6 + 0x35b42)
#4 0x00007faa59e509ae ply_event_loop_watch_for_timeout (libply.so.5 + 0xe9ae)
#5 0x0000564232f3c410 main (plymouthd + 0x6410)
#6 0x00007faa59c7de0a __libc_start_main (libc.so.6 + 0x27e0a)
#7 0x0000564232f3e85a _start (plymouthd + 0x885a)
GNU gdb (GDB; openSUSE Tumbleweed) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://bugs.opensuse.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/plymouthd...
Reading symbols from /usr/lib/debug/usr/sbin/plymouthd-0.9.5+git20200925.1253f7a-325.1.x86_64.debug...
[New LWP 686]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `@usr/sbin/plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-sessio'.
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
49 return ret;
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#1 0x00007faa59c7c538 in __GI_abort () at abort.c:79
#2 0x00007faa59c7c421 in __assert_fail_base (fmt=0x7faa59de6ec8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7faa59e5652c "seconds > 0.0",
file=0x7faa59e56000 "ply-event-loop.c", line=917, function=<optimized out>) at assert.c:92
#3 0x00007faa59c8bb42 in __GI___assert_fail (assertion=assertion@entry=0x7faa59e5652c "seconds > 0.0", file=file@entry=0x7faa59e56000 "ply-event-loop.c", line=line@entry=917,
function=function@entry=0x7faa59e58a80 <__PRETTY_FUNCTION__.14.lto_priv.0> "ply_event_loop_watch_for_timeout") at assert.c:101
#4 0x00007faa59e509ae in ply_event_loop_watch_for_timeout (loop=<optimized out>, seconds=<optimized out>, timeout_handler=0x7faa59e33360 <create_devices_from_udev>,
user_data=<optimized out>) at ply-event-loop.c:917
#5 0x0000564232f3c410 in load_devices (flags=PLY_DEVICE_MANAGER_FLAGS_NONE, state=0x7fff0a34ca30) at main.c:1093
#6 main (argc=<optimized out>, argv=<optimized out>) at main.c:2282
When running on a text console, it receives a SIGUSR2 due to vt switching:
oskar:~# gdb plymouthd -ex 'set args --no-daemon' -ex run
Reading symbols from plymouthd...
Reading symbols from /usr/lib/debug/usr/sbin/plymouthd-0.9.5+git20200925.1253f7a-325.1.x86_64.debug...
Starting program: /usr/sbin/plymouthd --no-daemon
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Program received signal SIGUSR2, User defined signal 2.
0x00007ffff7e958a7 in ioctl () at ../sysdeps/unix/syscall-template.S:120
120 T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
(gdb) bt
#0 0x00007ffff7e958a7 in ioctl () at ../sysdeps/unix/syscall-template.S:120
#1 0x00007ffff7f77018 in set_active_vt (terminal=0x555555582730, terminal=0x555555582730, vt_number=<optimized out>) at ply-terminal.c:957
#2 ply_terminal_activate_vt (terminal=0x555555582730) at ply-terminal.c:957
#3 ply_terminal_activate_vt (terminal=0x555555582730) at ply-terminal.c:947
#4 0x00007ffff7fb5bd2 in map_to_device (backend=0x555555583480) at plugin.c:1592
#5 0x00007ffff7f7aec0 in ply_renderer_map_to_device (renderer=0x5555555838c0) at ply-renderer.c:214
#6 ply_renderer_flush_head (renderer=0x5555555838c0, head=0x555555585a70) at ply-renderer.c:364
#7 0x00007ffff7f7b04b in ply_pixel_display_flush (display=<optimized out>, display=<optimized out>) at ply-pixel-display.c:117
#8 ply_pixel_display_flush (display=<optimized out>) at ply-pixel-display.c:117
#9 ply_pixel_display_draw_area (display=<optimized out>, x=<optimized out>, y=<optimized out>, width=<optimized out>, height=<optimized out>) at ply-pixel-display.c:169
#10 0x00007ffff7e213f0 in ?? () from /lib64/libc.so.6
#11 0x00007ffff7e2950a in _int_malloc (av=0x300, av@entry=0x7ffff7f61a00 <main_arena>, bytes=1, bytes@entry=24) at malloc.c:4066
#12 0x00007ffff7e2b3d1 in __libc_calloc (n=<optimized out>, elem_size=<optimized out>) at malloc.c:3448
#13 0x000055555558e150 in ?? ()
#14 0x0000000000000002 in ?? ()
#15 0x00007ffff7c066c8 in ?? ()
#16 0x00005555555793e0 in ?? ()
#17 0x00007ffff79313c6 in start_progress_animation (plugin=0x555555579440) at plugin.c:1684
#18 show_splash_screen (plugin=0x555555579440, loop=0x5555555793e0, boot_buffer=<optimized out>, mode=<optimized out>) at plugin.c:1684
#19 0x00007ffff7f7f43b in ply_boot_splash_show (splash=0x555555588570, mode=PLY_BOOT_SPLASH_MODE_BOOT_UP) at ply-boot-splash.c:487
#20 0x000055555556c1dc in show_theme (state=0x7fffffffde40, theme_path=<optimized out>) at main.c:1735
#21 0x000055555556ca4a in show_default_splash.part.0.lto_priv.0 (state=0x7fffffffde40) at main.c:454
#22 0x000055555556d898 in show_default_splash (state=0x7fffffffde40) at main.c:976
#23 show_splash.part.0.lto_priv.0 (state=0x7fffffffde40) at main.c:972
#24 0x000055555555e52a in ply_boot_connection_on_request (connection=0x5555555883e0) at ply-boot-server.c:705
#25 0x00007ffff7f99fe9 in ply_event_loop_handle_met_status_for_source (status=<optimized out>, source=0x555555588410, loop=0x5555555793e0) at ply-event-loop.c:1040
#26 ply_event_loop_process_pending_events (loop=0x5555555793e0) at ply-event-loop.c:1279
#27 ply_event_loop_process_pending_events (loop=loop@entry=0x5555555793e0) at ply-event-loop.c:1210
#28 0x00007ffff7f9a450 in ply_event_loop_run (loop=0x5555555793e0) at ply-event-loop.c:1310
#29 0x000055555555a44d in main (argc=<optimized out>, argv=<optimized out>) at main.c:2285
Again, I'm not sure, how to proceed. This systems was fine as well a couple of weeks ago.
An older kernel doesn't change the picture. Might be anything from kernel, dracut, glibc, gcc, whatever