From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_PASS,URIBL_BLOCKED, USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3CACAC43381 for ; Fri, 15 Mar 2019 02:26:09 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0E9E2218A3 for ; Fri, 15 Mar 2019 02:26:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727251AbfCOC0I (ORCPT ); Thu, 14 Mar 2019 22:26:08 -0400 Received: from ipmail01.adl2.internode.on.net ([150.101.137.133]:42785 "EHLO ipmail01.adl2.internode.on.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726451AbfCOC0I (ORCPT ); Thu, 14 Mar 2019 22:26:08 -0400 Received: from ppp59-167-129-252.static.internode.on.net (HELO dastard) ([59.167.129.252]) by ipmail01.adl2.internode.on.net with ESMTP; 15 Mar 2019 12:56:05 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1h4cXs-0004x7-6R; Fri, 15 Mar 2019 13:26:04 +1100 Date: Fri, 15 Mar 2019 13:26:04 +1100 From: Dave Chinner To: Dan Williams Cc: Matthew Wilcox , Linux MM , linux-nvdimm , linux-fsdevel , "Barror, Robert" Subject: Re: Hang / zombie process from Xarray page-fault conversion (bisected) Message-ID: <20190315022604.GO26298@dastard> References: <20190311150947.GD19508@bombadil.infradead.org> <20190312043754.GD23020@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-fsdevel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org On Thu, Mar 14, 2019 at 12:34:51AM -0700, Dan Williams wrote: > On Mon, Mar 11, 2019 at 9:38 PM Dave Chinner wrote: > > > > On Mon, Mar 11, 2019 at 08:35:05PM -0700, Dan Williams wrote: > > > On Mon, Mar 11, 2019 at 8:10 AM Matthew Wilcox wrote: > > > > > > > > On Thu, Mar 07, 2019 at 10:16:17PM -0800, Dan Williams wrote: > > > > > Hi Willy, > > > > > > > > > > We're seeing a case where RocksDB hangs and becomes defunct when > > > > > trying to kill the process. v4.19 succeeds and v4.20 fails. Robert was > > > > > able to bisect this to commit b15cd800682f "dax: Convert page fault > > > > > handlers to XArray". > > > > > > > > > > I see some direct usage of xa_index and wonder if there are some more > > > > > pmd fixups to do? > > > > > > > > > > Other thoughts? > > > > > > > > I don't see why killing a process would have much to do with PMD > > > > misalignment. The symptoms (hanging on a signal) smell much more like > > > > leaving a locked entry in the tree. Is this easy to reproduce? Can you > > > > get /proc/$pid/stack for a hung task? > > > > > > It's fairly easy to reproduce, I'll see if I can package up all the > > > dependencies into something that fails in a VM. > > > > > > It's limited to xfs, no failure on ext4 to date. > > > > > > The hung process appears to be: > > > > > > kworker/53:1-xfs-sync/pmem0 > > > > That's completely internal to XFS. Every 30s the work is triggered > > and it either does a log flush (if the fs is active) or it syncs the > > superblock to clean the log and idle the filesystem. It has nothing > > to do with user processes, and I don't see why killing a process has > > any effect on what it does... > > > > > ...and then the rest of the database processes grind to a halt from there. > > > > > > Robert was kind enough to capture /proc/$pid/stack, but nothing interesting: > > > > > > [<0>] worker_thread+0xb2/0x380 > > > [<0>] kthread+0x112/0x130 > > > [<0>] ret_from_fork+0x1f/0x40 > > > [<0>] 0xffffffffffffffff > > > > Much more useful would be: > > > > # echo w > /proc/sysrq-trigger > > > > And post the entire output of dmesg. > > Here it is: > > https://gist.github.com/djbw/ca7117023305f325aca6f8ef30e11556 Which tells us nothing. :( I think a bisect is in order... Cheers, Dave. -- Dave Chinner david@fromorbit.com