From nobody@FreeBSD.org  Sun Oct 18 19:31:53 2009
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 335EB1065670
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 18 Oct 2009 19:31:53 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 21CCD8FC28
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 18 Oct 2009 19:31:53 +0000 (UTC)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id n9IJVq5E087094
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 18 Oct 2009 19:31:52 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id n9IJVqJH087093;
	Sun, 18 Oct 2009 19:31:52 GMT
	(envelope-from nobody)
Message-Id: <200910181931.n9IJVqJH087093@www.freebsd.org>
Date: Sun, 18 Oct 2009 19:31:52 GMT
From: Henno Schooljan <henno@schooljan.nl>
To: freebsd-gnats-submit@FreeBSD.org
Subject: zdb dumps core on FreeBSD/i386 when examining zpool contents
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         139725
>Category:       kern
>Synopsis:       [zfs] zdb(1) dumps core on i386 when examining zpool contents: Assertion failed: (rwlp->rw_count == 0)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-fs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Oct 18 19:40:01 UTC 2009
>Closed-Date:    
>Last-Modified:  Thu Nov 19 02:40:01 UTC 2009
>Originator:     Henno Schooljan
>Release:        8.0-RC1
>Organization:
>Environment:
FreeBSD  8.0-RC1 FreeBSD 8.0-RC1 #0: Thu Sep 17 20:45:19 UTC 2009     root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
When using zdb on FreeBSD/i386 8.0-RC1 to examine a ZFS file system pool (in this case the pool 'tank'), zdb crashes and dumps core when the pool is examined, e.g. the command

# zdb -i tank

produces the following output:

Assertion failed: (rwlp->rw_count == 0), file /usr/src/cddl/lib/libzpool/../../../cddl/contrib/opensolaris/lib/libzpool/common/kernel.c, line 203.

Abort trap


Just running zdb without parameters or with -C runs ok, this accesses only the zpool.cache file it looks like.


I have reproduced this error using a live filesystem/fixit i386 CD to minimize any local changes.

Using the amd64 8.0-RC1 livefs CD works fine, so I filed this as a i386 bug.
>How-To-Repeat:
Boot from a FreeBSD/i386 8.0-RC1 livefs CD (e.g. 8.0-RC1-i386-livefs.iso)
Go to the repair/fixit live filesystem to get a fixit prompt
Enter these commands (we have a ZFS zpool named tank somewhere):

# kldload /mnt2/kernel/boot/opensolaris.ko
# kldload /mnt2/kernel/boot/zfs.ko
# mkdir /boot/zfs

# zpool import -o altroot=/mnt tank
(use additional -f option if necessary)

# zdb -i

In livefs ode it will generate an additional "filesystem is full" error because the coredump is too large for the md filesystem here.
>Fix:
Unknown. Problem only manifests itself on i386.

>Release-Note:
>Audit-Trail:

From: Henno Schooljan <henno@schooljan.nl>
To: bug-followup@FreeBSD.org, henno@schooljan.nl
Cc:  
Subject: Re: i386/139725: zdb dumps core on FreeBSD/i386 when examining zpool contents
Date: Sun, 18 Oct 2009 22:23:48 +0200

 The last command in the "how to reproduce section" should read
 
 zdb -i tank
 
 Accidentally omitted the zpool name parameter.
Responsible-Changed-From-To: freebsd-i386->freebsd-fs 
Responsible-Changed-By: gavin 
Responsible-Changed-When: Sun Oct 18 21:06:32 UTC 2009 
Responsible-Changed-Why:  
Over to maintainer(s) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=139725 

From: Nathaniel Filardo <nwfilardo@gmail.com>
To: bug-followup@FreeBSD.org, henno@schooljan.nl
Cc:  
Subject: Re: kern/139725: [zfs] zdb(1) dumps core on i386 when examining zpool 
	contents: Assertion failed: (rwlp-&gt;rw_count == 0)
Date: Wed, 18 Nov 2009 21:14:48 -0500

 This is not an i386 specific thing; I am able to reproduce it readily
 on my SPARC64 machine,
 and can make core files available if they'd help.
 
 Thanks!
 --nwf;
>Unformatted:
