systemctl: install sigbus handler (#3435)
This makes systemctl robust regarding journal truncation.
This is a follow-up for 2cf4172a71
Fixes:
Core was generated by `./systemctl status systemd-journald'.
Program terminated with signal SIGBUS, Bus error.
PID 8569 - core
TID 8569:
#0 0x00007f246cc89ed6 __memcmp_sse4_1
#1 0x0000557ebbc6f42c journal_file_init_header
#2 0x0000557ebbc77262 journal_file_open
#3 0x0000557ebbc42999 file_type_wanted
#4 0x0000557ebbc42e08 add_any_file
#5 0x0000557ebbc43832 add_directory
#6 0x0000557ebbc4401c add_root_directory
#7 0x0000557ebbc442e9 add_root_directory
#8 0x0000557ebbc446fc add_search_paths
#9 0x0000557ebbbacb5e show_journal_by_unit
#10 0x0000557ebbb8376d print_status_info
#11 0x0000557ebbb86a0b show_one
#12 0x0000557ebbb87954 show
#13 0x0000557ebbc20b1f dispatch_verb
#14 0x0000557ebbb90615 systemctl_main
#15 0x0000557ebbb9159f main
#16 0x00007f246cb3e731 __libc_start_main
#17 0x0000557ebbb75ae9 _start
This commit is contained in:
committed by
Zbigniew Jędrzejewski-Szmek
parent
20f8477be5
commit
592705f2f7
@@ -70,6 +70,7 @@
|
||||
#include "process-util.h"
|
||||
#include "rlimit-util.h"
|
||||
#include "set.h"
|
||||
#include "sigbus.h"
|
||||
#include "signal-util.h"
|
||||
#include "socket-util.h"
|
||||
#include "spawn-ask-password-agent.h"
|
||||
@@ -7807,6 +7808,7 @@ int main(int argc, char*argv[]) {
|
||||
setlocale(LC_ALL, "");
|
||||
log_parse_environment();
|
||||
log_open();
|
||||
sigbus_install();
|
||||
|
||||
/* Explicitly not on_tty() to avoid setting cached value.
|
||||
* This becomes relevant for piping output which might be
|
||||
|
||||
Reference in New Issue
Block a user