[ovs-dev] [PATCHv2] fatal-signal: Log backtrace when no monitor daemon.
Ilya Maximets
i.maximets at ovn.org
Mon Mar 23 17:42:08 UTC 2020
On 3/23/20 4:48 PM, William Tu wrote:
> Currently the backtrace logging is only available when monitor
> daemon is running. This patch enables backtrace logging when
> no monitor daemon exists. At signal handling context, it detects
> whether monitor daemon exists. If not, write directly the backtrace
> to the vlog fd. Note that using VLOG_* macro doesn't work due to
> it's buffer I/O, so this patch directly issue write() syscall to
> the file descriptor.
>
> For some system we stop using monitor daemon and use systemd to
> monitor ovs-vswitchd, thus need this patch. Example of
> ovs-vswitchd.log (note that there is no timestamp printed):
> 2020-03-23T14:42:12.949Z|00049|memory|INFO|175332 kB peak resident
> 2020-03-23T14:42:12.949Z|00050|memory|INFO|handlers:2 ports:3 reva
> SIGSEGV detected, backtrace:
> 0x0000000000486969 <fatal_signal_handler+0x49>
> 0x00007f7f5e57f4b0 <killpg+0x40>
> 0x000000000047daa8 <pmd_thread_main+0x238>
> 0x0000000000504edd <ovsthread_wrapper+0x7d>
> 0x00007f7f5f0476ba <start_thread+0xca>
> 0x00007f7f5e65141d <clone+0x6d>
> 0x0000000000000000 <+0x0>
>
> Signed-off-by: William Tu <u9012063 at gmail.com>
> ---
Hi, William and Ben.
This patch broke clang build:
lib/vlog.c:618:12: error: reading variable 'log_fd' requires holding mutex
'log_file_mutex' [-Werror,-Wthread-safety-analysis]
return log_fd;
^
https://travis-ci.org/github/openvswitch/ovs/builds/665956070
Best regards, Ilya Maximets.
More information about the dev
mailing list