From owner-freebsd-fs@freebsd.org Tue Sep 29 18:28:19 2015 Return-Path: Delivered-To: freebsd-fs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4FDB7A0C24F for ; Tue, 29 Sep 2015 18:28:19 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 7997D1F22 for ; Tue, 29 Sep 2015 18:28:18 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from porto.starpoint.kiev.ua (porto-e.starpoint.kiev.ua [212.40.38.100]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id VAA18240; Tue, 29 Sep 2015 21:28:10 +0300 (EEST) (envelope-from avg@FreeBSD.org) Received: from localhost ([127.0.0.1]) by porto.starpoint.kiev.ua with esmtp (Exim 4.34 (FreeBSD)) id 1ZgzdK-000Lks-Ca; Tue, 29 Sep 2015 21:28:10 +0300 Subject: Re: ZFS files server crash: solaris assert: start < end in trim_map.c To: Willem Jan Withagen , "freebsd-fs@freebsd.org" References: <560A81EE.7010604@digiware.nl> From: Andriy Gapon Message-ID: <560AD801.70307@FreeBSD.org> Date: Tue, 29 Sep 2015 21:27:13 +0300 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <560A81EE.7010604@digiware.nl> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Sep 2015 18:28:19 -0000 On 29/09/2015 15:19, Willem Jan Withagen wrote: > Hi, > > Just found this after a crash: > Architecture: amd64 > Architecture Version: 2 > Dump Length: 7031291904B (6705 MB) > Blocksize: 512 > Dumptime: Tue Sep 29 12:55:01 2015 > Hostname: zfs.digiware.nl > Magic: FreeBSD Kernel Dump > Version String: FreeBSD 10.2-STABLE #2 r287746M: Sun Sep 13 12:33:23 CEST 2015 > root@zfs.digiware.nl:/home/obj/amd64/usr/srcs/work10/src/sys/ZFS > Panic String: solaris assert: start < end, file: > /usr/srcs/work10/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c, > line: 219 This could be an oversight in a change of mine. Could you please open a bug report? > (kgdb) bt > #0 doadump (textdump=1) at pcpu.h:219 > #1 0xffffffff804f9d97 in kern_reboot (howto=260) at > /usr/srcs/work10/src/sys/kern/kern_shutdown.c:451 > #2 0xffffffff804fa195 in vpanic (fmt=, ap= out>) at /usr/srcs/work10/src/sys/kern/kern_shutdown.c:758 > #3 0xffffffff804fa023 in panic (fmt=0x0) at > /usr/srcs/work10/src/sys/kern/kern_shutdown.c:687 > #4 0xffffffff8106a1fd in assfail (a=, f= out>, l=) > at > /usr/srcs/work10/src/sys/modules/opensolaris/../../cddl/compat/opensolaris/kern/opensolaris_cmn_err.c:81 > > #5 0xffffffff80e65161 in trim_map_segment_add (tm=0xfffff8001432ba00, > start=7704576, end=7704576, txg=0) > at > /usr/srcs/work10/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c:219 > > #6 0xffffffff80e6464f in trim_map_free_locked (tm=, > start=, end=, txg=) > at > /usr/srcs/work10/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c:319 > > #7 0xffffffff80e64588 in trim_map_free (vd=0xfffff8000ae3b800, offset=7704576, > size=, txg=0) > at > /usr/srcs/work10/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c:337 > > #8 0xffffffff80db490c in arc_hdr_destroy (hdr=0xfffff800198ac5e8) at > /usr/srcs/work10/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c:1825 > > #9 0xffffffff80db980a in l2arc_evict (dev=0xfffff8000aa2d480, distance= optimized out>, all=0) > at > /usr/srcs/work10/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c:5004 > > #10 0xffffffff80dba0da in l2arc_feed_thread (dummy=) > at > /usr/srcs/work10/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c:5581 > > #11 0xffffffff804c9855 in fork_exit (callout=0xffffffff80db9b80 > , arg=0x0, frame=0xfffffe023bbc4bc0) > at /usr/srcs/work10/src/sys/kern/kern_fork.c:1018 > #12 0xffffffff807773ee in fork_trampoline () at > /usr/srcs/work10/src/sys/amd64/amd64/exception.S:611 > #13 0x0000000000000000 in ?? () > > And the values there are: > #5 0xffffffff80e65161 in trim_map_segment_add (tm=0xfffff8001432ba00, > start=7704576, end=7704576, txg=0) > at > /usr/srcs/work10/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c:219 > > 219 VERIFY(start < end); > (kgdb) p start > $1 = 7704576 > (kgdb) p end > $2 = 7704576 > > Which suggests to me that the comparison might need to be '<=', but that will > probably not be this simple... -- Andriy Gapon