From owner-cvs-src Mon Mar 24 2:17:18 2003 Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B96E937B401; Mon, 24 Mar 2003 02:17:15 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2763543FAF; Mon, 24 Mar 2003 02:17:15 -0800 (PST) (envelope-from bde@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h2OAHE0U058290; Mon, 24 Mar 2003 02:17:14 -0800 (PST) (envelope-from bde@repoman.freebsd.org) Received: (from bde@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h2OAHEB5058289; Mon, 24 Mar 2003 02:17:14 -0800 (PST) Message-Id: <200303241017.h2OAHEB5058289@repoman.freebsd.org> From: Bruce Evans Date: Mon, 24 Mar 2003 02:17:14 -0800 (PST) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/i386 db_interface.c X-FreeBSD-CVS-Branch: HEAD X-Spam-Status: No, hits=0.0 required=5.0 tests=none version=2.50 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.50 (1.173-2003-02-20-exp) Sender: owner-cvs-src@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG bde 2003/03/24 02:17:14 PST FreeBSD src repository Modified files: sys/i386/i386 db_interface.c Log: Disable interrupts while in kdb_trap() to handle cases where the caller doesn't do it. This fixes all known causes of "Context switches not allowed in the debugger" in mi_switch(). The main cause was trap_fatal() calling kdb_trap() with interrupts enabled. Switching to ithreads for interrupt handling then made fatal traps more fatal and harder to debug. The problem was limited in -current because most interrupt handlers are blocked by Giant, but it occurred almost deterministically for me because my clock interrupt handlers are non-fast and not blocked by Giant. Revision Changes Path 1.71 +7 -0 src/sys/i386/i386/db_interface.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-src" in the body of the message