From owner-freebsd-current Thu Aug 16 13:40:14 2001 Delivered-To: freebsd-current@freebsd.org Received: from mail.wrs.com (unknown-1-11.windriver.com [147.11.1.11]) by hub.freebsd.org (Postfix) with ESMTP id E43D737B405 for ; Thu, 16 Aug 2001 13:40:02 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Received: from laptop.baldwin.cx (john@[147.11.46.201]) by mail.wrs.com (8.9.3/8.9.1) with ESMTP id NAA18790; Thu, 16 Aug 2001 13:39:29 -0700 (PDT) Message-ID: X-Mailer: XFMail 1.4.0 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <20010816163617.A52310@blackhelicopters.org> Date: Thu, 16 Aug 2001 13:39:33 -0700 (PDT) From: John Baldwin To: Michael Lucas Subject: Re: devfs and Vinum (was: any -current && vinum problems?) Cc: current@FreeBSD.org Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 16-Aug-01 Michael Lucas wrote: > [cc's trimmed] > > John, > > Thanks for the suggestion, I appreciate it. I did as you suggested > (diff below). > > It paniced again, but this time savecore said "dump time is unreasonable." > > The short panic message was: > > panicstr: bremfree: bp 0xcc2a1ae4 not locked > > Looks like the same thing to me, sorry. Any other suggestions? > > magpire/sys/kern;diff subr_witness.c subr_witness.c-dist > 392a393 >> mtx_lock(&all_mtx); > 395d395 > < mtx_lock(&all_mtx); > magpire/sys/kern;diff -c subr_witness.c subr_witness.c-dist > *** subr_witness.c Thu Aug 16 16:16:06 2001 > --- subr_witness.c-dist Thu Aug 16 16:15:20 2001 > *************** > *** 390,398 **** > mtx_unlock_spin(&w_mtx); > } > > lock_cur_cnt--; > STAILQ_REMOVE(&all_locks, lock, lock_object, lo_list); > - mtx_lock(&all_mtx); > lock->lo_flags &= ~LO_INITIALIZED; > mtx_unlock(&all_mtx); > } > --- 390,398 ---- > mtx_unlock_spin(&w_mtx); > } > > + mtx_lock(&all_mtx); > lock_cur_cnt--; > STAILQ_REMOVE(&all_locks, lock, lock_object, lo_list); > lock->lo_flags &= ~LO_INITIALIZED; > mtx_unlock(&all_mtx); > } > magpire/sys/kern; No, no. :) Move the mtx_lock of all_mtx _up_ above the earlier check against LO_INITALIZED. The one that does something liek this: if ((lock->lo_flags & LO_INITIALIZED) == 0) panic(); -- John Baldwin -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message