From owner-freebsd-stable@FreeBSD.ORG Sat Mar 19 11:34:55 2011 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 787A6106567D; Sat, 19 Mar 2011 11:34:55 +0000 (UTC) (envelope-from wjw@digiware.nl) Received: from mail.digiware.nl (mail.ip6.digiware.nl [IPv6:2001:4cb8:1:106::2]) by mx1.freebsd.org (Postfix) with ESMTP id 101C08FC08; Sat, 19 Mar 2011 11:34:54 +0000 (UTC) Received: from rack1.digiware.nl (localhost.digiware.nl [127.0.0.1]) by mail.digiware.nl (Postfix) with ESMTP id 311C3153434; Sat, 19 Mar 2011 12:34:53 +0100 (CET) X-Virus-Scanned: amavisd-new at digiware.nl Received: from mail.digiware.nl ([127.0.0.1]) by rack1.digiware.nl (rack1.digiware.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NbWnb6F4rkzF; Sat, 19 Mar 2011 12:34:50 +0100 (CET) Received: from [IPv6:2001:4cb8:3:1:c038:46a5:6dec:7fa7] (unknown [IPv6:2001:4cb8:3:1:c038:46a5:6dec:7fa7]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mail.digiware.nl (Postfix) with ESMTPSA id A897D153433; Sat, 19 Mar 2011 12:34:50 +0100 (CET) Message-ID: <4D8494DE.9050408@digiware.nl> Date: Sat, 19 Mar 2011 12:34:54 +0100 From: Willem Jan Withagen User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.15) Gecko/20110303 Lightning/1.0b2 Thunderbird/3.1.9 MIME-Version: 1.0 To: Alan Cox References: <4D760AEC.7050604@digiware.nl> <201103080915.29284.jhb@freebsd.org> <4D837C89.4000005@rice.edu> In-Reply-To: <4D837C89.4000005@rice.edu> X-Enigmail-Version: 1.1.1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Alan Cox , freebsd-stable@freebsd.org, John Baldwin Subject: Re: panic on vm_page_cache_transfer: object 0xfffffff0035508000's type is not compatible with cache pages X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Mar 2011 11:34:55 -0000 On 18-3-2011 16:38, Alan Cox wrote: > On 03/08/2011 08:15, John Baldwin wrote: >> On Tuesday, March 08, 2011 5:54:36 am Willem Jan Withagen wrote: >>> System: >>> >>> FreeBSD zfs.digiware.nl 8.2-STABLE FreeBSD 8.2-STABLE #1: Sat Feb 26 >>> 06:28:43 CET 2011 >>> root@zfs.digiware.nl:/usr/obj/usr/src/src8/src/sys/ZFS amd64 >>> >>> Don't have a serial console, so I wrote down the traceback. >>> But my guess is that that is not enough, however I needed the system so >>> I rebooted. >>> >>> tb: >>> vm_object_split at .... +0x125 >>> vm_space_fork at .... +0x3f7 >>> fork1 at .... +0x6a9 >>> fork at .... +0xee >>> syscall_entr at .... +1c >>> syscall at .... +4c >>> >>> rip = 0x8006bc39c >>> rsp = 0x7fffffffe9d8 >>> rbp = 0x800a04470 >>> >>> It looks a lot like what I find on >>> http://people.freebsd.org/~pho/stress/log/kostik079.html >>> >>> But my system is amd64, with 8Gb RAM and is fully ZFS based >>> with swap on 2 gpt freebsd-swap partitions. >>> >>> System crashed last night around 1:30, which is when a few large rsync >>> backups are coming in. >>> >>> Would I be able to call doadump to obtain something usefull afterward >>> (provided I have savecore set?) >> Hmm, judging from the info at the URL above, I'm not sure what to make >> of this >> assertion. In vm_object_split(), the 'new_object' is always >> OBJT_DEFAULT, so >> it will always fail that half of the assertion. In fact, this is the >> only >> place that vm_page_cache_transfer() is called, so 'new_object->type == >> OBJT_SWAP' is pretty much guaranteed to almost never be true. >> >> I guess it is assuming that swap_pager_copy() would have always converted >> 'new_object' to OBJT_SWAP if it had any cache pages? Perhaps that is >> a bogus >> assumption if 'orig_object' only has cache pages and no >> currently-swapped out >> pages (or if the swapped out pages are not in the range of the new >> object)? >> >> I've cc'd Alan to see if he has any ideas. >> > > Yes, it is assuming that the object is converted to OBJT_SWAP. As a > rule, for a page to be PG_CACHE, it should exist somewhere on secondary > storage. The panic has only occured twice thusfar, since I upgraded to FreeBSD 8.2-STABLE (ZFS) #1: Sat Feb 26 06:28:43 CET 2011. But I have the feeling that in due course, it'll return again. So if there are any suggestions on how to proceed, I would be happy to have a go at them. --WjW