+1, send to stderr so systemd can pick it up

Thanks for your contribution...

> On 14 Jun 2018, at 14:21, Dave Barach via Lists.Fd.Io 
> <dbarach=cisco....@lists.fd.io> wrote:
> 
> Sure. Personally, I'd send the backtrace to syslog vs. creating yet-another 
> logfile.
> 
> D.
> 
> -----Original Message-----
> From: vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io> <vpp-dev@lists.fd.io 
> <mailto:vpp-dev@lists.fd.io>> On Behalf Of Kingwel Xie
> Sent: Thursday, June 14, 2018 2:54 AM
> To: Kingwel Xie <kingwel....@ericsson.com <mailto:kingwel....@ericsson.com>>; 
> Damjan Marion <dmar...@me.com <mailto:dmar...@me.com>>
> Cc: vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io>
> Subject: Re: [vpp-dev] Integration with libbacktrace
> 
> Hi,
> 
> Finally I removed libbacktrace dependency, but to use glibc 'backtrace' which 
> can be found in execinfo.h.
> 
> The generated crashdump will look like below. I can create a patch if you 
> think it is valuable.
> 
> Regards,
> Kingwel
> 
> -----------------------------------------------------------------------------------------------
> DBGvpp# 
> DBGvpp# test crash 
> 
> Thread 1 "kw_main" received signal SIGSEGV, Segmentation fault.
> 0x0000000000407ace in test_crash_command_fn (vm=0x7ffff7b89ac0 
> <vlib_global_main>, input=0x7fffbceabee0, cmd=0x7fffbcdda1a0)
>    at /home/vppshare/kingwel/vpp/build-data/../src/vpp/vnet/main.c:387
> /home/vppshare/kingwel/vpp/src/vpp/vnet/main.c:387:8300:beg:0x407ace
> (gdb) c
> Continuing.
> Writing crashdump to ./crashdump-2018-06-14-06-51-53.log ...
> #0  0x00007ffff794a428 unix_signal_handler + 0x2e7
> #1  0x00007ffff6168390 0x7ffff6168390
> #2  0x0000000000407ace test_crash_command_fn + 0x53
> #3  0x00007ffff789bd47 vlib_cli_dispatch_sub_commands + 0xc27
> #4  0x00007ffff789bc55 vlib_cli_dispatch_sub_commands + 0xb35
> #5  0x00007ffff789c02c vlib_cli_input + 0xc0
> #6  0x00007ffff7940ac0 unix_cli_process_input + 0x2dc
> #7  0x00007ffff79415e2 unix_cli_process + 0x94
> #8  0x00007ffff78db84d vlib_process_bootstrap + 0x66
> #9  0x00007ffff63ca8a8 0x7ffff63ca8a8
> 
> Thread 1 "kw_main" received signal SIGABRT, Aborted.
> 0x00007ffff5bbe428 in __GI_raise (sig=sig@entry=6) at 
> ../sysdeps/unix/sysv/linux/raise.c:54
> 54      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
> (gdb) bt
> #0  0x00007ffff5bbe428 in __GI_raise (sig=sig@entry=6) at 
> ../sysdeps/unix/sysv/linux/raise.c:54
> #1  0x00007ffff5bc002a in __GI_abort () at abort.c:89
> #2  0x00000000004079c9 in os_exit (code=1) at 
> /home/vppshare/kingwel/vpp/build-data/../src/vpp/vnet/main.c:334
> #3  0x00007ffff794a528 in unix_signal_handler (signum=11, si=0x7fffbceab6f0, 
> uc=0x7fffbceab5c0)
>    at /home/vppshare/kingwel/vpp/build-data/../src/vlib/unix/main.c:181
> #4  <signal handler called>
> #5  0x0000000000407ace in test_crash_command_fn (vm=0x7ffff7b89ac0 
> <vlib_global_main>, input=0x7fffbceabee0, cmd=0x7fffbcdda1a0)
>    at /home/vppshare/kingwel/vpp/build-data/../src/vpp/vnet/main.c:387
> #6  0x00007ffff789bd47 in vlib_cli_dispatch_sub_commands (vm=0x7ffff7b89ac0 
> <vlib_global_main>, cm=0x7ffff7b89ca0 <vlib_global_main+480>, 
>    input=0x7fffbceabee0, parent_command_index=143) at 
> /home/vppshare/kingwel/vpp/build-data/../src/vlib/cli.c:589
> #7  0x00007ffff789bc55 in vlib_cli_dispatch_sub_commands (vm=0x7ffff7b89ac0 
> <vlib_global_main>, cm=0x7ffff7b89ca0 <vlib_global_main+480>, 
>    input=0x7fffbceabee0, parent_command_index=0) at 
> /home/vppshare/kingwel/vpp/build-data/../src/vlib/cli.c:567
> #8  0x00007ffff789c02c in vlib_cli_input (vm=0x7ffff7b89ac0 
> <vlib_global_main>, input=0x7fffbceabee0, 
>    function=0x7ffff793afe8 <unix_vlib_cli_output>, function_arg=0) at 
> /home/vppshare/kingwel/vpp/build-data/../src/vlib/cli.c:663
> #9  0x00007ffff7940ac0 in unix_cli_process_input (cm=0x7ffff7b89880 
> <unix_cli_main>, cli_file_index=0)
>    at /home/vppshare/kingwel/vpp/build-data/../src/vlib/unix/cli.c:2419
> #10 0x00007ffff79415e2 in unix_cli_process (vm=0x7ffff7b89ac0 
> <vlib_global_main>, rt=0x7fffbce9b000, f=0x0)
>    at /home/vppshare/kingwel/vpp/build-data/../src/vlib/unix/cli.c:2531
> #11 0x00007ffff78db84d in vlib_process_bootstrap (_a=140736265931088) at 
> /home/vppshare/kingwel/vpp/build-data/../src/vlib/main.c:1231
> #12 0x00007ffff63ca8a8 in clib_calljmp () at 
> /home/vppshare/kingwel/vpp/build-data/../src/vppinfra/longjmp.S:110
> #13 0x00007fffb7234920 in ?? ()
> #14 0x00007ffff78db978 in vlib_process_startup (vm=0x28, p=0x1, f=0x0) at 
> /home/vppshare/kingwel/vpp/build-data/../src/vlib/main.c:1253
> 
> 
> -----Original Message-----
> From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Kingwel Xie
> Sent: Monday, June 11, 2018 7:48 PM
> To: Damjan Marion <dmar...@me.com>
> Cc: vpp-dev@lists.fd.io
> Subject: Re: [vpp-dev] Integration with libbacktrace
> 
> No idea. Hope someone can point it out.
> 
> The libbacktrace can locate the line number of the code, otherwise we'd like 
> to use glibc backtrace which can generate like:
> 
> mheap_put+0x230
> clib_mem_free+0x190
> 
> It would take extra time to convert the offset to the line number by using 
> addr2line.
> 
> It is a bit heavy to integrate something like libbacktrace. This is why I'm 
> wondering. Probably we can take a light-weight approach to add glib backtrace 
> shown above. No dependency :-)
> 
> Regards,
> Kingwel
> 
> -----Original Message-----
> From: Damjan Marion <dmar...@me.com> 
> Sent: Monday, June 11, 2018 7:27 PM
> To: Kingwel Xie <kingwel....@ericsson.com>
> Cc: vpp-dev@lists.fd.io
> Subject: Re: [vpp-dev] Integration with libbacktrace
> 
> 
> What is the difference between libunwind and libbacktrace?
> 
> I can see that libunwind is available as package on ubuntu, and libbacktrace 
> is not...
> 
> 
>> On 11 Jun 2018, at 11:41, Kingwel Xie <kingwel....@ericsson.com> wrote:
>> 
>> Hi all,
>> 
>> I’m wondering if it can be accepted by the community.
>> 
>> Every time when vPP crashes for some reason, core dump file can be used for 
>> further analysis. However, core file is usually big and even unfortunately 
>> isn’t generated. A trick we used before is to generate a crash dump file to 
>> indicate some basic information. This file is a text file like below, not 
>> intended to replace core dump, but useful for a quick analysis.
>> 
>> To make it more friendly, we use libbacktrace instead of glic backtrace 
>> function which can only indicate the function name plus offset. Therefore, 
>> integration of libbacktrace is now in our code branch.
>> 
>> Can this be pushed upstream? Libbacktrace can be found at:
>> https://github.com/ianlancetaylor/libbacktrace
>> 
>> Regards,
>> Kingwel
>> 
>> ----------------------------------------------------------------------
>> ------------------------------------------------
>> DBGvpp# write crashdump to ../crashdump-2018-06-11-05-14-31.log
>> /home/vppshare/rich/vpp/build-root/install-vpp_debug-native/vpp/bin/vp
>> p: libbacktrace: DWARF underflow in .debug_abbrev at 402002 
>> 7f8907da336b unix_signal_handler 
>> /home/vppshare/rich/vpp/build-data/../src/vlib/unix/main.c:204
>> 7f89065f238f ?? ??:0
>> 7f8905e32428 gsignal ??:0
>> 7f8905e34029 abort ??:0
>> 407f7d os_panic 
>> /home/vppshare/rich/vpp/build-data/../src/vpp/vnet/main.c:310
>> 7f890686d890 mheap_put 
>> /home/vppshare/rich/vpp/build-data/../src/vppinfra/mheap.c:815
>> 7f89068c1531 clib_mem_free 
>> /home/vppshare/rich/vpp/build-data/../src/vppinfra/mem.h:186
>> 7f89068c1845 vec_resize_allocate_memory 
>> /home/vppshare/rich/vpp/build-data/../src/vppinfra/vec.c:96
>> 7f890683ea09 _vec_resize_inline 
>> /home/vppshare/rich/vpp/build-data/../src/vppinfra/vec.h:145
>> 7f890683fa59 do_percent 
>> /home/vppshare/rich/vpp/build-data/../src/vppinfra/format.c:341
>> 7f890683fec6 va_format 
>> /home/vppshare/rich/vpp/build-data/../src/vppinfra/format.c:404
>> 7f890682bfc3 elog_string 
>> /home/vppshare/rich/vpp/build-data/../src/vppinfra/elog.c:541
>> 7f8907ff0dc7 elog_id_for_msg_name 
>> /home/vppshare/rich/vpp/build-data/../src/vlibapi/api_shared.c:408
>> 7f8907ff1250 vl_msg_api_handler_with_vm_node 
>> /home/vppshare/rich/vpp/build-data/../src/vlibapi/api_shared.c:540
>> 7f8907ffbcec void_mem_api_handle_msg_i 
>> /home/vppshare/rich/vpp/build-data/../src/vlibmemory/memory_api.c:675
>> 7f8907ffbd5b vl_mem_api_handle_msg_main 
>> /home/vppshare/rich/vpp/build-data/../src/vlibmemory/memory_api.c:685
>> 7f89080168fe vl_api_clnt_process 
>> /home/vppshare/rich/vpp/build-data/../src/vlibmemory/vlib_api.c:380
>> 7f8907d346e0 vlib_process_bootstrap 
>> /home/vppshare/rich/vpp/build-data/../src/vlib/main.c:1280
>> 
>> 
> 
> 
> 
> 
> 
> 
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#9608): https://lists.fd.io/g/vpp-dev/message/9608
Mute This Topic: https://lists.fd.io/mt/21987007/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to