From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: virtio: crash when using multiple processes (16.04 regression) Date: Thu, 19 May 2016 18:43:19 +0200 Message-ID: <5703424.Nz7AfLLfu1@xps13> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, Huawei Xie , Yuanhan Liu To: Yoni Gilad Return-path: Received: from mail-wm0-f46.google.com (mail-wm0-f46.google.com [74.125.82.46]) by dpdk.org (Postfix) with ESMTP id B87F1ADAC for ; Thu, 19 May 2016 18:43:36 +0200 (CEST) Received: by mail-wm0-f46.google.com with SMTP id n129so239243550wmn.1 for ; Thu, 19 May 2016 09:43:36 -0700 (PDT) In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 2016-05-19 16:20, Yoni Gilad: > We have encountered a crash in virtio_xmit_pkts (specifically, in the call to virtqueue_notify) when running DPDK in a multi-process setup. This is a regression in DPDK 16.04. Thanks a lot for reporting. 2 tips to improve such bug report: - Send it to the maintainer of virtio (and cc this list). You can find them in the MAINTAINERS file. I've cc'ed them. - Try to test early the release candidates to have it fixed before the bug is really released. > The culprit seems to be the field vtpci_ops in the virtio_hw structure. This field is stored in shared memory, but points to a struct in the primary process's address space. If the same struct was loaded in a different address in the secondary process, it will lead to a crash or other issues when this field is dereferenced there. The referenced virtio_pci_ops struct contains function pointers, which can also be different in the secondary process.