From owner-freebsd-current@FreeBSD.ORG Fri Jun 27 09:40:07 2008 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A50B9106567A; Fri, 27 Jun 2008 09:40:07 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mail.cksoft.de (mail.cksoft.de [62.111.66.27]) by mx1.freebsd.org (Postfix) with ESMTP id 56FAE8FC14; Fri, 27 Jun 2008 09:40:07 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from localhost (amavis.str.cksoft.de [192.168.74.71]) by mail.cksoft.de (Postfix) with ESMTP id B135C41C74D; Fri, 27 Jun 2008 11:40:05 +0200 (CEST) X-Virus-Scanned: amavisd-new at cksoft.de Received: from mail.cksoft.de ([62.111.66.27]) by localhost (amavis.str.cksoft.de [192.168.74.71]) (amavisd-new, port 10024) with ESMTP id 558bt4gV7d3a; Fri, 27 Jun 2008 11:40:05 +0200 (CEST) Received: by mail.cksoft.de (Postfix, from userid 66) id 49FBB41C756; Fri, 27 Jun 2008 11:40:05 +0200 (CEST) Received: from maildrop.int.zabbadoz.net (maildrop.int.zabbadoz.net [10.111.66.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.int.zabbadoz.net (Postfix) with ESMTP id 2173144487F; Fri, 27 Jun 2008 09:38:59 +0000 (UTC) Date: Fri, 27 Jun 2008 09:38:59 +0000 (UTC) From: "Bjoern A. Zeeb" X-X-Sender: bz@maildrop.int.zabbadoz.net To: Eygene Ryabinkin In-Reply-To: Message-ID: <20080627092914.L83875@maildrop.int.zabbadoz.net> References: <91492.1214431446@critter.freebsd.dk> <20080626122202.O83875@maildrop.int.zabbadoz.net> <4K5+lNH1xm4QaKlQAizl2ATEu4I@w17qTvyS5I3zcalA0LVEglQwDKY> <200806262019.47095.jhb@freebsd.org> X-OpenPGP-Key: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Poul-Henning Kamp , Pawel Jakub Dawidek , FreeBSD current mailing list Subject: Re: panic in geom (spindown + eil + journal) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jun 2008 09:40:07 -0000 On Fri, 27 Jun 2008, Eygene Ryabinkin wrote: Hi Eygene, > Thu, Jun 26, 2008 at 08:19:46PM -0400, John Baldwin wrote: >>> and when system will panic and debugger will be invoked, issue >>> commands 'p *(bp->bio_offset)' and 'p *(cp->provider)' at the stack >>> frame corresponding to the function g_io_request? >> >> Note that DDB can't handle structure dereferences like that (nor evaluate >> symbols for local variables), you'll need to get a crash dump and use kgdb >> for that sort of thing. > > Yes, you're right -- thanks for correcting me. Bjoern, can you obtain > the crash dump and see what is inside the passed structures? Thanks for your replies but it seems you missed the initial messages? Basically I am not asking how to get you two values out of a kernel dump but what to check in the larger picture. Nonetheless: ... #26 0xffffffff802e8381 in panic (fmt=Variable "fmt" is not available. ) at /local/building/freebsd/HEAD.commit/sys/kern/kern_shutdown.c:572 #27 0xffffffff80297afb in g_io_request (bp=0xffffff0036a88948, cp=0xffffff0005c13900) at /local/building/freebsd/HEAD.commit/sys/geom/geom_io.c:356 #28 0xffffffff8029a524 in g_slice_start (bp=0xffffff004ba34948) at /local/building/freebsd/HEAD.commit/sys/geom/geom_slice.c:270 #29 0xffffffff802987c9 in g_io_schedule_down (tp=Variable "tp" is not available. ) at /local/building/freebsd/HEAD.commit/sys/geom/geom_io.c:540 #30 0xffffffff80298bf8 in g_down_procbody () at /local/building/freebsd/HEAD.commit/sys/geom/geom_kern.c:118 #31 0xffffffff802c797a in fork_exit (callout=0xffffffff80298b80 , arg=0x0, frame=0xffffffff80c65c80) at /local/building/freebsd/HEAD.commit/sys/kern/kern_fork.c:818 #32 0xffffffff80569bbe in fork_trampoline () at /local/building/freebsd/HEAD.commit/sys/amd64/amd64/exception.S:521 ... (kgdb) p *(struct bio *)bp $2 = {bio_cmd = 1 '\001', bio_flags = 0 '\0', bio_cflags = 0 '\0', bio_pflags = 0 '\0', bio_dev = 0x0, bio_disk = 0x0, bio_offset = 671299584, bio_bcount = 0, bio_data = 0xffffff005d004000 "..."..., bio_error = 0, bio_resid = 0, bio_done = 0, bio_driver1 = 0x0, bio_driver2 = 0x0, bio_caller1 = 0x0, bio_caller2 = 0x0, bio_queue = {tqe_next = 0x0, tqe_prev = 0xffffffff807dc960}, bio_attribute = 0x0, bio_from = 0xffffff0005c12780, bio_to = 0xffffff0005067200, bio_length = 2048, bio_completed = 0, bio_children = 1, bio_inbed = 0, bio_parent = 0x0, bio_t0 = {sec = 151220, frac = 9129407584079866780}, bio_task = 0, bio_task_arg = 0x0, bio_pblkno = 0} (kgdb) frame 27 #27 0xffffffff80297afb in g_io_request (bp=0xffffff0036a88948, cp=0xffffff0005c13900) at /local/building/freebsd/HEAD.commit/sys/geom/geom_io.c:356 356 KASSERT(bp->bio_offset % cp->provider->sectorsize == 0, (kgdb) p *(struct bio *)bp $3 = {bio_cmd = 1 '\001', bio_flags = 0 '\0', bio_cflags = 0 '\0', bio_pflags = 0 '\0', bio_dev = 0x0, bio_disk = 0x0, bio_offset = 671299584, bio_bcount = 0, bio_data = 0xffffff005d004000 "..."..., bio_error = 0, bio_resid = 0, bio_done = 0xffffffff8029c590 , bio_driver1 = 0x0, bio_driver2 = 0x0, bio_caller1 = 0x0, bio_caller2 = 0x0, bio_queue = {tqe_next = 0x0, tqe_prev = 0x0}, bio_attribute = 0x0, bio_from = 0x0, bio_to = 0x0, bio_length = 2048, bio_completed = 0, bio_children = 0, bio_inbed = 0, bio_parent = 0xffffff004ba34948, bio_t0 = {sec = 0, frac = 0}, bio_task = 0, bio_task_arg = 0x0, bio_pblkno = 0} (kgdb) p *(struct g_consumer *)cp $4 = {geom = 0xffffff0051df1c00, consumer = {le_next = 0x0, le_prev = 0xffffff0051df1c20}, provider = 0xffffff0016265c00, consumers = {le_next = 0xffffff005d82e580, le_prev = 0xffffff0016265c20}, acr = 1, acw = 0, ace = 1, spoiled = 0, stat = 0xffffff0001ec5b40, nstart = 12, nend = 12, private = 0x0, index = 0} (kgdb) p *(struct g_provider *)0xffffff0016265c00 $5 = {name = 0xffffff0016265c88 "acd0t01", provider = {le_next = 0xffffff0001ef8a00, le_prev = 0xffffff0001ef8b28}, geom = 0xffffff0001ef8b00, consumers = { lh_first = 0xffffff0005c13900}, acr = 1, acw = 0, ace = 1, error = 0, orphan = {tqe_next = 0x0, tqe_prev = 0x0}, mediasize = 0, sectorsize = 2352, stripesize = 0, stripeoffset = 0, stat = 0xffffff0001ec55a0, nstart = 35, nend = 35, flags = 0, private = 0x0, index = 1} Again, during the time of panic there were no more CDs in either acd0 or acd1. There had been some in a day before (no reboot in that timeframe). Greetings Bjoern -- Bjoern A. Zeeb Stop bit received. Insert coin for new game.