Can you try this: diff --git a/src/plugins/rdma/input.c b/src/plugins/rdma/input.c index cf0b6bffe..b461ee27b 100644 --- a/src/plugins/rdma/input.c +++ b/src/plugins/rdma/input.c @@ -103,7 +103,7 @@ rdma_device_input_refill (vlib_main_t * vm, rdma_device_t * rd,
if (is_mlx5dv) { - u64 va[8]; + u64 va[8] __attribute__((aligned(32))); mlx5dv_rwq_t *wqe = rxq->wqes + slot; while (n >= 1) Thanks! > On 6 May 2020, at 19:45, Elias Rudberg <elias.rudb...@bahnhof.net> wrote: > > Hello VPP experts, > > When trying to use the current master branch, we get a segmentation > fault error. Here is what it looks like in gdb: > > Thread 3 "vpp_wk_0" received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0x7fedf91fe700 (LWP 21309)] > rdma_device_input_refill (vm=0x7ff8a5d2f4c0, rd=0x7fedd35ed5c0, > rxq=0x7ffff7edea80, is_mlx5dv=1) > at vpp/src/plugins/rdma/input.c:115 > 115 *(u64x4 *) (va + 4) = u64x4_byte_swap (*(u64x4 *) (va > + 4)); > (gdb) bt > #0 rdma_device_input_refill (vm=0x7ff8a5d2f4c0, rd=0x7fedd35ed5c0, > rxq=0x7ffff7edea80, is_mlx5dv=1) > at vpp/src/plugins/rdma/input.c:115 > #1 0x00007fffabbbb84d in rdma_device_input_inline (vm=0x7ff8a5d2f4c0, > node=0x7ff5ccdfee00, frame=0x0, rd=0x7fedd35ed5c0, qid=0, use_mlx5dv=1) > at vpp/src/plugins/rdma/input.c:622 > #2 0x00007fffabbbae44 in rdma_input_node_fn_skx (vm=0x7ff8a5d2f4c0, > node=0x7ff5ccdfee00, frame=0x0) > at vpp/src/plugins/rdma/input.c:647 > #3 0x00007ffff60e3155 in dispatch_node (vm=0x7ff8a5d2f4c0, > node=0x7ff5ccdfee00, type=VLIB_NODE_TYPE_INPUT, > dispatch_state=VLIB_NODE_STATE_POLLING, frame=0x0, > last_time_stamp=66486783453597600) at vpp/src/vlib/main.c:1235 > #4 0x00007ffff60ddbf5 in vlib_main_or_worker_loop (vm=0x7ff8a5d2f4c0, > is_main=0) at vpp/src/vlib/main.c:1815 > #5 0x00007ffff60dd227 in vlib_worker_loop (vm=0x7ff8a5d2f4c0) at > vpp/src/vlib/main.c:1996 > #6 0x00007ffff61345a1 in vlib_worker_thread_fn (arg=0x7fffb74ea980) at > vpp/src/vlib/threads.c:1795 > #7 0x00007ffff5531954 in clib_calljmp () at > vpp/src/vppinfra/longjmp.S:123 > #8 0x00007fedf91fdce0 in ?? () > #9 0x00007ffff612cd53 in vlib_worker_thread_bootstrap_fn > (arg=0x7fffb74ea980) at vpp/src/vlib/threads.c:584 > Backtrace stopped: previous frame inner to this frame (corrupt stack?) > > This segmentation fault happens the same way every time I try to start > VPP. > > This is in Ubuntu 18.04.4 using the rdma plugin with Mellanox mlx5 NICs > and a Intel Xeon Gold 6126 CPU. > > I have looked back at recent changes and found that this problem > started with the commit 4ba16a44 "misc: switch to clang-9" dated April > 28. Before that we could use the master branch without thie problem. > > Changing back to gcc by removing clang in src/CMakeLists.txt makes the > error go away. However, there is then instead a problem with a "symbol > lookup error" for crypto_native_plugin.so: undefined symbol: > crypto_native_aes_cbc_init_avx512 (that problem disappears if disabling > the crypto_native plugin) > > So, two problems: > > (1) The segmentation fault itself, perhaps indicating a bug somewhere > but seems to appear only with clang and not with gcc > > (2) The "undefined symbol: crypto_native_aes_cbc_init_avx512" problem > when trying to use gcc instead of clang > > What do you think about these? > > As a short-term fix, is removing clang in src/CMakeLists.txt reasonable > or is there a better/easier workaround? > > Does anyone else use the rdma plugin when compiling using clang -- > perhaps that combination triggers this problem? > > Best regards, > Elias >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#16255): https://lists.fd.io/g/vpp-dev/message/16255 Mute This Topic: https://lists.fd.io/mt/74033970/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-