From uspoerlein@gmail.com  Mon May 29 15:03:38 2006
Return-Path: <uspoerlein@gmail.com>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id D967816A6D9
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 29 May 2006 15:03:37 +0000 (UTC)
	(envelope-from uspoerlein@gmail.com)
Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.186])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 20FF943D64
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 29 May 2006 15:03:28 +0000 (GMT)
	(envelope-from uspoerlein@gmail.com)
Received: by nf-out-0910.google.com with SMTP id y38so226832nfb
        for <FreeBSD-gnats-submit@freebsd.org>; Mon, 29 May 2006 08:03:27 -0700 (PDT)
Received: by 10.48.208.8 with SMTP id f8mr1801356nfg;
        Mon, 29 May 2006 08:03:27 -0700 (PDT)
Received: from roadrunner.q.local ( [217.185.119.248])
        by mx.gmail.com with ESMTP id l32sm296805nfa.2006.05.29.08.03.24;
        Mon, 29 May 2006 08:03:26 -0700 (PDT)
Received: from roadrunner.q.local (localhost [127.0.0.1])
	by roadrunner.q.local (8.13.6/8.13.6) with ESMTP id k4TF3CPD006512;
	Mon, 29 May 2006 17:03:16 +0200 (CEST)
	(envelope-from q@roadrunner.q.local)
Received: (from q@localhost)
	by roadrunner.q.local (8.13.6/8.13.6/Submit) id k4TB0N7w001234;
	Mon, 29 May 2006 13:00:23 +0200 (CEST)
	(envelope-from q)
Message-Id: <200605291100.k4TB0N7w001234@roadrunner.q.local>
Date: Mon, 29 May 2006 13:00:23 +0200 (CEST)
From: Ulrich Spoerlein <uspoerlein@gmail.com>
To: FreeBSD-gnats-submit@freebsd.org
Cc: Pawel Jakub Dawidek <pjd@freebsd.org>
Subject: [REGRESSION] Detaching gmirror/geli leads to panic
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         98093
>Category:       kern
>Synopsis:       [geli] Detaching gmirror/geli leads to panic (REGRESSION)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pjd
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon May 29 15:10:14 GMT 2006
>Closed-Date:    Sun Jul 16 16:02:28 GMT 2006
>Last-Modified:  Sun Jul 16 16:02:28 GMT 2006
>Originator:     Ulrich Spoerlein
>Release:        FreeBSD 6.1-STABLE i386
>Organization:
>Environment:
>Description:
I have an USB attached disk, mirrored and encrypted. With 6.1-RC unplugging
the USB drive would simply remove the gmirror and geli providers. With
6.1-STABLE after the gmirror MFC, this leads to a panic. Reverting gmirror
to RELENG_6_1_RELEASE makes the problem go away.
>How-To-Repeat:

#!/bin/sh
mdconfig -a -t malloc -s 10m -u 5
gmirror label foo /dev/md5
gmirror stop foo
gnop create /dev/md5
geli onetime /dev/mirror/foo
gnop destroy -f md5.nop

Trying to mount root from ufs:/dev/ad0s4a
GEOM_MIRROR: Device foo created (id=1040196325).
GEOM_MIRROR: Device foo: provider md5 detected.
GEOM_MIRROR: Device foo: provider md5 activated.
GEOM_MIRROR: Device foo: provider mirror/foo launched.
GEOM_MIRROR: Device foo: provider mirror/foo destroyed.
GEOM_MIRROR: Device foo destroyed.
GEOM_NOP: Device md5.nop created.
GEOM_MIRROR: Device foo created (id=1040196325).
GEOM_MIRROR: Device foo: provider md5.nop detected.
GEOM_MIRROR: Device foo: provider md5.nop activated.
GEOM_MIRROR: Device foo: provider mirror/foo launched.
GEOM_ELI: Device mirror/foo.eli created.
GEOM_ELI:     Cipher: AES
GEOM_ELI: Key length: 128
GEOM_ELI:     Crypto: software
GEOM_NOP: Device md5.nop is still open, so it can't be definitely removed.
GEOM_MIRROR: Device foo: provider md5.nop disconnected.
GEOM_MIRROR: Device foo: provider mirror/foo destroyed.
GEOM_MIRROR: Device foo destroyed.
GEOM_ELI: Device mirror/foo.eli destroyed.
panic: NULL softc (provider=mirror/foo).
KDB: enter: panic
[thread pid 2 tid 100001 ]
Stopped at      kdb_enter+0x2b: nop     
db> bt
Tracing pid 2 tid 100001 td 0xc4b03d80
kdb_enter(c06b315a) at kdb_enter+0x2b
panic(c08e6009,c4f612d8,e359ac70,c04d746e,0) at panic+0xbb
g_mirror_access(c4f61280,ffffffff,ffffffff,ffffffff,0) at g_mirror_access+0x223
g_access(c4f33080,ffffffff,ffffffff,ffffffff) at g_access+0x192
g_wither_geom_close(c4f60980,6,c4f60c80,c4f60980,c4ddc480) at g_wither_geom_close+0x68
g_eli_destroy(c4d9bc00,1,e359acdc,c04d3d6e,c4f33080) at g_eli_destroy+0x14e
g_eli_orphan(c4f33080,c4f61280,3e8,0,e359acec) at g_eli_orphan+0x30
g_orphan_register(c4f61280) at g_orphan_register+0x6e
one_event(e359ad0c,c04d561d,258,190,c04d55b0) at one_event+0x9b
g_run_events(258,190,c04d55b0,c4b0220c,e359ad24) at g_run_events+0x9
g_event_procbody(0,e359ad38,0,c04d55b0,0) at g_event_procbody+0x6d
fork_exit(c04d55b0,0,e359ad38) at fork_exit+0xa0
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xe359ad6c, ebp = 0 ---
db> reset
>Fix:
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->freebsd-geom 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Tue May 30 04:27:43 UTC 2006 
Responsible-Changed-Why:  
Over to maintainer(s). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=98093 
State-Changed-From-To: open->patched 
State-Changed-By: pjd 
State-Changed-When: Mon Jul 3 10:32:57 UTC 2006 
State-Changed-Why:  
Grab this PR. 


Responsible-Changed-From-To: freebsd-geom->pjd 
Responsible-Changed-By: pjd 
Responsible-Changed-When: Mon Jul 3 10:32:57 UTC 2006 
Responsible-Changed-Why:  
Fix committed to HEAD. Thanks. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=98093 
State-Changed-From-To: patched->closed 
State-Changed-By: pjd 
State-Changed-When: Sun Jul 16 16:01:54 UTC 2006 
State-Changed-Why:  
Fix merged to RELENG_6. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=98093 
>Unformatted:
