From owner-freebsd-geom@FreeBSD.ORG Tue Sep 25 19:37:27 2012 Return-Path: Delivered-To: geom@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 626F5106564A; Tue, 25 Sep 2012 19:37:27 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 360728FC18; Tue, 25 Sep 2012 19:37:27 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 39C9AB944; Tue, 25 Sep 2012 15:37:26 -0400 (EDT) From: John Baldwin To: freebsd-ia64@freebsd.org, Paul Procacci Date: Tue, 25 Sep 2012 14:37:30 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p17; KDE/4.5.5; amd64; ; ) References: <201209251720.q8PHKE7T072562@freefall.freebsd.org> In-Reply-To: <201209251720.q8PHKE7T072562@freefall.freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201209251437.30766.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Tue, 25 Sep 2012 15:37:26 -0400 (EDT) Cc: geom@freebsd.org Subject: Re: ia64/171814: [panic] bioq_init or bioq_remove (unsure which) X-BeenThere: freebsd-geom@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Sep 2012 19:37:27 -0000 On Tuesday, September 25, 2012 1:20:14 pm Paul Procacci wrote: > The following reply was made to PR ia64/171814; it has been noted by GNATS. > > From: Paul Procacci > To: John Baldwin > Cc: freebsd-ia64@freebsd.org, freebsd-gnats-submit@freebsd.org > Subject: Re: ia64/171814: [panic] bioq_init or bioq_remove (unsure which) > Date: Tue, 25 Sep 2012 12:11:17 -0500 > > --047d7b66f839532c0a04ca89cbf7 > Content-Type: text/plain; charset=ISO-8859-1 > > Thanks John for your response. > > Here is the output provided what you had explained to do: > > > 0xffffffff80865023 is in devstat_remove_entry > (/usr/src/sys/kern/subr_devstat.c:193). > 188 > 189 /* Remove this entry from the devstat queue */ > 190 atomic_add_acq_int(&ds->sequence1, 1); > 191 if (ds->id == NULL) { > 192 devstat_num_devs--; > 193 STAILQ_REMOVE(devstat_head, ds, devstat, dev_links); > 194 } > 195 devstat_free(ds); > 196 devstat_generation++; > 197 mtx_unlock(&devstat_mutex); I think the devstat entry must have been destroyed twice somehow. Earlier in geom_subr.c the devstat entry is created with a unit of -1: struct g_consumer * g_new_consumer(struct g_geom *gp) { ... cp->stat = devstat_new_entry(cp, -1, 0, DEVSTAT_ALL_SUPPORTED, DEVSTAT_TYPE_DIRECT, DEVSTAT_PRIORITY_MAX); } That should result in devstat_new_entry() setting ds->id to 'cp' (which is clearly not NULL), so it shouldn't even attempt the STAILQ_REMOVE(), but that is where it appears to have faulted. -- John Baldwin