Dave & all,

I was suggested by some compiler guys to turn on the gcc option
-fsanitize=undefined since the error (and the actual way I used to fix it) 
might be caused by unaligned memory.

I did try that in my local repo and a lot of errors show up for
src/vppinfra/memcpy_sse3.h regarding a "load/store of misaligned
address".

I wonder if this is something we can address?

I did submit a fix to gerrit but - as suggested - it may only be a way
to workaround the underlying rootcause.


Cheers,
Marco

On Tue, 2017-08-29 at 08:50 +0200, Marco Varlese wrote:
> Hi Dave,
> 
> On Mon, 2017-08-28 at 14:12 -0400, Dave Wallace wrote:
> > Marco,
> > 
> > Thanks for the follow up. Could you please file a Jira for this
> > issue (https://jira.fd.io/secure/RapidBoard.jspa?rapidView=20&proje
> > ctKey=VPP) and/or submit a patch if you find a workaround?
> 
> Sure, I filed the bug and the link is https://jira.fd.io/browse/VPP-9
> 64
> I keep digging and hopefully find the solution soon! :)
> 
> > Thanks,
> > -daw-
> 
> Cheers,
> Marco
> 
> > On 08/28/2017 12:22 PM, Marco Varlese wrote:
> > > After long digging I managed to find the issue...
> > > 
> > > The problem happens when building VPP using gcc-7 compiler but it
> > > doesn't come up when building it with gcc-6.
> > > 
> > > I will keep digging into this but I hope it might be of help to
> > > you
> > > folks too...
> > > 
> > > 
> > > Cheers,
> > > Marco
> > > 
> > > On Mon, 2017-08-28 at 16:05 +0200, Marco Varlese wrote:
> > > > And a even more complete BT with sources below:
> > > > 
> > > > [Thread debugging using libthread_db enabled]
> > > > Using host libthread_db library "/lib64/libthread_db.so.1".
> > > > vlib_plugin_early_init:356: plugin path /usr/lib64/vpp_plugins
> > > > load_one_plugin:184: Loaded plugin: acl_plugin.so (Access
> > > > Control
> > > > Lists)
> > > > load_one_plugin:184: Loaded plugin: dpdk_plugin.so (Data Plane
> > > > Development Kit (DPDK))
> > > > load_one_plugin:184: Loaded plugin: flowprobe_plugin.so (Flow
> > > > per
> > > > Packet)
> > > > load_one_plugin:184: Loaded plugin: gtpu_plugin.so (GTPv1-U)
> > > > load_one_plugin:184: Loaded plugin: ila_plugin.so (Identifier-
> > > > locator
> > > > addressing for IPv6)
> > > > load_one_plugin:184: Loaded plugin: ioam_plugin.so (Inbound
> > > > OAM)
> > > > load_one_plugin:114: Plugin disabled (default): ixge_plugin.so
> > > > load_one_plugin:184: Loaded plugin: lb_plugin.so (Load
> > > > Balancer)
> > > > load_one_plugin:184: Loaded plugin: libsixrd_plugin.so (IPv6
> > > > Rapid
> > > > Deployment on IPv4 Infrastructure (RFC5969))
> > > > load_one_plugin:184: Loaded plugin: memif_plugin.so (Packet
> > > > Memory
> > > > Interface (experimetal))
> > > > load_one_plugin:184: Loaded plugin: nat_plugin.so (Network
> > > > Address
> > > > Translation)
> > > > load_one_plugin:184: Loaded plugin: pppoe_plugin.so (PPPoE)
> > > > 
> > > > Program received signal SIGSEGV, Segmentation fault.
> > > > mfib_entry_alloc (mfib_entry_index=<synthetic pointer>,
> > > > prefix=0x7fffb60f0ce0, fib_index=0) at /usr/src/debug/vpp-
> > > > 17.10/src/vnet/mfib/mfib_entry.c:407
> > > > 407         mfib_entry->mfe_prefix = *prefix;
> > > > Missing separate debuginfos, use: zypper install libdpdk-17_08-
> > > > 0-
> > > > debuginfo-17.08-82.1.x86_64 libnuma1-debuginfo-2.0.9-
> > > > 10.2.x86_64
> > > > libopenssl1_0_0-debuginfo-1.0.2j-6.3.1.x86_64 libz1-debuginfo-
> > > > 1.2.8-
> > > > 10.1.x86_64 vpp-plugins-debuginfo-17.10-14.2.x86_64
> > > > 
> > > > (gdb) bt
> > > > #0  mfib_entry_alloc (mfib_entry_index=<synthetic pointer>,
> > > > prefix=0x7fffb60f0ce0, fib_index=0) at /usr/src/debug/vpp-
> > > > 17.10/src/vnet/mfib/mfib_entry.c:407
> > > > #1  mfib_entry_create (fib_index=fib_index@entry=0, source=sour
> > > > ce@ent
> > > > ry
> > > > =MFIB_SOURCE_DEFAULT_ROUTE, prefix=prefix@entry=0x7fffb60f0ce0,
> > > > rpf_id=
> > > > rpf_id@entry=0, entry_flags=entry_flags@entry=MFIB_ENTRY_FLAG_D
> > > > ROP)
> > > >     at /usr/src/debug/vpp-17.10/src/vnet/mfib/mfib_entry.c:719
> > > > #2  0x00007ffff765cdc7 in mfib_table_entry_update (fib_index=0,
> > > > prefix=
> > > > prefix@entry=0x7fffb60f0ce0, source=source@entry=MFIB_SOURCE_DE
> > > > FAULT_
> > > > RO
> > > > UTE, rpf_id=rpf_id@entry=0, 
> > > >     entry_flags=entry_flags@entry=MFIB_ENTRY_FLAG_DROP) at
> > > > /usr/src/debug/vpp-17.10/src/vnet/mfib/mfib_table.c:184
> > > > #3  0x00007ffff7656b85 in ip4_create_mfib_with_table_id
> > > > (table_id=0)
> > > > at
> > > > /usr/src/debug/vpp-17.10/src/vnet/mfib/ip4_mfib.c:72
> > > > #4  ip4_mfib_table_find_or_create_and_lock (table_id=table_id@e
> > > > ntry=0
> > > > )
> > > > at /usr/src/debug/vpp-17.10/src/vnet/mfib/ip4_mfib.c:122
> > > > #5  0x00007ffff765d257 in mfib_table_find_or_create_and_lock
> > > > (proto=pro
> > > > to@entry=FIB_PROTOCOL_IP4, table_id=table_id@entry=0) at
> > > > /usr/src/debug/vpp-17.10/src/vnet/mfib/mfib_table.c:435
> > > > #6  0x00007ffff7338b14 in ip4_lookup_init (vm=vm@entry=0x7ffff7
> > > > bb62e0
> > > > <vlib_global_main>) at /usr/src/debug/vpp-
> > > > 17.10/src/vnet/ip/ip4_forward.c:1202
> > > > #7  0x00007ffff7273bff in vnet_main_init (vm=vm@entry=0x7ffff7b
> > > > b62e0
> > > > <vlib_global_main>) at /usr/src/debug/vpp-
> > > > 17.10/src/vnet/misc.c:92
> > > > #8  0x00007ffff73a4507 in ip_main_init (vm=0x7ffff7bb62e0
> > > > <vlib_global_main>) at /usr/src/debug/vpp-
> > > > 17.10/src/vnet/ip/ip_init.c:104
> > > > #9  0x00007fffb35d8572 in ?? () from
> > > > /usr/lib64/vpp_plugins/ioam_plugin.so
> > > > #10 0x00007ffff796128d in vlib_call_init_exit_functions
> > > > (vm=0x7ffff7bb62e0 <vlib_global_main>, head=<optimized out>,
> > > > call_once=
> > > > call_once@entry=1) at /usr/src/debug/vpp-
> > > > 17.10/src/vlib/init.c:57
> > > > #11 0x00007ffff79612d3 in vlib_call_all_init_functions
> > > > (vm=<optimized
> > > > out>) at /usr/src/debug/vpp-17.10/src/vlib/init.c:75
> > > > #12 0x00007ffff79657a5 in vlib_main (vm=<optimized out>, vm@ent
> > > > ry=0x7
> > > > ff
> > > > ff7bb62e0 <vlib_global_main>, input=input@entry=0x7fffb60f0fa0)
> > > > at
> > > > /usr/src/debug/vpp-17.10/src/vlib/main.c:1754
> > > > #13 0x00007ffff799d3c6 in thread0 (arg=140737349640928) at
> > > > /usr/src/debug/vpp-17.10/src/vlib/unix/main.c:525
> > > > #14 0x00007ffff6f7a250 in clib_calljmp () at
> > > > /usr/src/debug/vpp-
> > > > 17.10/src/vppinfra/longjmp.S:110
> > > > #15 0x00007fffffffd100 in ?? ()
> > > > #16 0x00007ffff799df54 in vlib_unix_main (argc=<optimized out>,
> > > > argv=<optimized out>) at /usr/src/debug/vpp-
> > > > 17.10/src/vlib/unix/main.c:588
> > > > #17 0x0000000000000000 in ?? ()
> > > > 
> > > > 
> > > > 
> > > > Regards,
> > > > Marco
> > > > 
> > > > On Mon, 2017-08-28 at 15:41 +0200, Marco Varlese wrote:
> > > > > Apologies, I forgot to also provide some extra information:
> > > > > 
> > > > > > Using DPDK 17.08.
> > > > > > A backtrace below:
> > > > > 
> > > > > (gdb) bt
> > > > > #0  0x00007ffff765bced in mfib_entry_create () from
> > > > > /usr/lib64/libvnet.so.0
> > > > > #1  0x00007ffff765cdc7 in mfib_table_entry_update () from
> > > > > /usr/lib64/libvnet.so.0
> > > > > #2  0x00007ffff7656b85 in
> > > > > ip4_mfib_table_find_or_create_and_lock ()
> > > > > from /usr/lib64/libvnet.so.0
> > > > > #3  0x00007ffff765d257 in mfib_table_find_or_create_and_lock
> > > > > ()
> > > > > from
> > > > > /usr/lib64/libvnet.so.0
> > > > > #4  0x00007ffff7338b14 in ip4_lookup_init () from
> > > > > /usr/lib64/libvnet.so.0
> > > > > #5  0x00007ffff7273bff in vnet_main_init () from
> > > > > /usr/lib64/libvnet.so.0
> > > > > #6  0x00007ffff73a4507 in ip_main_init () from
> > > > > /usr/lib64/libvnet.so.0
> > > > > #7  0x00007fffb35d8572 in ?? () from
> > > > > /usr/lib64/vpp_plugins/ioam_plugin.so
> > > > > #8  0x00007ffff796128d in vlib_call_init_exit_functions ()
> > > > > from
> > > > > /usr/lib64/libvlib.so.0
> > > > > #9  0x00007ffff79657a5 in vlib_main () from
> > > > > /usr/lib64/libvlib.so.0
> > > > > #10 0x00007ffff799d3c6 in ?? () from /usr/lib64/libvlib.so.0
> > > > > #11 0x00007ffff6f7a250 in clib_calljmp () from
> > > > > /usr/lib64/libvppinfra.so.0
> > > > > #12 0x00007fffffffd0f0 in ?? ()
> > > > > #13 0x00007ffff799df54 in vlib_unix_main () from
> > > > > /usr/lib64/libvlib.so.0
> > > > > #14 0x0000000000000000 in ?? ()
> > > > > 
> > > > > 
> > > > > Cheers,
> > > > > Marco
> > > > > 
> > > > > On Mon, 2017-08-28 at 15:10 +0200, Marco Varlese wrote:
> > > > > > Hi,
> > > > > > 
> > > > > > I'm running the tip of master branch and I get a
> > > > > > segmentation
> > > > > > fault
> > > > > > when launcing "vpp -c /etc/vpp/startup.conf"
> > > > > > 
> > > > > > My startup.conf is very simple, I don't even map dpdk
> > > > > > interfaces,
> > > > > > etc.
> > > > > > since I am using in a virt environment.
> > > > > > 
> > > > > > I wonder if by any chance a new setting/parameter was
> > > > > > introduced
> > > > > > which
> > > > > > I am missing hence having such an issue?
> > > > > > 
> > > > > > The stacktrace of the execution is below.
> > > > > > 
> > > > > > load_one_plugin:184: Loaded plugin: dpdk_plugin.so (Data
> > > > > > Plane
> > > > > > Development Kit (DPDK))
> > > > > > load_one_plugin:184: Loaded plugin: flowprobe_plugin.so
> > > > > > (Flow per
> > > > > > Packet)
> > > > > > load_one_plugin:184: Loaded plugin: gtpu_plugin.so (GTPv1-
> > > > > > U)
> > > > > > load_one_plugin:184: Loaded plugin: ila_plugin.so
> > > > > > (Identifier-
> > > > > > locator
> > > > > > addressing for IPv6)
> > > > > > load_one_plugin:184: Loaded plugin: ioam_plugin.so (Inbound
> > > > > > OAM)
> > > > > > load_one_plugin:114: Plugin disabled (default):
> > > > > > ixge_plugin.so
> > > > > > load_one_plugin:184: Loaded plugin: lb_plugin.so (Load
> > > > > > Balancer)
> > > > > > load_one_plugin:184: Loaded plugin: libsixrd_plugin.so
> > > > > > (IPv6
> > > > > > Rapid
> > > > > > Deployment on IPv4 Infrastructure (RFC5969))
> > > > > > load_one_plugin:184: Loaded plugin: memif_plugin.so (Packet
> > > > > > Memory
> > > > > > Interface (experimetal))
> > > > > > load_one_plugin:184: Loaded plugin: nat_plugin.so (Network
> > > > > > Address
> > > > > > Translation)
> > > > > > load_one_plugin:184: Loaded plugin: pppoe_plugin.so (PPPoE)
> > > > > > 
> > > > > > Program received signal SIGSEGV, Segmentation fault.
> > > > > > mfib_entry_alloc (mfib_entry_index=<synthetic pointer>,
> > > > > > prefix=0x7f1219818ce0, fib_index=0) at /usr/src/debug/vpp-
> > > > > > 17.10/src/vnet/mfib/mfib_entry.c:407
> > > > > > 407     mfib_entry->mfe_prefix = *prefix;
> > > > > > (gdb) 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > Thanks,
> > > > > > Marco
> > > > > > 
> > > > > > _______________________________________________
> > > > > > vpp-dev mailing list
> > > > > > vpp-dev@lists.fd.io
> > > > > > https://lists.fd.io/mailman/listinfo/vpp-dev
> > > > > > 
> > > > > 
> > > > > _______________________________________________
> > > > > vpp-dev mailing list
> > > > > vpp-dev@lists.fd.io
> > > > > https://lists.fd.io/mailman/listinfo/vpp-dev
> > > > > 
> > > > 
> > > > _______________________________________________
> > > > vpp-dev mailing list
> > > > vpp-dev@lists.fd.io
> > > > https://lists.fd.io/mailman/listinfo/vpp-dev
> > > > 
> > > 
> > > _______________________________________________
> > > vpp-dev mailing list
> > > vpp-dev@lists.fd.io
> > > https://lists.fd.io/mailman/listinfo/vpp-dev
> >  
> 
> _______________________________________________
> vpp-dev mailing list
> vpp-dev@lists.fd.io
> https://lists.fd.io/mailman/listinfo/vpp-dev
_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to