Bug 902401 - plymouth segfault
Summary: plymouth segfault
Status: NEW
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Basesystem (show other bugs)
Version: Current
Hardware: x86-64 SUSE Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Cliff Zhao
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-23 13:05 UTC by Martin Pluskal
Modified: 2019-11-15 09:14 UTC (History)
4 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
Kernel trace (261.99 KB, image/jpeg)
2015-03-30 10:38 UTC, Giuseppe Gorgoglione
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Pluskal 2014-10-23 13:05:33 UTC
# systemd-coredumpctl gdb 169
TIME                                         PID   UID   GID SIG EXE
             Čt 2014-10-23 14:42:07 CEST    169     0     0  11 /usr/sbin/plymouthd
GNU gdb (GDB; openSUSE Factory) 7.8
Copyright (C) 2014 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 "i586-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"...

warning: /etc/gdbinit.d/gdb-heap.py: Adresář nebo soubor neexistuje
Reading symbols from /usr/sbin/plymouthd...Reading symbols from /usr/lib/debug/usr/sbin/plymouthd.debug...done.
done.
[New LWP 169]
b[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/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 SIGSEGV, Segmentation fault.
#0  ply_event_loop_stop_watching_signal (loop=0x7665642f, signal_number=signal_number@entry=28) at ply-event-loop.c:869
t869    ply-event-loop.c: Adresář nebo soubor neexistuje.
(gdb) bt
#0  ply_event_loop_stop_watching_signal (loop=0x7665642f, signal_number=signal_number@entry=28) at ply-event-loop.c:869
#1  0xb76febe7 in ply_terminal_close (terminal=0x99f4008) at ply-terminal.c:707
#2  0xb7717159 in ply_hashtable_foreach (hashtable=0x99f3dc8, func=0xb76feb10 <ply_terminal_close>, user_data=user_data@entry=0x99f3e18) at ply-hashtable.c:272
#3  0xb76fb0fc in ply_close_all_terminals (manager=0x99f3e18) at ply-device-manager.c:954
#4  0x0805396c in quit_splash (state=state@entry=0xbff95794) at main.c:1083
#5  0x08053a4f in dump_details_and_quit_splash (state=state@entry=0xbff95794) at main.c:1114
#6  0x08053ccf in on_quit (state=0xbff95794, retain_splash=false, quit_trigger=0x99f6ac0) at main.c:1349
#7  0x0804ee27 in ply_boot_connection_on_request (connection=0x9a028e0) at ply-boot-server.c:534
#8  0xb7713fc6 in ply_event_loop_handle_met_status_for_source (status=PLY_EVENT_LOOP_FD_STATUS_HAS_DATA, source=0x99f1af0, loop=0x99ef0b0) at ply-event-loop.c:1060
#9  ply_event_loop_process_pending_events (loop=loop@entry=0x99ef0b0) at ply-event-loop.c:1327
#10 0xb7714508 in ply_event_loop_run (loop=0x99ef0b0) at ply-event-loop.c:1359
#11 0x0804c424 in main (argc=4, argv=0xbff95ab4) at main.c:2357
(gdb) bt full
#0  ply_event_loop_stop_watching_signal (loop=0x7665642f, signal_number=signal_number@entry=28) at ply-event-loop.c:869
        node = 0x19
#1  0xb76febe7 in ply_terminal_close (terminal=0x99f4008) at ply-terminal.c:707
        __func__ = "ply_terminal_close"
#2  0xb7717159 in ply_hashtable_foreach (hashtable=0x99f3dc8, func=0xb76feb10 <ply_terminal_close>, user_data=user_data@entry=0x99f3e18) at ply-hashtable.c:272
        i = 5
#3  0xb76fb0fc in ply_close_all_terminals (manager=0x99f3e18) at ply-device-manager.c:954
No locals.
#4  0x0805396c in quit_splash (state=state@entry=0xbff95794) at main.c:1083
        __func__ = "quit_splash"
#5  0x08053a4f in dump_details_and_quit_splash (state=state@entry=0xbff95794) at main.c:1114
No locals.
#6  0x08053ccf in on_quit (state=0xbff95794, retain_splash=false, quit_trigger=0x99f6ac0) at main.c:1349
        __func__ = "on_quit"
#7  0x0804ee27 in ply_boot_connection_on_request (connection=0x9a028e0) at ply-boot-server.c:534
        retain_splash = false
        quit_trigger = 0x99f6ac0
        server = 0x99f1688
        command = 0x99f69f8 "Q"
        argument = 0x99f6b40 ""
        __PRETTY_FUNCTION__ = "ply_boot_connection_on_request"
        __func__ = "ply_boot_connection_on_request"
#8  0xb7713fc6 in ply_event_loop_handle_met_status_for_source (status=PLY_EVENT_LOOP_FD_STATUS_HAS_DATA, source=0x99f1af0, loop=0x99ef0b0) at ply-event-loop.c:1060
        next_node = 0x0
        destination = 0x9a02a50
        node = <optimized out>
#9  ply_event_loop_process_pending_events (loop=loop@entry=0x99ef0b0) at ply-event-loop.c:1327
        source = 0x99f1af0
        is_disconnected = <optimized out>
        number_of_received_events = 1
        i = 0
        events = {{events = 1, data = {ptr = 0x99f1af0, fd = 161422064, u32 = 161422064, u64 = 161422064}}, {events = 4294967295, data = {ptr = 0xffffffff, fd = -1, u32 = 4294967295, 
              u64 = 18446744073709551615}} <repeats 63 times>}
        __PRETTY_FUNCTION__ = "ply_event_loop_process_pending_events"
#10 0xb7714508 in ply_event_loop_run (loop=0x99ef0b0) at ply-event-loop.c:1359
No locals.
#11 0x0804c424 in main (argc=4, argv=0xbff95ab4) at main.c:2357
        state = {loop = 0x99ef0b0, boot_server = 0x99f1688, boot_splash = 0x0, session = 0x99f27e0, boot_buffer = 0x99f17c8, progress = 0x99f3d60, keystroke_triggers = 0x99ef5e0, entry_triggers = 0x99ef5f0, 
          entry_buffer = 0x99f0660, messages = 0x99f1678, command_parser = 0x99ef008, mode = PLY_MODE_BOOT, local_console_terminal = 0x99f40d8, device_manager = 0x99f3e18, deactivate_trigger = 0x0, quit_trigger = 0x99f6ac0, 
          start_time = 2.9794491600000002, splash_delay = nan(0x8000000000000), 
          kernel_command_line = "BOOT_IMAGE=/boot/vmlinuz-3.17.1-0.g5c4d099-default root=UUID=04f6a8f9-ec8e-4fd8-9d03-9159c16a0a32 resume=/dev/disk/by-id/ata-ST3200827A_5ND4PPCL-part1 splash=silent quiet showopts Y2DEBUG=1\n", '\000' <repeats 321 times>, kernel_command_line_is_set = 1, no_boot_log = 0, showing_details = 1, system_initialized = 1, is_redirected = 0, is_attached = 0, should_be_attached = 1, should_retain_splash = 0, is_inactive = 1, 
          is_shown = 0, should_force_details = 0, override_splash_path = 0x0, system_default_splash_path = 0x99f3e80 "/usr/share/plymouth/themes/openSUSE/openSUSE.plymouth", 
          distribution_default_splash_path = 0x99f3f80 "/usr/share/plymouth/themes/openSUSE/openSUSE.plymouth", default_tty = 0x805641f "/dev/tty7", number_of_errors = 0}
        exit_code = <optimized out>
        should_help = false
        no_boot_log = false
        no_daemon = false
        debug = false
        attach_to_session = true
        daemon_handle = 0x99ef5a0
        mode_string = 0x99ef5a0 " "
        kernel_command_line = 0x0
        tty = 0x0
        device_manager_flags = <optimized out>
        sa = {__sigaction_handler = {sa_handler = 0x80529e0 <dosigaction>, sa_sigaction = 0x80529e0 <dosigaction>}, sa_mask = {__val = {0 <repeats 32 times>}}, sa_flags = -2147483648, sa_restorer = 0x0}
        __func__ = "main"
Comment 1 Ondřej Súkup 2014-11-20 15:52:15 UTC
same problem on openSUSE Tumbleweed x86-64
Comment 2 Giuseppe Gorgoglione 2015-03-30 10:38:14 UTC
Created attachment 629166 [details]
Kernel trace
Comment 3 Giuseppe Gorgoglione 2015-03-30 10:38:46 UTC
My test system is openSUSE Tumbleweed x86_64-Snapshot20150328 installed in a VMware Workstation 10.0.5 build-2443746 virtual box.

Plymouth splash screen never worked for me since openSUSE 13.2. After boot

> systemctl status plymouth-start.service

shows:

● plymouth-start.service - Show Plymouth Boot Screen
   Loaded: loaded (/usr/lib/systemd/system/plymouth-start.service; disabled; vendor preset: disabled)
   Active: failed (Result: signal) since Mon 2015-03-30 12:23:07 CEST; 5min ago
 Main PID: 206 (code=killed, signal=SEGV)

and:

> systemctl restart plymouth-start.service

reliably hangs the kernel into the vmwgfx driver.

In attachment a picture with the kernel trace.
Comment 4 Robby Engelmann 2015-04-03 06:16:46 UTC
same here on snapshot 20150330
Comment 5 Robby Engelmann 2015-08-17 14:19:22 UTC
still valid here:

systemctl status plymouth-start.service
● plymouth-start.service - Show Plymouth Boot Screen
   Loaded: loaded (/usr/lib/systemd/system/plymouth-start.service; disabled; vendor preset: disabled)
   Active: failed (Result: signal) since Mo 2015-08-17 13:00:10 CEST; 3h 18min ago
 Main PID: 365 (code=killed, signal=SEGV)

Aug 17 12:59:57 linux systemd[1]: Starting Show Plymouth Boot Screen...
Aug 17 12:59:57 linux systemd[1]: Started Show Plymouth Boot Screen.
Aug 17 13:00:10 linux.site systemd[1]: plymouth-start.service: main process exited, code=killed, status=11/SEGV
Aug 17 13:00:10 linux.site systemd[1]: Unit plymouth-start.service entered failed state.
Aug 17 13:00:10 linux.site systemd[1]: plymouth-start.service failed.
Comment 6 Cliff Zhao 2019-11-15 09:14:18 UTC
Hi Martin:
Does this bug still happen in the Tumbleweed nowadays? I have tested it in many hardware platforms including Nvidia, AMD, and Intel, Plymouth works fine in my side. and another bug which also reported crash in ply_terminal_close has been fixed after some not quite mature fixes dropped from the repo. So could you confirm? 
Thanks!