Test-Label: Intel-compilation Test-Status: FAILURE http://dpdk.org/patch/126336 _Compilation issues_ Submitter: Cheng Jiang Date: 2023-04-21 01:09:32 Reply_mail: <20230421010932.46847-3-cheng1.jiang@intel.com> DPDK git baseline: Repo:dpdk-next-virtio, CommitID: 119a15f4c451282ec799e192b631f3c607a0a509 Meson Build Summary: 25 Builds Done, 20 Successful, 5 Failures, 0 Blocked +--------------+------------+--------------+------------+------------+-----------+----------+------------+ | os | gcc-static | clang-static | icc-static | gcc-shared | gcc-debug | document | gcc-16byte | +--------------+------------+--------------+------------+------------+-----------+----------+------------+ | FreeBSD13-64 | pass | pass | | pass | pass | | | | RHEL86-64 | pass | fail | | pass | pass | | | | SUSE15-64 | pass | fail | | | | | | | RHEL91-64 | pass | | | | | | | | UB2004-64 | pass | fail | | | | pass | | | UB2204-32 | pass | | | | | | | | UB2204-64 | pass | fail | | | | pass | pass | | CentOS79-64 | pass | | | | | | | | RHEL86-64Rt | pass | | | | | | | | UB2210-64 | pass | | | | | | | | FC37-64 | pass | fail | | | | | | | UB2204-64Rt | pass | | | | | | | +--------------+------------+--------------+------------+------------+-----------+----------+------------+ Comments: Because of DPDK bug (https://bugs.dpdk.org/show_bug.cgi?id=928), All the dpdk-next-* branch add `Ddisable_drivers=event/cnxk` option when build with ICC complier. Test environment and configuration as below: OS: FreeBSD13-64 Kernel Version: 13.1-RELEASE GCC Version: gcc (FreeBSD Ports Collection) 10.3.0 Clang Version: 13.0.0 (git@github.com:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a303) x86_64-native-bsdapp-gcc x86_64-native-bsdapp-clang x86_64-native-bsdapp-gcc+shared x86_64-native-bsdapp-gcc+debug OS: RHEL86-64 Kernel Version: 4.18.0-372.9.1.el8.x86_64 GCC Version: gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-13) Clang Version: 14.0.0 (Red Hat 14.0.0-1.module_el8.7.0+1142+5343df54) x86_64-native-linuxapp-gcc x86_64-native-linuxapp-clang x86_64-native-linuxapp-gcc+shared x86_64-native-linuxapp-gcc+debug OS: SUSE15-64 Kernel Version: 5.14.21-150400.22-default GCC Version: gcc (SUSE Linux) 7.5.0 Clang Version: 11.0.1 x86_64-native-linuxapp-clang x86_64-native-linuxapp-gcc OS: RHEL91-64 Kernel Version: 5.14.0-162.6.1.el9_1.x86_64 GCC Version: gcc (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2) Clang Version: 14.0.6 (Red Hat 14.0.6-1.el9) x86_64-native-linuxapp-gcc OS: UB2004-64 Kernel Version: 5.8.0-48-generic GCC Version: gcc (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0 Clang Version: 10.0.0-4ubuntu1 x86_64-native-linuxapp-clang x86_64-native-linuxapp-gcc x86_64-native-linuxapp-doc OS: UB2204-32 Kernel Version: 5.15.0-58-generic GCC Version: gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0 Clang Version: NA i686-native-linuxapp-gcc OS: UB2204-64 Kernel Version: 5.15.0-58-generic GCC Version: gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0 Clang Version: 14.0.0-1ubuntu1 x86_64-native-linuxapp-gcc+16byte x86_64-native-linuxapp-gcc x86_64-native-linuxapp-clang x86_64-native-linuxapp-doc OS: CentOS79-64 Kernel Version: 3.10.0-1160.81.1.el7.x86_64 GCC Version: gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44) Clang Version: 3.4.2 (tags/RELEASE_34/dot2-final) x86_64-native-linuxapp-gcc OS: RHEL86-64Rt Kernel Version: 4.18.0-372.9.1.rt7.166.el8.x86_64 GCC Version: gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-13) Clang Version: 14.0.0 (Red Hat 14.0.0-1.module_el8.7.0+1142+5343df54) x86_64-native-linuxapp-gcc OS: UB2210-64 Kernel Version: 5.19.0-21-generic GCC Version: gcc (Ubuntu 12.2.0-3ubuntu1) 12.2.0 Clang Version: 15.0.2-1 x86_64-native-linuxapp-gcc OS: FC37-64 Kernel Version: 6.0.15-300.fc37.x86_64 GCC Version: gcc (GCC) 12.2.1 20221121 (Red Hat 12.2.1-4) Clang Version: 15.0.6 (Fedora 15.0.6-2.fc37) x86_64-native-linuxapp-gcc x86_64-native-linuxapp-clang OS: UB2204-64Rt Kernel Version: 5.15.85-rt55 GCC Version: gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0 Clang Version: 14.0.0-1ubuntu1 x86_64-native-linuxapp-gcc *Build Failed #1: OS: RHEL86-64 Target: x86_64-native-linuxapp-clang FAILED: lib/librte_vhost.a.p/vhost_virtio_net.c.o clang -Ilib/librte_vhost.a.p -Ilib -I../lib -Ilib/vhost -I../lib/vhost -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/meter -I../lib/meter -Ilib/cryptodev -I../lib/cryptodev -Ilib/rcu -I../lib/rcu -Ilib/hash -I../lib/hash -Ilib/pci -I../lib/pci -Ilib/dmadev -I../lib/dmadev -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -DVHOST_CLANG_UNROLL_PRAGMA -fno-strict-aliasing -DRTE_LOG_DEFAULT_LOGTYPE=lib.vhost -DRTE_ANNOTATE_LOCKS -Wthread-safety -MD -MQ lib/librte_vhost.a.p/vhost_virtio_net.c.o -MF lib/librte_vhost.a.p/vhost_virtio_net.c.o.d -o lib/librte_vhost.a.p/vhost_virtio_net.c.o -c ../lib/vhost/virtio_net.c ../lib/vhost/virtio_net.c:4271:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4324:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4325:40: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *mr_async = mr_vq->async; ^ ../lib/vhost/virtio_net.c:4335:14: error: calling function 'async_get_first_inflight_pkt_idx' requires holding mutex 'vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] start_idx = async_get_first_inflight_pkt_idx(vq); ^ ../lib/vhost/virtio_net.c:4344:13: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] while (vq->async->pkts_cmpl_flag[from] && count--) { ^ ../lib/vhost/virtio_net.c:4345:7: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] vq->async->pkts_cmpl_flag[from] = false; ^ ../lib/vhost/virtio_net.c:4366:3: error: calling function 'write_back_completed_descs_split' requires holding mutex 'vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] write_back_completed_descs_split(vq, n_descs); ^ ../lib/vhost/virtio_net.c:4374:3: error: calling function 'write_back_completed_descs_split' requires holding mutex 'mr_vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] write_back_completed_descs_split(mr_vq, mr_n_descs); ^ ../lib/vhost/virtio_net.c:4485:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4600:5: error: calling function 'copy_vnet_hdr_to_desc' requires holding mutex 'vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] copy_vnet_hdr_to_desc(dev, vq, buf_vec, hdr); ^ ../lib/vhost/virtio_net.c:4604:5: error: calling function 'vhost_log_cache_write_iova' requires holding mutex 'vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] vhost_log_cache_write_iova(dev, vq, ^ ../lib/vhost/virtio_net.c:4619:5: error: calling function 'copy_vnet_hdr_to_desc' requires holding mutex 'mr_vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] copy_vnet_hdr_to_desc(mr_dev, mr_vq, mr_buf_vec, mr_hdr); ^ ../lib/vhost/virtio_net.c:4623:5: error: calling function 'vhost_log_cache_write_iova' requires holding mutex 'mr_vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] vhost_log_cache_write_iova(mr_dev, mr_vq, ^ ../lib/vhost/virtio_net.c:4669:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4670:40: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *mr_async = mr_vq->async; ^ ../lib/vhost/virtio_net.c:4692:16: error: calling function 'reserve_avail_buf_split' requires holding mutex 'vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] if (unlikely(reserve_avail_buf_split(dev, vq, pkt_len, buf_vec, ^ ../lib/vhost/virtio_net.c:4700:16: error: calling function 'reserve_avail_buf_split' requires holding mutex 'mr_vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] if (unlikely(reserve_avail_buf_split(mr_dev, mr_vq, pkt_len, mr_buf_vec, ^ ../lib/vhost/virtio_net.c:4735:11: error: calling function 'vhost_async_dma_transfer' requires holding mutex 'vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] n_xfer = vhost_async_dma_transfer(dev, vq, dma_id, vchan_id, async->pkts_idx, ^ ../lib/vhost/virtio_net.c:4821:6: error: mutex 'vq->iotlb_lock' is not held on every path through here [-Werror,-Wthread-safety-analysis] if (mr_dev->features & (1ULL << VIRTIO_F_IOMMU_PLATFORM)) ^ ../lib/vhost/virtio_net.c:4820:3: note: mutex acquired here vhost_user_iotlb_rd_lock(vq); ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. [397/3222] Compiling C object lib/librte_vhost.a.p/vhost_vhost.c.o [398/3222] Generating symbol file lib/librte_security.so.23.1.p/librte_security.so.23.1.symbols [399/3222] Compiling C object lib/librte_ipsec.a.p/ipsec_sa.c.o [400/3222] Generating symbol file lib/librte_sched.so.23.1.p/librte_sched.so.23.1.symbols [401/3222] Compiling C object lib/librte_ipsec.a.p/ipsec_esp_inb.c.o [402/3222] Compiling C object lib/librte_vhost.a.p/vhost_vhost_user.c.o [403/3222] Compiling C object lib/librte_ipsec.a.p/ipsec_esp_outb.c.o [404/3222] Compiling C object lib/librte_ipsec.a.p/ipsec_ses.c.o [405/3222] Compiling C object lib/librte_vhost.a.p/vhost_vhost_crypto.c.o ninja: build stopped *Build Failed #2: OS: SUSE15-64 Target: x86_64-native-linuxapp-clang FAILED: lib/librte_vhost.a.p/vhost_virtio_net.c.o clang -Ilib/librte_vhost.a.p -Ilib -I../lib -Ilib/vhost -I../lib/vhost -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/meter -I../lib/meter -Ilib/cryptodev -I../lib/cryptodev -Ilib/rcu -I../lib/rcu -Ilib/hash -I../lib/hash -Ilib/pci -I../lib/pci -Ilib/dmadev -I../lib/dmadev -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -DVHOST_CLANG_UNROLL_PRAGMA -fno-strict-aliasing -DRTE_LOG_DEFAULT_LOGTYPE=lib.vhost -DRTE_ANNOTATE_LOCKS -Wthread-safety -MD -MQ lib/librte_vhost.a.p/vhost_virtio_net.c.o -MF lib/librte_vhost.a.p/vhost_virtio_net.c.o.d -o lib/librte_vhost.a.p/vhost_virtio_net.c.o -c ../lib/vhost/virtio_net.c ../lib/vhost/virtio_net.c:4271:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4324:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4325:40: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *mr_async = mr_vq->async; ^ ../lib/vhost/virtio_net.c:4335:14: error: calling function 'async_get_first_inflight_pkt_idx' requires holding mutex 'vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] start_idx = async_get_first_inflight_pkt_idx(vq); ^ ../lib/vhost/virtio_net.c:4344:13: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] while (vq->async->pkts_cmpl_flag[from] && count--) { ^ ../lib/vhost/virtio_net.c:4345:7: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] vq->async->pkts_cmpl_flag[from] = false; ^ ../lib/vhost/virtio_net.c:4366:3: error: calling function 'write_back_completed_descs_split' requires holding mutex 'vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] write_back_completed_descs_split(vq, n_descs); ^ ../lib/vhost/virtio_net.c:4374:3: error: calling function 'write_back_completed_descs_split' requires holding mutex 'mr_vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] write_back_completed_descs_split(mr_vq, mr_n_descs); ^ ../lib/vhost/virtio_net.c:4485:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4600:5: error: calling function 'copy_vnet_hdr_to_desc' requires holding mutex 'vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] copy_vnet_hdr_to_desc(dev, vq, buf_vec, hdr); ^ ../lib/vhost/virtio_net.c:4604:5: error: calling function 'vhost_log_cache_write_iova' requires holding mutex 'vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] vhost_log_cache_write_iova(dev, vq, ^ ../lib/vhost/virtio_net.c:4619:5: error: calling function 'copy_vnet_hdr_to_desc' requires holding mutex 'mr_vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] copy_vnet_hdr_to_desc(mr_dev, mr_vq, mr_buf_vec, mr_hdr); ^ ../lib/vhost/virtio_net.c:4623:5: error: calling function 'vhost_log_cache_write_iova' requires holding mutex 'mr_vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] vhost_log_cache_write_iova(mr_dev, mr_vq, ^ ../lib/vhost/virtio_net.c:4669:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4670:40: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *mr_async = mr_vq->async; ^ ../lib/vhost/virtio_net.c:4692:16: error: calling function 'reserve_avail_buf_split' requires holding mutex 'vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] if (unlikely(reserve_avail_buf_split(dev, vq, pkt_len, buf_vec, ^ ../lib/vhost/virtio_net.c:4700:16: error: calling function 'reserve_avail_buf_split' requires holding mutex 'mr_vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] if (unlikely(reserve_avail_buf_split(mr_dev, mr_vq, pkt_len, mr_buf_vec, ^ ../lib/vhost/virtio_net.c:4735:11: error: calling function 'vhost_async_dma_transfer' requires holding mutex 'vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] n_xfer = vhost_async_dma_transfer(dev, vq, dma_id, vchan_id, async->pkts_idx, ^ ../lib/vhost/virtio_net.c:4821:6: error: mutex 'vq->iotlb_lock' is not held on every path through here [-Werror,-Wthread-safety-analysis] if (mr_dev->features & (1ULL << VIRTIO_F_IOMMU_PLATFORM)) ^ ../lib/vhost/virtio_net.c:4820:3: note: mutex acquired here vhost_user_iotlb_rd_lock(vq); ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. [395/3303] Generating symbol file lib/librte_mldev.so.23.1.p/librte_mldev.so.23.1.symbols [396/3303] Generating symbol file lib/librte_security.so.23.1.p/librte_security.so.23.1.symbols [397/3303] Compiling C object lib/librte_vhost.a.p/vhost_vhost.c.o [398/3303] Compiling C object lib/librte_ipsec.a.p/ipsec_sa.c.o [399/3303] Generating symbol file lib/librte_sched.so.23.1.p/librte_sched.so.23.1.symbols [400/3303] Compiling C object lib/librte_vhost.a.p/vhost_vhost_user.c.o [401/3303] Compiling C object lib/librte_ipsec.a.p/ipsec_esp_inb.c.o [402/3303] Compiling C object lib/librte_ipsec.a.p/ipsec_esp_outb.c.o [403/3303] Compiling C object lib/librte_vhost.a.p/vhost_vhost_crypto.c.o ninja: build stopped *Build Failed #3: OS: UB2004-64 Target: x86_64-native-linuxapp-clang FAILED: lib/librte_vhost.a.p/vhost_virtio_net.c.o clang -Ilib/librte_vhost.a.p -Ilib -I../lib -Ilib/vhost -I../lib/vhost -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/meter -I../lib/meter -Ilib/cryptodev -I../lib/cryptodev -Ilib/rcu -I../lib/rcu -Ilib/hash -I../lib/hash -Ilib/pci -I../lib/pci -Ilib/dmadev -I../lib/dmadev -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -DVHOST_CLANG_UNROLL_PRAGMA -fno-strict-aliasing -DRTE_LOG_DEFAULT_LOGTYPE=lib.vhost -DRTE_ANNOTATE_LOCKS -Wthread-safety -MD -MQ lib/librte_vhost.a.p/vhost_virtio_net.c.o -MF lib/librte_vhost.a.p/vhost_virtio_net.c.o.d -o lib/librte_vhost.a.p/vhost_virtio_net.c.o -c ../lib/vhost/virtio_net.c ../lib/vhost/virtio_net.c:4271:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4324:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4325:40: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *mr_async = mr_vq->async; ^ ../lib/vhost/virtio_net.c:4335:14: error: calling function 'async_get_first_inflight_pkt_idx' requires holding mutex 'vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] start_idx = async_get_first_inflight_pkt_idx(vq); ^ ../lib/vhost/virtio_net.c:4344:13: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] while (vq->async->pkts_cmpl_flag[from] && count--) { ^ ../lib/vhost/virtio_net.c:4345:7: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] vq->async->pkts_cmpl_flag[from] = false; ^ ../lib/vhost/virtio_net.c:4366:3: error: calling function 'write_back_completed_descs_split' requires holding mutex 'vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] write_back_completed_descs_split(vq, n_descs); ^ ../lib/vhost/virtio_net.c:4374:3: error: calling function 'write_back_completed_descs_split' requires holding mutex 'mr_vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] write_back_completed_descs_split(mr_vq, mr_n_descs); ^ ../lib/vhost/virtio_net.c:4485:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4600:5: error: calling function 'copy_vnet_hdr_to_desc' requires holding mutex 'vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] copy_vnet_hdr_to_desc(dev, vq, buf_vec, hdr); ^ ../lib/vhost/virtio_net.c:4604:5: error: calling function 'vhost_log_cache_write_iova' requires holding mutex 'vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] vhost_log_cache_write_iova(dev, vq, ^ ../lib/vhost/virtio_net.c:4619:5: error: calling function 'copy_vnet_hdr_to_desc' requires holding mutex 'mr_vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] copy_vnet_hdr_to_desc(mr_dev, mr_vq, mr_buf_vec, mr_hdr); ^ ../lib/vhost/virtio_net.c:4623:5: error: calling function 'vhost_log_cache_write_iova' requires holding mutex 'mr_vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] vhost_log_cache_write_iova(mr_dev, mr_vq, ^ ../lib/vhost/virtio_net.c:4669:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4670:40: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *mr_async = mr_vq->async; ^ ../lib/vhost/virtio_net.c:4692:16: error: calling function 'reserve_avail_buf_split' requires holding mutex 'vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] if (unlikely(reserve_avail_buf_split(dev, vq, pkt_len, buf_vec, ^ ../lib/vhost/virtio_net.c:4700:16: error: calling function 'reserve_avail_buf_split' requires holding mutex 'mr_vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] if (unlikely(reserve_avail_buf_split(mr_dev, mr_vq, pkt_len, mr_buf_vec, ^ ../lib/vhost/virtio_net.c:4735:11: error: calling function 'vhost_async_dma_transfer' requires holding mutex 'vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] n_xfer = vhost_async_dma_transfer(dev, vq, dma_id, vchan_id, async->pkts_idx, ^ ../lib/vhost/virtio_net.c:4821:6: error: mutex 'vq->iotlb_lock' is not held on every path through here [-Werror,-Wthread-safety-analysis] if (mr_dev->features & (1ULL << VIRTIO_F_IOMMU_PLATFORM)) ^ ../lib/vhost/virtio_net.c:4820:3: note: mutex acquired here vhost_user_iotlb_rd_lock(vq); ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. [393/3295] Compiling C object lib/librte_vhost.a.p/vhost_vhost.c.o [394/3295] Generating security.sym_chk with a custom command (wrapped by meson to capture output) [395/3295] Generating sched.sym_chk with a custom command (wrapped by meson to capture output) [396/3295] Compiling C object lib/librte_ipsec.a.p/ipsec_sa.c.o [397/3295] Compiling C object lib/librte_ipsec.a.p/ipsec_ses.c.o [398/3295] Compiling C object lib/librte_ipsec.a.p/ipsec_esp_inb.c.o [399/3295] Compiling C object lib/librte_vhost.a.p/vhost_vhost_user.c.o [400/3295] Compiling C object lib/librte_ipsec.a.p/ipsec_esp_outb.c.o [401/3295] Compiling C object lib/librte_vhost.a.p/vhost_vhost_crypto.c.o ninja: build stopped *Build Failed #4: OS: UB2204-64 Target: x86_64-native-linuxapp-clang FAILED: lib/librte_vhost.a.p/vhost_virtio_net.c.o clang -Ilib/librte_vhost.a.p -Ilib -I../lib -Ilib/vhost -I../lib/vhost -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/meter -I../lib/meter -Ilib/cryptodev -I../lib/cryptodev -Ilib/rcu -I../lib/rcu -Ilib/hash -I../lib/hash -Ilib/pci -I../lib/pci -Ilib/dmadev -I../lib/dmadev -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -DVHOST_CLANG_UNROLL_PRAGMA -fno-strict-aliasing -DRTE_LOG_DEFAULT_LOGTYPE=lib.vhost -DRTE_ANNOTATE_LOCKS -Wthread-safety -MD -MQ lib/librte_vhost.a.p/vhost_virtio_net.c.o -MF lib/librte_vhost.a.p/vhost_virtio_net.c.o.d -o lib/librte_vhost.a.p/vhost_virtio_net.c.o -c ../lib/vhost/virtio_net.c ../lib/vhost/virtio_net.c:4271:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4324:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4325:40: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *mr_async = mr_vq->async; ^ ../lib/vhost/virtio_net.c:4335:14: error: calling function 'async_get_first_inflight_pkt_idx' requires holding mutex 'vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] start_idx = async_get_first_inflight_pkt_idx(vq); ^ ../lib/vhost/virtio_net.c:4344:13: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] while (vq->async->pkts_cmpl_flag[from] && count--) { ^ ../lib/vhost/virtio_net.c:4345:7: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] vq->async->pkts_cmpl_flag[from] = false; ^ ../lib/vhost/virtio_net.c:4366:3: error: calling function 'write_back_completed_descs_split' requires holding mutex 'vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] write_back_completed_descs_split(vq, n_descs); ^ ../lib/vhost/virtio_net.c:4374:3: error: calling function 'write_back_completed_descs_split' requires holding mutex 'mr_vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] write_back_completed_descs_split(mr_vq, mr_n_descs); ^ ../lib/vhost/virtio_net.c:4485:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4600:5: error: calling function 'copy_vnet_hdr_to_desc' requires holding mutex 'vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] copy_vnet_hdr_to_desc(dev, vq, buf_vec, hdr); ^ ../lib/vhost/virtio_net.c:4604:5: error: calling function 'vhost_log_cache_write_iova' requires holding mutex 'vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] vhost_log_cache_write_iova(dev, vq, ^ ../lib/vhost/virtio_net.c:4619:5: error: calling function 'copy_vnet_hdr_to_desc' requires holding mutex 'mr_vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] copy_vnet_hdr_to_desc(mr_dev, mr_vq, mr_buf_vec, mr_hdr); ^ ../lib/vhost/virtio_net.c:4623:5: error: calling function 'vhost_log_cache_write_iova' requires holding mutex 'mr_vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] vhost_log_cache_write_iova(mr_dev, mr_vq, ^ ../lib/vhost/virtio_net.c:4669:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4670:40: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *mr_async = mr_vq->async; ^ ../lib/vhost/virtio_net.c:4692:16: error: calling function 'reserve_avail_buf_split' requires holding mutex 'vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] if (unlikely(reserve_avail_buf_split(dev, vq, pkt_len, buf_vec, ^ ../lib/vhost/virtio_net.c:4700:16: error: calling function 'reserve_avail_buf_split' requires holding mutex 'mr_vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] if (unlikely(reserve_avail_buf_split(mr_dev, mr_vq, pkt_len, mr_buf_vec, ^ ../lib/vhost/virtio_net.c:4735:11: error: calling function 'vhost_async_dma_transfer' requires holding mutex 'vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] n_xfer = vhost_async_dma_transfer(dev, vq, dma_id, vchan_id, async->pkts_idx, ^ ../lib/vhost/virtio_net.c:4821:6: error: mutex 'vq->iotlb_lock' is not held on every path through here [-Werror,-Wthread-safety-analysis] if (mr_dev->features & (1ULL << VIRTIO_F_IOMMU_PLATFORM)) ^ ../lib/vhost/virtio_net.c:4820:3: note: mutex acquired here vhost_user_iotlb_rd_lock(vq); ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. [395/3303] Generating symbol file lib/librte_security.so.23.1.p/librte_security.so.23.1.symbols [396/3303] Compiling C object lib/librte_vhost.a.p/vhost_vhost.c.o [397/3303] Compiling C object lib/librte_ipsec.a.p/ipsec_sa.c.o [398/3303] Compiling C object lib/librte_ipsec.a.p/ipsec_ses.c.o [399/3303] Generating symbol file lib/librte_sched.so.23.1.p/librte_sched.so.23.1.symbols [400/3303] Compiling C object lib/librte_ipsec.a.p/ipsec_esp_inb.c.o [401/3303] Compiling C object lib/librte_vhost.a.p/vhost_vhost_user.c.o [402/3303] Compiling C object lib/librte_ipsec.a.p/ipsec_esp_outb.c.o [403/3303] Compiling C object lib/librte_vhost.a.p/vhost_vhost_crypto.c.o ninja: build stopped *Build Failed #5: OS: FC37-64 Target: x86_64-native-linuxapp-clang FAILED: lib/librte_vhost.a.p/vhost_virtio_net.c.o clang -Ilib/librte_vhost.a.p -Ilib -I../lib -Ilib/vhost -I../lib/vhost -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/meter -I../lib/meter -Ilib/cryptodev -I../lib/cryptodev -Ilib/rcu -I../lib/rcu -Ilib/hash -I../lib/hash -Ilib/pci -I../lib/pci -Ilib/dmadev -I../lib/dmadev -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -DVHOST_CLANG_UNROLL_PRAGMA -fno-strict-aliasing -DRTE_LOG_DEFAULT_LOGTYPE=lib.vhost -DRTE_ANNOTATE_LOCKS -Wthread-safety -MD -MQ lib/librte_vhost.a.p/vhost_virtio_net.c.o -MF lib/librte_vhost.a.p/vhost_virtio_net.c.o.d -o lib/librte_vhost.a.p/vhost_virtio_net.c.o -c ../lib/vhost/virtio_net.c ../lib/vhost/virtio_net.c:4271:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4324:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4325:40: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *mr_async = mr_vq->async; ^ ../lib/vhost/virtio_net.c:4335:14: error: calling function 'async_get_first_inflight_pkt_idx' requires holding mutex 'vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] start_idx = async_get_first_inflight_pkt_idx(vq); ^ ../lib/vhost/virtio_net.c:4344:13: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] while (vq->async->pkts_cmpl_flag[from] && count--) { ^ ../lib/vhost/virtio_net.c:4345:7: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] vq->async->pkts_cmpl_flag[from] = false; ^ ../lib/vhost/virtio_net.c:4366:3: error: calling function 'write_back_completed_descs_split' requires holding mutex 'vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] write_back_completed_descs_split(vq, n_descs); ^ ../lib/vhost/virtio_net.c:4374:3: error: calling function 'write_back_completed_descs_split' requires holding mutex 'mr_vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] write_back_completed_descs_split(mr_vq, mr_n_descs); ^ ../lib/vhost/virtio_net.c:4485:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4600:5: error: calling function 'copy_vnet_hdr_to_desc' requires holding mutex 'vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] copy_vnet_hdr_to_desc(dev, vq, buf_vec, hdr); ^ ../lib/vhost/virtio_net.c:4604:5: error: calling function 'vhost_log_cache_write_iova' requires holding mutex 'vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] vhost_log_cache_write_iova(dev, vq, ^ ../lib/vhost/virtio_net.c:4619:5: error: calling function 'copy_vnet_hdr_to_desc' requires holding mutex 'mr_vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] copy_vnet_hdr_to_desc(mr_dev, mr_vq, mr_buf_vec, mr_hdr); ^ ../lib/vhost/virtio_net.c:4623:5: error: calling function 'vhost_log_cache_write_iova' requires holding mutex 'mr_vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] vhost_log_cache_write_iova(mr_dev, mr_vq, ^ ../lib/vhost/virtio_net.c:4669:34: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *async = vq->async; ^ ../lib/vhost/virtio_net.c:4670:40: error: reading variable 'async' requires holding any mutex [-Werror,-Wthread-safety-analysis] struct vhost_async *mr_async = mr_vq->async; ^ ../lib/vhost/virtio_net.c:4692:16: error: calling function 'reserve_avail_buf_split' requires holding mutex 'vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] if (unlikely(reserve_avail_buf_split(dev, vq, pkt_len, buf_vec, ^ ../lib/vhost/virtio_net.c:4700:16: error: calling function 'reserve_avail_buf_split' requires holding mutex 'mr_vq->iotlb_lock' [-Werror,-Wthread-safety-analysis] if (unlikely(reserve_avail_buf_split(mr_dev, mr_vq, pkt_len, mr_buf_vec, ^ ../lib/vhost/virtio_net.c:4735:11: error: calling function 'vhost_async_dma_transfer' requires holding mutex 'vq->access_lock' exclusively [-Werror,-Wthread-safety-analysis] n_xfer = vhost_async_dma_transfer(dev, vq, dma_id, vchan_id, async->pkts_idx, ^ ../lib/vhost/virtio_net.c:4821:6: error: mutex 'vq->iotlb_lock' is not held on every path through here [-Werror,-Wthread-safety-analysis] if (mr_dev->features & (1ULL << VIRTIO_F_IOMMU_PLATFORM)) ^ ../lib/vhost/virtio_net.c:4820:3: note: mutex acquired here vhost_user_iotlb_rd_lock(vq); ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. [326/3257] Compiling C object lib/librte_vhost.a.p/vhost_vhost.c.o [327/3257] Generating lib/security.sym_chk with a custom command (wrapped by meson to capture output) [328/3257] Generating symbol file lib/librte_eal.so.23.1.p/librte_eal.so.23.1.symbols [329/3257] Generating lib/sched.sym_chk with a custom command (wrapped by meson to capture output) [330/3257] Compiling C object lib/librte_vhost.a.p/vhost_vhost_user.c.o [331/3257] Compiling C object lib/librte_ipsec.a.p/ipsec_esp_inb.c.o [332/3257] Compiling C object lib/librte_ipsec.a.p/ipsec_esp_outb.c.o [333/3257] Generating lib/mldev.sym_chk with a custom command (wrapped by meson to capture output) [334/3257] Compiling C object lib/librte_vhost.a.p/vhost_vhost_crypto.c.o ninja: build stopped DPDK STV team