From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2ED31A053E; Sat, 1 Aug 2020 04:49:36 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BC3A52629; Sat, 1 Aug 2020 04:49:34 +0200 (CEST) Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) by dpdk.org (Postfix) with ESMTP id 0BB36A69 for ; Sat, 1 Aug 2020 04:49:32 +0200 (CEST) Received: by mail-pf1-f196.google.com with SMTP id s26so15360659pfm.4 for ; Fri, 31 Jul 2020 19:49:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:subject:message-id:mime-version :content-transfer-encoding; bh=5WDqiokBZyCa7SDvicLXP2pjFSQowLzUg+NxOrCHhoc=; b=1Bkq2JmAb2GIVqx3/uXa5sEoX/juckel0fTzFJ915q5AjoygFVxHNXe6fQ4A8aLFuf GoMg0Q+YFBAesaPDV9AifY72jWvlf/AfmO21jO9Z0onS+tT9NeilhqKXc+g91XZWbz2U 6A+yYcuBC2Clx2cammkb9onOaMneU/DirU5HocBxhq+q3Vvyrdbwbb+xc8lhjfs9bm7g sArbvwgh73sqEfjXlHNxR86KM1mJg/l/fno13wbFFaNJFdtGWFEnj39irOe9CoXnBZEV T/vQTuzsy3azMqBykvRnekAwhmKwlYKIg087VQN962kjVv4UGvc0i+QdOexlnCCCFDtQ cVTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:mime-version :content-transfer-encoding; bh=5WDqiokBZyCa7SDvicLXP2pjFSQowLzUg+NxOrCHhoc=; b=LnCW2iwjNc/ejKgq6oBEFiGv8tufkmNHDDJhoT1hLMV7oK3uP4Deu2pEp6tDvAdwT8 hLoeIdAqbvDvnZ2w0N1G0qUEmunPoxn+ckyNNAEqJinfjbn7GRagEouIkMPQjoMAu82u 9atoWAs3UYsxWusCTfnPavblTcltk4opu6OJkFt7XvGsX22C4iwzFEp9ECkdowqW+R1t +BifgRsSfxFjzAAHoikA0DCwJkzgVuLsfJ1iLyCevLC9XDyrZPrA24xGr9iWk48doIsQ TrmQ/7Rr4bP04ScBW8Pc/eZXSwK2zfMVxcYin8BLU86krO7Q+vYla5VAfor2SpYo1w0x uH6g== X-Gm-Message-State: AOAM531KCGCi+1yOg7AAzrw3HucrgRocCg37EHoV0XsDdnPid9mIDt+k cs6bGxoOCZ2ppYbhhoKl4waCDLi7ss56pQ== X-Google-Smtp-Source: ABdhPJyyUifaDFT44MdiWlvMvZPGB4DvGbsfjjn9lRwFby3T97vtjagesVhxF+7a0TBP5I1azxIsug== X-Received: by 2002:a63:df03:: with SMTP id u3mr6042148pgg.84.1596250171602; Fri, 31 Jul 2020 19:49:31 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id s24sm4726226pgq.34.2020.07.31.19.49.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 Jul 2020 19:49:31 -0700 (PDT) Date: Fri, 31 Jul 2020 12:32:29 -0700 From: Stephen Hemminger To: dev@dpdk.org Message-ID: <20200731123229.5657922b@hermes.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: [dpdk-dev] DPDK with -fsanitize=thread failure X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Tried running DPDK under Address Sanitizer with the thread data race option, and ran into something that needs some discussion. Is this just an ASAN bug? The fatal log is: ================== WARNING: ThreadSanitizer: data race (pid=28275) Write of size 1 at 0xfffff5000580 by main thread: #0 pthread_barrier_destroy (libtsan.so.0+0x314b3) #1 rte_ctrl_thread_create (librte_eal.so.20.0+0x2f9db) #2 rte_eal_intr_init (librte_eal.so.20.0+0x1e573) #3 rte_eal_init (librte_eal.so.20.0+0xcb9b) #4 (dpdk-backplane+0xb2ab) #5 main (dpdk-backplane+0xa1ab) Previous read of size 1 at 0xfffff5000580 by thread T3: #0 pthread_barrier_wait (libtsan.so.0+0x315cf) #1 rte_thread_init (librte_eal.so.20.0+0x2f44f) #2 (libtsan.so.0+0x2cc63) Location is heap block of size 48 at 0xfffff5000570 allocated by main thread: #0 malloc (libtsan.so.0+0x2e4ef) #1 rte_ctrl_thread_create (librte_eal.so.20.0+0x2f873) #2 rte_eal_intr_init (librte_eal.so.20.0+0x1e573) #3 rte_eal_init (librte_eal.so.20.0+0xcb9b) #4 (dpdk-backplane+0xb2ab) #5 main (dpdk-backplane+0xa1ab) Thread T3 'eal-intr-thread' (tid=28284, running) created by main thread at: #0 pthread_create (libtsan.so.0+0x2f5a7) #1 rte_ctrl_thread_create (librte_eal.so.20.0+0x2f8bb) #2 rte_eal_intr_init (librte_eal.so.20.0+0x1e573) #3 rte_eal_init (librte_eal.so.20.0+0xcb9b) #4 (dpdk-backplane+0xb2ab) #5 main (dpdk-backplane+0xa1ab) SUMMARY: ThreadSanitizer: data race (/lib/libtsan.so.0+0x314b3) in pthread_barrier_destroy ================== The code is: pthread_barrier_init(¶ms->configured, NULL, 2); ret = pthread_create(thread, attr, ctrl_thread_init, (void *)params); ... ret = pthread_barrier_wait(¶ms->configured); if (ret == PTHREAD_BARRIER_SERIAL_THREAD) { pthread_barrier_destroy(¶ms->configured);