From owner-freebsd-current@FreeBSD.ORG Tue Aug 12 13:41:06 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ED74A37B401 for ; Tue, 12 Aug 2003 13:41:06 -0700 (PDT) Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id F007C43F93 for ; Tue, 12 Aug 2003 13:41:05 -0700 (PDT) (envelope-from phk@phk.freebsd.dk) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.12.9/8.12.9) with ESMTP id h7CKetCD001660; Tue, 12 Aug 2003 22:40:55 +0200 (CEST) (envelope-from phk@phk.freebsd.dk) To: Eivind Olsen From: "Poul-Henning Kamp" In-Reply-To: Your message of "Tue, 12 Aug 2003 22:29:54 +0200." <15259437.1060727394@[192.168.0.2]> Date: Tue, 12 Aug 2003 22:40:55 +0200 Message-ID: <1659.1060720855@critter.freebsd.dk> cc: freebsd-current@freebsd.org Subject: Re: Crash in g_dev_strategy / CURRENT as of yesterday. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 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: Tue, 12 Aug 2003 20:41:07 -0000 In message <15259437.1060727394@[192.168.0.2]>, Eivind Olsen writes: >--On 12. august 2003 20:39 +0100 Peter Edwards > wrote: >>> # 10 0xc04f3c65 in trap (frame= >>> {tf_fs = -1059913704, tf_es = -890109936, tf_ds = -1070268400, >>> tf_edi >>> = -1040540480, tf_esi = -978597456, tf_ebp = -890095148, tf_isp = >>> -890095220, tf_ebx = 0, tf_edx = 0, tf_ecx = 0, tf_eax = 16343040, >>> tf_trapno = 12, tf_err = 2, tf_eip = -1070560519, tf_cs = 8, tf_eflags >>> = >>> 66054, tf_esp = -978597456, tf_ss = -1067143852}) at >>> /usr/src/sys/i386/i386/trap.c:420 >> Look at tf_eip: -1070560519 = 0xc0308af9 >> What does "list *0xc0308af9" show in gdb? > >(kgdb) list *0xc0308af9 >0xc0308af9 is in g_dev_strategy (/usr/src/sys/geom/geom_dev.c:401). >396 KASSERT(cp->acr || cp->acw, >397 ("Consumer with zero access count in g_dev_strategy")); >398 >399 bp2 = g_clone_bio(bp); >400 KASSERT(bp2 != NULL, ("XXX: ENOMEM in a bad place")); >401 bp2->bio_offset = (off_t)bp->bio_blkno << DEV_BSHIFT; >402 KASSERT(bp2->bio_offset >= 0, >403 ("Negative bio_offset (%jd) on bio %p", >404 (intmax_t)bp2->bio_offset, bp)); >405 bp2->bio_length = (off_t)bp->bio_bcount; >(kgdb) Ohh, damn, I still have that stuff uncommitted. Will fix! -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.