[ovs-dev] [PATCHv2] fatal-signal: Log backtrace when no monitor daemon.

William Tu u9012063 at gmail.com
Mon Mar 23 18:54:45 UTC 2020


On Mon, Mar 23, 2020 at 10:42 AM Ilya Maximets <i.maximets at ovn.org> wrote:
>
> 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
>
Thanks!
I'm working on the fix.
William


More information about the dev mailing list