From nobody@FreeBSD.org  Fri Dec 29 11:58:55 2006
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id A357C16A40F
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 29 Dec 2006 11:58:55 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [69.147.83.33])
	by mx1.freebsd.org (Postfix) with ESMTP id 9493113C484
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 29 Dec 2006 11:58:55 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.13.1/8.13.1) with ESMTP id kBTBwtmD088025
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 29 Dec 2006 11:58:55 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.13.1/8.13.1/Submit) id kBTBwt58088024;
	Fri, 29 Dec 2006 11:58:55 GMT
	(envelope-from nobody)
Message-Id: <200612291158.kBTBwt58088024@www.freebsd.org>
Date: Fri, 29 Dec 2006 11:58:55 GMT
From: Geoffrey Giesemann<geoffwa@cs.rmit.edu.au>
To: freebsd-gnats-submit@FreeBSD.org
Subject: Loading gmirror causes 'Fatal double trap'
X-Send-Pr-Version: www-3.0

>Number:         107315
>Category:       kern
>Synopsis:       [gmirror] Loading gmirror causes 'Fatal double trap'
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Dec 29 12:00:32 GMT 2006
>Closed-Date:    Thu May 08 21:20:21 UTC 2008
>Last-Modified:  Thu May 08 21:20:21 UTC 2008
>Originator:     Geoffrey Giesemann
>Release:        RELENG_6
>Organization:
>Environment:
FreeBSD idkfa.local 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #0: Fri Dec 29 13:57:56 EST 2006     root@idkfa.local:/usr/obj/usr/src/sys/IDDQD  i386
>Description:
Upon issuing 'gmirror load' I get:

GEOM_MIRROR: <blah>
GEOM_MIRROR: Device /dev/ad4 activated
GEOM_MIRROR: Device /dev/ad6 activated

(slight pause)

Fatal double trap:
eip = 0xc4f36fed
esp = 0xe35d4ff4
ebp = 0xe35d5030
cpuid = 0; apic id 03

Previous to this I have created a gmirror across 250GB HDDs hanging off a Silicon Image 3112 controller. It's an SMP box with an SMP kernel, and the problem is reproducible.


>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:

From: Remko Lodder <remko@elvandar.org>
To: Geoffrey Giesemann <geoffwa@cs.rmit.edu.au>
Cc: freebsd-gnats-submit@FreeBSD.org
Subject: Re: kern/107315: Loading gmirror causes 'Fatal double trap'
Date: Fri, 29 Dec 2006 16:33:59 +0100

 Hello, you seem to lack a lot of information :( can you try to obtain a
 core dump as described in the developers-handbook?
 (http://www.freebsd.org/doc/en/books/developers-handbook/)
 
 Thanks
 
 -- 
 Kind regards,
 
      Remko Lodder               ** remko@elvandar.org
      FreeBSD                    ** remko@FreeBSD.org
 
      /* Quis custodiet ipsos custodes */

From: Geoffrey Giesemann <geoffwa@cs.rmit.edu.au>
To: Remko Lodder <remko@elvandar.org>
Cc: freebsd-gnats-submit@FreeBSD.org
Subject: Re: kern/107315: Loading gmirror causes 'Fatal double trap'
Date: Sat, 30 Dec 2006 03:10:30 +1100

 I have dumpdev set in rc.conf, but I don't get a dump. I'm guessing the
 crash isn't a normal kernel panic (the whole box freezes up rather than
 rebooting).
 
 I'll throw more compilation options at the system and see what happens.
 
 --Geoff

From: Geoffrey Giesemann <geoffwa@cs.rmit.edu.au>
To: Remko Lodder <remko@elvandar.org>
Cc: freebsd-gnats-submit@FreeBSD.org
Subject: Re: kern/107315: Loading gmirror causes 'Fatal double trap'
Date: Sat, 30 Dec 2006 13:48:57 +1100

 Okay I managed to get into KDB. Here's a more correct output of what
 happened plus a backtrace:
 
 Note that this is manually transcribed -> * indicates where I can't
 read my own handwriting :(
 
 (I *am* setting up a serial console for this)
 
 # /sbin/gmirror load
 GEOM_MIRROR: Device os: created (id = 2867703138)
 GEOM_MIRROR: Device os: provider ad6 detected
 GEOM_MIRROR: Device os: provider ad4 detected
 GEOM_MIRROR: Device os: provider ad6 activated
 GEOM_MIRROR: Device os: provider ad4 activated
 GEOM_MIRROR: Device os: provider mirror/os launched
 
 (slight pause)
 
 Fatal double fault
 eip = 0xc05a39a7
 esp = 0xe365eff8
 ebp = 0xe365f03c
 cpuid = 1; apic id = 08
 panic double fault
 cpuid = 1
 KDB: enter: panic
 [thread pid 2 tid 100001]
 Stopped at        kdb_enter+0x30: leave
 db> trace
 Tracing pid 2 tid 100001 td 0xc4afbd80
 kdb_enter(c07d3a00,1,c07f61b0,c08ee9a8,c4afbd80,...) at kdb_enter+0x30
 panic(c07f61b0,0,0,0,0,...) at panic+0x14e
 dblfault_handler() at dblfault_handler+0x8c
 --- trap 0x17, eip = 0xc05a39a7, esp = 0xe365eff8, ebp = 0x365f03c ---
 witness_checkorder(c0871020,b,c07cf6cb,ce,0,...) at witness_checkorder+0x77
 _mtx_lock_spin_flags(c0871020,2,c07cf6cb,ce,c08ebf20,...) at _mtx_lock_spin_flags+0xa5
 hardclcok_process(e365f0a8,c056ca6d,c0878500,c08beb98,e365f108,...) at hardclock_process+0x3c
 lapic_handle_timer(0) at lapic_handle_timer+0x7d
 Xtimerint(0,c086eda0,c0880ba0,c086eda0,c4ebe800,...) at Xtimerint+0x30
 witness_lock(c086eda0,8,c4e9932b,adc,adb,...) at witness_lock+0xb7
 _sx_xlock(c086eda0,c4e9932b,adc,***71060,...) at _sx_lock+0xd2
 g_mirror_access(c4e7a700,1,0,***,...) at g_mirror_access+0x10a
 g_access(c4e71800,1,0,32,c4e71800) at g_access+0x24b
 g_slice_access(c4e71640,1,0,32,31,...) at g_slice_access+0x180
 (lots of alternating g_access/g_slice_access calls)
 g_mirror_read_metadata(c4f79c40,e3660bf0,c4f79c40,c4f66300,c4f85580,...) at g_mirror_read_metadata+0x33
 g_mirror_taste(c4e9nn20,c4f66300,0,1bb,c4f55380,...) at g_mirror_taste+0xca
 one_event(c086eda0,66666667,c4afa218,0,e3660d00,...) at one_event+0x1f2
 g_run_events(c086edfc,0,4c,c07ccd87,64,...) at g_run_events+0x15
 g_event_procbody(0,e3660d38,c07d0c05,32d,0,...) at g_event_procbody+0x95
 fork_exit(c0532990,0,e3660d38) at fork_exit+0xc1
 fork_trampoline() at fork_trampoline+0x8
 --- trap 0x1, eip = 0, esp = 0xe3660d6c, ebp = 0 ---
 db>
 
 Hope this helps.
 
 --Geoff

From: Volker <volker@vwsoft.com>
To: bug-followup@FreeBSD.org, geoffwa@cs.rmit.edu.au
Cc:  
Subject: Re: kern/107315: [gmirror] Loading gmirror causes 'Fatal double trap'
Date: Sun, 10 Feb 2008 15:45:53 +0100

 The sil 3112 SATA controller is known to be a mess, causing a lot of
 trouble. I think the problem might heavily be related to this bugged
 controller chip.
 
 Geoffrey: Are you still able to reproduce this bug with another SATA
 controller (not using sil 3112)? If not, can this PR be closed?
State-Changed-From-To: open->feedback 
State-Changed-By: rafan 
State-Changed-When: Sun Feb 10 15:00:53 UTC 2008 
State-Changed-Why:  
Wait submitter's response. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=107315 
State-Changed-From-To: feedback->closed 
State-Changed-By: vwe 
State-Changed-When: Thu May 8 21:20:13 UTC 2008 
State-Changed-Why:  

We're sorry to not see any feedback received for quite some time. 
If you think this is still an issue that should be worked on, 
please provide the requested information and we'll be happy to 
re-open this ticket. 
Thank you for bringing this problem to attention! 

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